FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como setear timer cada 30-60 minutos o mas
Posts: 142
Joined: Sun Oct 09, 2005 01:36 AM
Como setear timer cada 30-60 minutos o mas
Posted: Sat Aug 11, 2007 02:44 PM

Estimados Colegas

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

Desde ya muchas gracias
Fabian

databaselab2002@yahoo.com.ar

Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Como setear timer cada 30-60 minutos o mas
Posted: Sat Aug 11, 2007 04:22 PM
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
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.
Saludos

R.F.

Continue the discussion