Pessoal , é o seguinte.
Estou querendo montar uma pesquisa que conforme vai digitando vai fazendo a busca. No clipper tradicional faco isso tranquilo, mas no FIVEWIN encontrei dificuldade.
Abaixo esta um modelo de como estou montando a pesquisa, o que nao estou entendendo é pq minha pesquisa so comeca a fazer a Busca apartir da 2º letra.
O que estou fazendo de errado....OBRIGADO POR QUALQUER AJUDA
OBS..: Estou aprendendo, portanto nao manjo muito
#include "FiveWin.ch"
#include "INKEY.ch"
/************************************/
FUNCTION TESTE()
LOCAL ODLG , OLBX , CBUSCA , OGET
DEFAULT cBusca := space(50)
REQUEST DBFCDX
RddSetDefault("DBFCDX")
SELECT("MOE")
MOE->(DBSETORDER(2)) //=> ordem de nome
MOE->(DBGOTOP())
DEFINE DIALOG oDlg TITLE "Buscar" FROM 01,01 TO 30,50
@ 00,01 SAY "Nome:" OF oDlg
@ 01,01 GET oGet VAR cBusca PICTURE "@!" OF oDlg ;
ON CHANGE( oLbx:Refresh(), Buscar( nKey, oGet ) )
@ 02,01 LISTBOX oLbx FIELDS moe->NOME HEADERS "Nome" SIZE 180,180 OF oDlg
ACTIVATE DIALOG oDlg
RETURN
/************************************/
FUNCTION BUSCAR(NKEY,OGET)
local cFras
IF (NKEY >= 032 .OR. NKEY <= 126)
CFRAS := UPPER(ALLTRIM(OGET:CTITLE))
SEEK CFRAS
ELSEIF NKEY == 08
CFRAS := SUBSTR( CFRAS, 01, LEN(CFRAS)-1)
SEEK CFRAS
ENDIF
RETURN NIL
Pesquisa Incremental - AJUDA
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Eu uso este método em minhas BROWSEs
O controle SAY pode ficar escondindo ou ser apresentado em algum local de sua tela aceitando inclusive quando se deleta alguma letra buscar o restante.
Eu uso este método em minhas BROWSEs
Código: Selecionar todos
@ -1, -1 SAY oPsqSay VAR oLbxP1:cBuffer OF oChildWnd
@ 0,0 LISTBOX oLbxP1 FIELDS "" HEADERS "" ...
...
// -> Para o suporte do controle PsqSay da linha 150
oLbxP1:bSeek := {|| oLbxP1:DBFSeek(.t.) }
oLbxP1:bUpdateBuffer := {|| oPsqSay:Refresh(), oLbxP1:SetFocus() }
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
