Página 1 de 1
sair de loop com ESC
Enviado: 15 Jan 2014 15:03
por LUCAS MACHADO
Alguém saberia como substituir a saida de um loop (DO / ENDDO) no xHarbour?
Uso no Clipper o famoso
DO WHILE .T.
IF INKEY() = 27
EXIT
ENDIF
ENDDO
Desde já obrigado.
sair de loop com ESC
Enviado: 15 Jan 2014 16:49
por alxsts
Olá!
Este código mostrado por você funciona perfeitamente em xHarbour.
Se quiser melhorar, pode usar assim:
Código: Selecionar todos
#include "inkey.ch"
Proc Main()
cls
DO WHILE INKEY() != K_ESC
? Time()
ENDDO
sair de loop com ESC
Enviado: 15 Jan 2014 20:00
por ANDRIL
Código: Selecionar todos
DO WHILE .T.
inkey(0.01)
IF INKEY() = 27
EXIT
ENDIF
ENDDO
Ate+
sair de loop com ESC
Enviado: 16 Jan 2014 19:40
por JoséQuintas
Usar somente Inkey() pode falhar se houver mais de um loop.
Aqui uso igual no Clipper.
Código: Selecionar todos
nKey := 0
DO WHILE nKey != K_ESC .AND. .NOT. Eof()
nKey := Inkey()
DO WHILE nKey != K_ESC .AND. .NOT. Eof()
nKey := Inkey()
SKIP
ENDDO
ENDDO
Obs. estranhei a rotina anterior.
sair de loop com ESC
Enviado: 17 Jan 2014 06:57
por ANDRIL
JoséQuintas escreveu:Obs. estranhei a rotina anterior.
José, se for a minha rotina realmente postei errado. O correto é com uso de
LASTKEY() e não INKEY()
Código: Selecionar todos
DO WHILE .T.
inkey(0.01)
IF LASTKEY() = 27
EXIT
ENDIF
ENDDO
Uso sem armazenagem em variável e funciona normal.
Ate+