Para Sygecom...
Abaixo postei um codigo simples de pesquisa de impressoras que
quanto o OPERADOR comeca a digitar o sistema vai se posicionando
no nome da impressora, espero que seja suficiente para demonstracao.
Espero que consiga transferir para Tbrowse.
Agradeco desde ja a sua colaboracao,
Obrigado...
ALBERTO DIAS
***********************************************
* Funcao para pesquisar as impressoras com a tecla F2
Código: Selecionar todos
FUNCTION Pesimp
PRIVATE telant,corant,poscur,letpes
SETTEC(-1,"")
SAVE SCREEN TO telant
corant = SETCOLOR()
poscur = 179
letpes = ""
Linsta(" Marcas/Modelos de Impressoras ")
Linmen("Digite as iniciais ou use as setas para escolher...")
Lin24("["+CHR(25)+" "+CHR(24)+"]-Visualiza ² [Enter]-Escolhe ² [<ÄÄ]-Apaga ² [Esc]-Cancela Pesquisa")
DECLARE CAMPO[1],NOME[1]
SELECT dim
GO TOP
CAMPO[1] = "' '+nomimp+' '+CHR(poscur)+IF(modimp='M',' MATRICIAL ',' JATO DE TINTA')+' '"
NOME[1] = " MARCA/MODELO DA IMPRESSORA ³ TIPO IMPRESSÇO"
Boxsom(04,29,21,78,"U",Somenu,"IE")
SETCOLOR(comenu)
* ALTERADO PARA 32 BITS XHARBOUR POR INCOMPATIBILIDADE DO CLIPPER 5.3B
* DBEDIT(05,30,20,77,CAMPO,"UDFPESIMP",.T.,NOME,"Ä")
DBEDIT(05,30,20,77,CAMPO,"UDFPESIMP",,NOME,"Ä",,,)
SETTEC(-1,"Pesimp")
SETCOLOR(corant)
RESTORE SCREEN FROM telant
RETURN(.T.)
FUNCTION Udfpesimp
PARAMETERS MODE,CAMPO
@ 04,62 SAY "Â"
@ 06,62 SAY "Å"
@ 06,78 SAY "´"
@ 07,62 TO 20,62
@ 21,62 SAY "Á"
@ 06,29 SAY "Ã"
DO CASE
CASE MODE = 0 && No meio do arquivo
poscur = 18
CASE MODE = 1 && Inicio do arquivo
poscur = 25
Beep(4)
CASE MODE = 2 && Final do arquivo
poscur = 24
Beep(4)
CASE MODE = 4
DO CASE
CASE LASTKEY() = 27 && Foi teclado [Esc]
flgimp = .F.
RETURN(0)
CASE LASTKEY() = 13 && Foi teclado [Enter]
flgimp = .T.
KEYBOARD CHR(13)
RETURN(0)
CASE LASTKEY() = 8 && Foi teclado [<--]
ccd = LEN(ALLTRIM(letpes)) - 1
letpes = SUBSTR(letpes,1,ccd)
SETCOLOR(corpes)
@ 04,31 SAY SPACE(30)
@ 04,31 SAY letpes PICT "@!"
SETCOLOR(comenu)
SET SOFTSEEK ON
SEEK UPPER(letpes)
SET SOFTSEEK OFF
OTHERWISE
letpes = letpes+CHR(LASTKEY())
SETCOLOR(corpes)
IF LEN(letpes) = 1
@ 04,31 SAY SPACE(30)
ENDIF
@ 04,31 SAY letpes PICT "@!"
SETCOLOR(comenu)
SET SOFTSEEK ON
SEEK UPPER(letpes)
SET SOFTSEEK OFF
ENDCASE
ENDCASE
RETURN(1)