Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ejecutar en funccion de la hora (https://www.clubdelphi.com/foros/showthread.php?t=42611)

NSL94 18-04-2007 11:43:18

ejecutar en funccion de la hora
 
buenos dias
me han encargado una herramienta que anteriormente ejecutaba un funccion cada hora con un timer, y ahora deberia ejecutarse en una hora predefinida.
Pero si no me equivoco el timer solo me permite ejecutar una funccion por intervalos...
Hay alguien se le ocurre como podria hacerlo? :confused:
Una cosa que se me ocurrio era gracias al timer hacer una comprobacion cada min por ejemplo y que comparace con la hora del sistema y si esta hora fuera dentro de un rango x pues que se ejecute, pero tampoco se como recuperar ni comparar la hora del sistema en delphi.
xD espero no les paresca muy absurada la pregunta pero me estoy iniciando en esto. :D
1 saludo
NSL.

dec 18-04-2007 12:07:32

Hola,

Puedes recuperar la fecha del sistema en la variable global "Date", por ejemplo. La hora la tienes en la variable "Time". La fecha y la hora en la variable "Now". Puedes comparar fechas y horas con ayuda de funciones que encontrarás en la unidad "DateUtils", y comprobar, simplemente, si una fecha u hora es menor o mayor que otra dada.

En principio puedes usar un "TTimer" para ir comprobando (acaso cada segundo) las diferentes fechas y horas, y, cuando llegue el momento ejecutar la acción que te sea menester.

Ivanzinho 18-04-2007 12:25:01

Yo tengo un servicio que realiza copias a unas horas determinadas. Lo que hago es al iniciar el servicio leo la primera hora de copias mayor que la hora actual y configuro el interval de un timer para que se ejecute a la hora que me interesa, una vez ejecutado el timer, reconfiguro el interval para que se ejecute de nuevo a la siguiente hora, y así no tengo que estar comprobando continuamente la hora que es.

Un saúdo

NSL94 18-04-2007 12:30:55

:D gracias por las variables he coneguido sacar la hora asi que con eso supongo que si compruebo por segundos como tu dices sere capaz de ejecutar las copias en una hora determinada.

Gracias por la segunda aclaracion, pero solo me hace falta una pasada diaria.
y perdonad por duplicar el tema, eske no sabia bien bien dnd ponerlo -_-¡
Peaaace!!! :)


La franja horaria es GMT +2. Ahora son las 05:11:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi