Antonio
Con mis buenos deseos para ti y para la gente del foro
Antonio Por favor como hago una busqueda incremental dese un listbox?
De antemano Gracias
Cordialmente
Jairo Barbosa
Busqueda incremental
jejejejejej
Que pena la demora.... pero aqui esta el codigo de una de las formas como lo hago yo...
Code: Select all
DEFINE DIALOG oDem11 RESOURCE "oDemu11" OF oWinp
REDEFINE BTNBMP oBsali ID 73 OF oDem11 FILENAME (oLamcla:iSali) NOBORDER ACTION oDem11:end()
REDEFINE GET oT1og1 VAR oT1vg1 ID 115 OF oDem11 ON CHANGE ( ::Assign(),;
IF(tCon->(DbSeek(AnsiToOem(Upper(SubStr(oT1vg1,1,::nPos-1))+;
Upper(Chr(nKey))))),(oT1oli:UpStable(),oT1oli:Refresh(),.t.),((""),.f.)))
SELE tConc
REDEFINE LISTBOX oT1oli VAR oT1vli;
FIELDS tConc->ACformat,tConc->ACconcep,tConc->ACnombre;
FIELDSIZES 50,50,150;
ID 110 OF oDem11;
HEADERS "Formato","Concepto","Nombre";
ON CHANGE pRefCon();
ON LEFT DBLCLICK (Grabar:="ModCon",pModCon())
oT1oli:nclrpane:=oLamcla:cComb
oT1oli:bKeyDown:={|nKey|iif(nKey==13,(Grabar:="ModCon",pModCon()),(" "))}
oDem11:cTitle := "Catálogo Conceptos"
ACTIVATE DIALOG oDem11
Saludos
LEANDRO ALFONSO
Bogotá (Colombia)
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Re: jejejejejej
/**************************************************leandro wrote:
Que pena la demora.... pero aqui esta el codigo de una de las formas como lo hago yo...
Mas tarde público la otra manera de hacerloCode: Select all
DEFINE DIALOG oDem11 RESOURCE "oDemu11" OF oWinp REDEFINE BTNBMP oBsali ID 73 OF oDem11 FILENAME (oLamcla:iSali) NOBORDER ACTION oDem11:end() REDEFINE GET oT1og1 VAR oT1vg1 ID 115 OF oDem11 ON CHANGE ( ::Assign(),; IF(tCon->(DbSeek(AnsiToOem(Upper(SubStr(oT1vg1,1,::nPos-1))+; Upper(Chr(nKey))))),(oT1oli:UpStable(),oT1oli:Refresh(),.t.),((""),.f.))) SELE tConc REDEFINE LISTBOX oT1oli VAR oT1vli; FIELDS tConc->ACformat,tConc->ACconcep,tConc->ACnombre; FIELDSIZES 50,50,150; ID 110 OF oDem11; HEADERS "Formato","Concepto","Nombre"; ON CHANGE pRefCon(); ON LEFT DBLCLICK (Grabar:="ModCon",pModCon()) oT1oli:nclrpane:=oLamcla:cComb oT1oli:bKeyDown:={|nKey|iif(nKey==13,(Grabar:="ModCon",pModCon()),(" "))} oDem11:cTitle := "Catálogo Conceptos" ACTIVATE DIALOG oDem11
Saludos
LEANDRO ALFONSO
Bogotá (Colombia)
Leandro
Muy agradecido por tu respueta la estare probando, y pena me da a mi quitarte tiempo cuando se que tienes poco.
Cordialmente
Jairo Barbosa
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Aqui tienes un ejemplo:
Code: Select all
#include "FiveWin.ch"
REQUEST DBFCDX
//----------------------------------------------------------------------------//
function Main()
local oWnd, oBrw, hBmp := ReadBitmap( CurDir() + "\go.bmp" )
local oSay, cSearch := ""
USE ( CurDir() + "\Customer" ) VIA "DBFCDX"
if ! File( CurDir() + "\LAST.CDX" )
INDEX ON Customer->Last TO ( CurDir() + "\LAST" )
endif
Customer->( OrdSetFocus( "LAST" ) )
Customer->( DbGoTop() )
DEFINE WINDOW oWnd TITLE "IncSearch"
@ 1, 1 LISTBOX oBrw ;
FIELDS hBmp, Customer->Last, Customer->First ;
HEADERS "", "Last", "First" ;
SIZE 220, 167
oBrw:bKeyChar = { | nKey, nFlags | Search( nKey, @cSearch ), oBrw:Refresh(),;
oSay:Refresh() }
@ 14, 2 SAY "Searching:" SIZE 60, 30
@ 14, 12 SAY oSay PROMPT cSearch SIZE 80, 30
ACTIVATE WINDOW oWnd ;
ON CLICK MsgInfo( "Click!" )
return nil
//----------------------------------------------------------------------------//
function Search( nKey, cSearch )
if nKey = 8
cSearch = SubStr( cSearch, 1, Len( cSearch ) - 1 )
else
cSearch += Upper( Chr( nKey ) )
endif
Customer->( DbSeek( cSearch, .t. ) )
return nil
//----------------------------------------------------------------------------//
Antonio Linares wrote:Aqui tienes un ejemplo:Code: Select all
#include "FiveWin.ch" REQUEST DBFCDX //----------------------------------------------------------------------------// function Main() local oWnd, oBrw, hBmp := ReadBitmap( CurDir() + "\go.bmp" ) local oSay, cSearch := "" USE ( CurDir() + "\Customer" ) VIA "DBFCDX" if ! File( CurDir() + "\LAST.CDX" ) INDEX ON Customer->Last TO ( CurDir() + "\LAST" ) endif Customer->( OrdSetFocus( "LAST" ) ) Customer->( DbGoTop() ) DEFINE WINDOW oWnd TITLE "IncSearch" @ 1, 1 LISTBOX oBrw ; FIELDS hBmp, Customer->Last, Customer->First ; HEADERS "", "Last", "First" ; SIZE 220, 167 oBrw:bKeyChar = { | nKey, nFlags | Search( nKey, @cSearch ), oBrw:Refresh(),; oSay:Refresh() } @ 14, 2 SAY "Searching:" SIZE 60, 30 @ 14, 12 SAY oSay PROMPT cSearch SIZE 80, 30 ACTIVATE WINDOW oWnd ; ON CLICK MsgInfo( "Click!" ) return nil //----------------------------------------------------------------------------// function Search( nKey, cSearch ) if nKey = 8 cSearch = SubStr( cSearch, 1, Len( cSearch ) - 1 ) else cSearch += Upper( Chr( nKey ) ) endif Customer->( DbSeek( cSearch, .t. ) ) return nil //----------------------------------------------------------------------------//
Antonio
Expreso mi agradecimiento a ti y a Leandro por su colaboracion
Funciona Ok
Cordialmente
Jairo Barbosa