FoxPro/Visual FoxPro - Tecla presionada y borrar bufer

 
Vista:

Tecla presionada y borrar bufer

Publicado por Sergio (89 intervenciones) el 29/08/2005 16:15:38
Hola foxeros, mi pregunta es la siguiente, ¿cómo puedo saber en un bucle (do while) si se ha presionado la tecla de "escape" de forma que no me falle (tanto por API o por cualquier otro método) y que luego pueda borrar el buffer de teclado para que éste "escape" no pueda ocasionarme problemas?

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tecla presionada y borrar bufer

Publicado por Roman Suazo (2723 intervenciones) el 29/08/2005 19:08:58
Prueba con LASTKEY( ) y KEYBOARD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tecla presionada y borrar bufer

Publicado por Sergio (89 intervenciones) el 30/08/2005 18:17:59
Gracias Roman pero no funcionó. Si le pongo en el bucle:

do while .t.
...
If lastkey()=27
return
endif
...
enddo

No se sale del bucle cuando le presiono la tecla de escape e incluso teniendo el "SET ESCAPE OFF", me interrumpe la ejecucion de los procedimientos que vienen después de este bucle.

¿Alguna otra solución?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tecla presionada y borrar bufer

Publicado por JUAN (134 intervenciones) el 30/08/2005 19:06:00
HOLA, PRUEBA EN EL METODO KEYBOARD
IF NKEYCOD=27
* MENSAJE O LO QUE QUIERAS Q HAGA
ENDIF

O UN SET ESCAPE OFF AL INICIO DEL PROGRAMA
SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tecla presionada y borrar bufer

Publicado por Roman Suazo (2723 intervenciones) el 30/08/2005 19:45:05
Creo que con esto te funcionara:

SET ESCAPE OFF

DO WHILE INKEY()<>27

*Codigo

ENDDO

MESSAGEBOX("Salimos gracias al escape",32,"programa")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar