Clipper/FiveWin - Rutina con tiempo de espera en GET

 
Vista:

Rutina con tiempo de espera en GET

Publicado por Sergio Moraga (1 intervención) el 23/05/2001 21:42:57
Necesito una rutina que me permita salir automaticamente cuando un usuario (Nerd) deja el pc cuando se le esta pidiendo que introduzca un dato ... Gracias...
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:Rutina con tiempo de espera en GET

Publicado por skaigualker (210 intervenciones) el 24/05/2001 09:05:44
Nunca lo he hecho, pero tendras que cambiar tus instrucciones @..,.. say "...." get var1 picture..." por objetos de la clase Get, lo cual complica bastante la programacion.

Tendras que familiarizarte con la programacion orientada a objetos, y manipulando la variable de instancia "exitstate", podras controlar el tiempo que el usuario esta en cada control.

Te repito que nunca lo he hecho y por tanto no te puedo enviar un ejemplo, pero con clipper viene el fichero "GETSYS.PRG" y ahi puedes ver como programar utilizando la clase get.

Centrate y estudia como manipula el bucle de peticion de datos, (getapplykey()). Sobre el ejemplo tendras que cambiar el inkey(0) por inkey(1), para que el programa no se detenga esperando la pulsacion del teclado del usuario. Deberias ir controlando el tiempo que transcurre entre cada pulsacion. Si transcurre mas tiempo del que tu permites anulas la ejecucion del programa.

Como ves los cambios que tendras que hacer en el programa son bastante complicados y mas aun si no dominas la programacion orientada a objetos.-

Saludos.-

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:Rutina con tiempo de espera en GET

Publicado por Marta Arandaro (14 intervenciones) el 28/05/2001 23:56:11
Hola Sergio. Yo utilizo el procedimento que sigue para salir de un GET si a los 5 segundo no se ha pulsado una tecla. Aunque esto está en Clipper puro. En fivewin no se si esto funcionará:

@ 10, 15 GET cNombre READ TIMEOUT AT 5


**********************************
proc TimedReader( get, nTimeOut )
**********************************

LOCAL nKey

// leer el GET si se satisface la condición WHEN
IF ( GetPreValidate(get) )
// activar el GET para lectura
get:SetFocus()

DO WHILE ( get:exitState == GE_NOEXIT )
// comprobar posición inicial (posiciones no editables)
IF ( get:typeOut )
get:exitState := GE_ENTER
ENDIF

// aplicar pulsaciones de teclas hasta finalizar
DO WHILE ( get:exitState == GE_NOEXIT )
IF (nKey := InKey(nTimeOut)) != 0
GetApplyKey(get, nKey)
ELSE
get:exitState := GE_ESCAPE
ENDIF
ENDDO

// no salir si no se satisface la condición VALID
IF ( !GetPostValidate(get) )
get:exitState := GE_NOEXIT
ENDIF
ENDDO

// desactivar el GET
get:KillFocus()
ENDIF

RETURN

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