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.