FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ejecutar programa a una hora determinada
Buenas,
En una tabla tengo guardadas 4 hores, pongamos, por ejemplo, las 9:30, las 12:11, las 15: 44 y las 18:08. Quiero que a estas horas se ejecute algo. A mi se me ocurre crear un programa con un timer y cuando sea la hora lance el proceso. Mi temor es que si el timer va a consumir muchos recursos, pues a cada minuto tengo que comprobar si es la hora, no? Es la única manera de hacerlo? Gracias |
#2
|
||||
|
||||
Básicamente sí, aunque la implementación puede variar, me explico:
- guarda en la BBDD con formato de fecha y hora (es más fácil comparar, ver diferencias de horas, etc). - Pide el SQL ordenado por fecha - Con MillisecondsBetween (unidad DateUtils), sacas la diferencia entre la fecha de la BBDD y ahora mismo (función Now()). El resultado se lo asignas al Timer.Interval. Como el Interval es un Cardinal (creo recordar), puedes programar el Timer para que salte dentro de 49 días como máximo (en sistemas 24 horas x 7 días funcionando). Cuando llegue el evento timer, haces lo que tengas que hacer y vuelves a pedir el SQL ordenado por fechas, coges la primera fecha y repites el proceso. De esta forma, no tienes que consultar 1440 veces al día (cada minuto del día) si ya es la hora de hacer algo. Lo haces una sola vez al día o cuando corresponda. Saludos!
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
Buen apunte Lepe, me gusta. Voy a implementarlo. Muchas gracias
|
#4
|
||||
|
||||
Otra manera sería utilizando el programador de tareas dewindows.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#5
|
|||
|
|||
Programador de tareas? la hora es variable, está grabada en un campo de base de datos. Cómo tendría que hacerlo? Puedo crear la tarea desde Delphi, y modificar la hora si interesa?
Gracias |
#6
|
||||
|
||||
en windows tienes la posibilidad de atacar las tareas programadas mediante consola con
Código:
schtasks es otra idea más
__________________
online |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ejecutar Procesos en una Hora Determinada | webmasterplc | OOP | 1 | 17-06-2014 07:56:23 |
Problema a la hora de ejecutar un .exe desde mi programa!!! | Peterman | API de Windows | 4 | 23-05-2007 17:08:21 |
Como elegir una hora determinada | nikotina | Varios | 1 | 11-01-2007 14:49:20 |
ejecutar eventos a una hora determinada | davidbcn32 | Varios | 5 | 12-11-2004 16:33:55 |
Ejecutar un programa externo desde un programa de Delphi | Roger_Fernandez | Varios | 3 | 02-09-2004 19:05:36 |
|