Pesquisa Incremental - AJUDA

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Pesquisa Incremental - AJUDA

Mensagem por negrao »

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
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

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() }
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.
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.
Responder