Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ejecutar eventos a una hora determinada (https://www.clubdelphi.com/foros/showthread.php?t=15994)

davidbcn32 11-11-2004 17:28:44

ejecutar eventos a una hora determinada
 
Necesito poder reproducir un wav en un MediaPlayer a las horas en punto y a las medias. Tambien necesitaria saber como hago para ejecutar una aplicacion externa un dia y una hora que seleccione el usuario. El formato de tiempo tiene que ser hh:mm:ss.

Gracias

roman 11-11-2004 17:37:51

Usa un Timer que se active, digamos, cada 5 minutos (propiedad Interval). Cada vez que se ejecute su evento OnTimer consultas la hora (función Now) y si es hora en punto o media ejecutas el WAV.

Para lo de la aplicación te puedes valer del mismo Timer ejecutando la aplicación con WinExec. Si lo que deseas es una especie de programador de tareas quizá te sirva el hilo Agenda, Recordatorio, Citas, Tareas.

// Saludos

davidbcn32 11-11-2004 18:02:15

no acabe de verlo
 
No acabo de ver como puedo expresar eso en la aplicacion, tambien tengo un Label que muestra la hora real. No seria mas sencillo decirle al programa que cuando el label muestre la hora, minutos y segundos indicados ejecute la accion?

Es que soy bastante novatillo y no se como escribirlo.

Gracias

roman 11-11-2004 18:09:06

Un TLabel es un elemento visual y no se recomienda que la aplicación dependa de los elementos visuales que uses. Además, de algún lugar estás tomando la hora para presentarla en el TLabel ¿no? Del mismo lugar de donde la obtengas puedes tomarla para verificar si estás en hora en punto o media hora de manera que no veo por qué ha de ser más sencillo.

// Saludos

davidbcn32 11-11-2004 19:57:49

sigo igual
 
como escribo que cada 5 minutos compruebe la hora y que a las en punto y media ejectute el mediaplayer?

Lepe 12-11-2004 15:33:55

Unidad DateUtils

Mira las funciones RecodeMinute, RecodeSeconds, MinuteOf, SecondsOf, IncMinute, IncSeconds, SecondsBetween

Con estas funciones puedes coger una hora, mirar los minutos que faltan hasta llegar a la hora en punto o "las medias horas" y si la diferencia en segundos es menor que .... digamos 20 segundos, haces la operación que corresponda.

Ten en cuenta que puede haber retardos, por eso digo que veas la diferencia entre la fecha actual y las fechas programadas (las medias horas y las en punto)

Espero haberme explicado.... que no sé yo...

Saludos


La franja horaria es GMT +2. Ahora son las 12:04:24.

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