dBfast - reloj dinamico

 
Vista:
sin imagen de perfil

reloj dinamico

Publicado por astergio (4 intervenciones) el 27/04/2007 22:23:19
Hola, necesito una ayudita... he hecho un progrma apara el control de entradas y salidas del personal de una empresa, en una ventana muestro el time() del sistema con la funcion time(6) pero queda estatica y no se ve el avance del reloj hasta que pulso clic en cualquier lado, deseo que el reloj avance en tiempo real... como podre hacer esto???

gracias

astergio desde colombia
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
sin imagen de perfil

RE:reloj dinamico

Publicado por Marcelo SP (22 intervenciones) el 28/04/2007 13:43:28
Hola astergio
Seguramente estaras usando un codigo similar a este con el comando time() antes o despues de read save modal

do while .t.
read save modal
.....
.....
enddo

el comando read save modal hace que el programa espere alguna accion de parte del operador para continuar, por eso es que no actualiza el time hasta tanto on hagas algo y reinicie el loop do while. Lo que debes hacer es usar el comando "algo"=chkevent() como po ejemplo

do while .t.
@ 2,1 say time(6)
accion=chkevent()
if accion=XXX
.......
endif
.......
......
enddo

en este ejemplo el programa continua dando vueltas en el loop do while sin detenerse como en el anterior, y tu solo tienes que evaluar la variable, en este caso accion para saber que ha hecho el operador, consulta en la ayuda sobre chkevent().
Ten cuidado que fuentes usas para imprimir el time pues te puedes quedar sin memoria. Si usas un get y actualizas no tendras ese problema y queda muy prolijo, pues sino tendrias que limpiar la zona de pantalla donde lo imprimes para no quedarte sin memoria y verras un parpadeo no muy agradable

espero te sirva
Marcelo S.P.
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:reloj dinamico

Publicado por Ramon (133 intervenciones) el 29/04/2007 18:39:20
Hola,

Siguiendo la estela de mi amigo Marcelo, te dire que para que no te quedes sin memoria deberas utilizar el comando @ 0,0 CLEAR TO 0,0 para redibujar el reloj con la función time().

Te recomiendo que cada vez que cambies el minutero utilices el comando CLEAR TO de esta forma nunca tendras problemas con la memoria.

Un Saludo
Ramon.
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
sin imagen de perfil

RE:reloj dinamico

Publicado por Marcelo SP (22 intervenciones) el 03/05/2007 22:36:09
Si. Es asi como dice Ramon pero el borrado de pantalla previo a la reimpresion hace un parpadeo que personalmente no me gusta. Por eso recurri al @ x,x get variable y luego cambio la variable por el nuevo time y hago un update gets y el parpadeo no existe.

Cualquiera de las dos funciona
Suerte
Marcelo
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:reloj dinamico

Publicado por Ramon (133 intervenciones) el 04/05/2007 06:44:47
Yo en el reloj que tengo del programa HoraSoft es de la siguiente forma:

@ 1,27 CLEAR to 9,65
nSaveSay = SAYVIDEO()
SET SAY VIDEO TO 121
@ 1,27 SAY "&Viewtimer." FONT 15
SET SAY VIDEO TO nSaveSay

Lo podeis ver descargando el programa desde mi página y ejecutando el reloj que se adjunta.

Un Saludo a todos.
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