FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Alarma fecha hora
Alguien podria decirme como hacer para que suene una alarma o de un mensaje a una hora y fecha guardados en una tabla
|
#2
|
|||
|
|||
Hola,
Una cosa que se me ocurre es utilizar un control TTimer. Tiene una propiedad Interval cuyo valor va en milisegundos. Fijas la hora de la alarma en algún componente, por ejemplo un DateTimePicker. Entonces calcular los milisegundos existentes entre la hora actual y la hora de alarma, y los guardas en la propiedad Interval de TTimer, y activas el temporizador. En el único evento del temporizador debes poner las acciones que deseas hacer (guardar el aviso en la tabla) y desactiva el temporizador. Saludos
__________________
Rafita. |
#3
|
|||
|
|||
Esta solucion se puede aplicar para varios regitros de la tabla.
Lo q e intentado a sido comparar la fecha y la hora almacenada en la tabla con las fecha y hora del sistema (date y time) pero no se xq no salta |
#4
|
|||
|
|||
Vaya, creo que no había entendido bien tu problema.
Veamos, tienes una tabla con varias horas de alarma, puedes ordenarla en orden ascendente. Por cada registro con la hora POSTERIOR a la actual calculas los milisegundos de diferencia con respecto a la hora actual. Asignas esos milisegundos a la propiedad Interval de un TTimer y lo activas. En el evento OnTimer haces que suene la alarma y pasas a procesar el siguiente registro de la tabla. Otra posibilidad es tener varios componentes TTimer (los puedes generar en tiempo de ejecución según el número de registros de tu tabla), así cada uno de estos temporizadores tendrá un funcionamiento autónomo e independiente. Saludos,
__________________
Rafita. |
#5
|
|||
|
|||
Sabrias decirme xq el "if" no funciona:
if (DateTimePicker1.Time=time) and (DateTimePicker1.date=date)then showmessage(datetostr(DateTimePicker1.date) + ' '+ timetostr(DateTimePicker1.Time) +' '+ datetostr(date)+' '+ timetostr(Time ) ); si el showmessage sale muestra el resutado bien gracias por todo Última edición por jerosol fecha: 01-12-2009 a las 20:53:51. |
#6
|
||||
|
||||
Hola
Un pequeño ejemplo con Fecha. Busca la fecha con el DateTimePicker y si coincide con el de la BD (DBEdit) mostrara un mensaje con sonido. Saludos
__________________
Siempre Novato Última edición por Caral fecha: 10-01-2010 a las 01:20:33. |
#7
|
||||
|
||||
El problema es que tal vez estás afinando demasiado. Es decir, el Time (la función) devuelve hora, minutos, segundos y milisegundos. Algo así, por poner un ejemplo:
12:00:00:123 El problema es que si comparas esto con el Time de la Base de datos, no te dará True a no ser que coincida incluyendo las milésimas, cosa difícil. Lo que se podría hacer es almacenar la hora "capando" el valor de milésimas, y lo mismo al consultar el Time (modificándolo para eliminar las milésimas) y dejarlo tal que así: 12:00:00:000 Aun así piensa que deberás ajustar hasta el segundo. Otra opción (la que creo yo más recomendable) el comparar las horas contando un Delta de diferencia. Es decir, que las considere iguales si la diferencia es menor de 3 segundos (por ejemlo). Para eso puedes utilizar las funciones que calculan diferencia entre fechas/horas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
obtener solo la fecha en formato fecha y sin hora | BlueSteel | SQL | 14 | 09-05-2008 16:42:19 |
formato fecha y hora a solo Fecha | ozegarra | Firebird e Interbase | 6 | 22-02-2008 18:43:34 |
Extraccion fecha de un campo fecha y hora | matti | Firebird e Interbase | 3 | 26-04-2007 19:48:11 |
fecha y hora | i_berbeu | C++ Builder | 7 | 20-09-2005 23:07:08 |
Fecha y Hora | anitra_cattivo | Varios | 5 | 13-04-2005 20:12:37 |
|