Page 1 of 1

Como setear timer cada 30-60 minutos o mas

Posted: Sat Aug 11, 2007 2:44 pm
by Databaselab2002
Estimados Colegas


Como puedo setear un timer cada 30 - 60 minutos o mas

Desde ya muchas gracias
Fabian

databaselab2002@yahoo.com.ar

Posted: Sat Aug 11, 2007 4:22 pm
by R.F.
Jeje:

Esa pregunta se la han hecho muchos, y como todo en FiveWin, parece una tontería pero realmente es una estupidez (frase célebre de Paco García).

Un timer "estandar" de Windows no soporta intervalos de tiempo de mas de 1 minuto, ¿ que haces entonces ?, muy facil, en vez de que el ACTION del timer realice una función conviertes el timer en un RELOJ.

¿ Como ?, ¿ te haz perdido del todo ?, bien aqui te va:

DEFINE TIMER oTimer INTERVAL 60000 ACTION SumaMinuto() OF oWnd

Code: Select all

Function SumaMinuto()
STATIC nMinuto := 0
nMinuto ++ // contador de minutos
IF nMinuto > 30 // ha pasado media hora
   PongaAquiLaFuncionDelTimer()
   nMinuto := 0
ENDIF
RETURN
Asi de facil, en vez de que el ACTION del timer ejecute una acción, convertimos el timer en RELOJ y cada minuto vamos incrementado un contador interno basado en una variable STATIC que nunca pierde su valor dentro de la funcion, una vez cumplido el intervalo de tiempo necesario, entonces ejecutamos la accion que antes estaba definida en el timer.