FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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 |
#5
|
|||
|
|||
sigo igual
como escribo que cada 5 minutos compruebe la hora y que a las en punto y media ejectute el mediaplayer?
|
#6
|
||||
|
||||
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 |
|
|
|