Búsqueda incremental en xHarbour
Posted: Wed Oct 25, 2006 7:36 pm
En Clipper+Fivewin el siguiente código funciona correctamente, es decir cada vez que se introduce una letra en el GET el Listbox se mueve hasta el registro que contiene esas letras, sin embargo con FWH el Listbox no se mueve conforme se van introduciendo letras, solamente cuando se pulsa la tecla retroceso después de introdocir una cadena. Por favor, pueden echarle un vistazo al código ?, tal vez sea necesaria alguna optimización para xHarbour pero no encuentro que puede ser:
Code: Select all
REDEFINE GET oGet VAR cText ID 801 PICTURE "@!" OF oDlg;
ON CHANGE ( Self:Assign(),;
Locator(""+SubStr(cText,1,Self:nPos-1)+Upper(Chr( nKey )),oLbx,cUsaBase) )
*********#######*****************
FUNCTION LOCATOR(cKey,oB,cUsaBase)
*********#######*****************
// oB = TWBrowse Object, cKey = Contenido del Get
local nSeekrec
//
nSeekrec:=(cUsaBase)->(Recno())
IF GetASyncKey( VK_BACK )
cKey := SubStr(cKey,1,Len(cKey)-1)
EndIF
(cUsaBase)->(DbSeek(cKey,.T.))
If !Found()
GO nSeekrec
EndIF
//
oB:Refresh()
//
RETURN( NIL )
//