do while .t.
cBanda := ""
do while .t.
tk := inkey(0) <-- Como substituir com o FWH?
if tk == 27 .or. tk == 58 .or. tk == 128 .or. tk == 135
exit
elseif chr(tk) $ "0123456789"
cBanda += chr(tk)
endif
enddo
do while inkey(0.1) != 0; enddo <-- Como substituir com o FWH?
if tk == 27
return
endif
if len(cBanda) == 30
keyb cBanda
return
endif
enddo
Meus sinceros agradecimentos a quem puder ajudar!
Como fazer isso com FIVEWIN?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
La función Inkey() no se usa en Windows ni en FWH. Inkey() tiene sentido en MsDos en donde la ejecución es modal, pero no tiene sentido en Windows, en donde la aplicación nunca se puede "detener", ó bloquearía todo Windows.
El objeto que tenga el foco recibirá los eventos de teclado y puedes analizarlos usando <oControl>:bKeyDown ó <oControl>:bKeyChar. Si no tienes controles definidos, pues usarías <oDialog> ó <oWindow> en vez de <oControl>
El objeto que tenga el foco recibirá los eventos de teclado y puedes analizarlos usando <oControl>:bKeyDown ó <oControl>:bKeyChar. Si no tienes controles definidos, pues usarías <oDialog> ó <oWindow> en vez de <oControl>
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Gracias Antonio, o que desejo fazer é capturar a leitura de um leitor de cheques, conectado a PS2.
Ou seja uma dialog que fica esperando passar o cheque no leitor, e quando isso acontecer deve fechar a dialog. Bom resolvi temporariamente colocando um get na dialog, porém, não é o que eu queria pois não quero deixar a pessoa ter acesso a digitar.
como fiz:
cBanda := ""
DEFINE DIALOG oMFW RESOURCE "LEITURADECHEQUES" TITLE "Cheques pela Banda ICON OICO FONT ownd:ofont
REDEFINE GET oLeget var nVarLe id 4004 of oMFW VALID !EMPTY(nVarLe) .and. (lLido:=.t.,oMFW:end(),.t.)
REDEFINE BUTTONBMP ID 4002 OF oMFW BITMAP "EXIT4" TEXTLEFT ACTION(oMFW:end()) default
oMFW:lHelpicon:=.F.
ACTIVATE DIALOG oMFW centered
gracias Antonio
Ou seja uma dialog que fica esperando passar o cheque no leitor, e quando isso acontecer deve fechar a dialog. Bom resolvi temporariamente colocando um get na dialog, porém, não é o que eu queria pois não quero deixar a pessoa ter acesso a digitar.
como fiz:
cBanda := ""
DEFINE DIALOG oMFW RESOURCE "LEITURADECHEQUES" TITLE "Cheques pela Banda ICON OICO FONT ownd:ofont
REDEFINE GET oLeget var nVarLe id 4004 of oMFW VALID !EMPTY(nVarLe) .and. (lLido:=.t.,oMFW:end(),.t.)
REDEFINE BUTTONBMP ID 4002 OF oMFW BITMAP "EXIT4" TEXTLEFT ACTION(oMFW:end()) default
oMFW:lHelpicon:=.F.
ACTIVATE DIALOG oMFW centered
gracias Antonio