PDA

Ver la Versión Completa : Agenda con Avisos


luxus
11-12-2007, 20:48:12
Hola Amigos,

Vamos a ver si me podeis echar una mano.... y aver si me explico con claridad.

Tengo una aplicación en la que en el form principal tengo un timer que muestra continuamente el reloj en formato hh:mm:ss

He implementado una especie de agenda en la que inserto las citas que voy teniendo: fecha y hora de la cita.

Hasta aquí todo bien. El problema surge cuando quiero que la agenda me avise un aviso visual (lanzando un form) con la cita y que lo muestre hasta que yo lo anule.

Revisando los hilos, sé que tengo que usar un TTimer para que compare la hora actual con la hora de la cita. ¿Me ayudar en cómo comparar ambas horas?

Gracias y un saludo a todos

Caral
11-12-2007, 21:03:08
Hola

var
hora1, hora2: TTime;
horat: TTime;
begin
hora2:= StrToTime(Edit2.Text);
hora1:= StrToTime(Edit3.Text);
horat := hora1 - hora2;
Edit4.Text:= TimeToStr(horat) ;
end;
Saludos

luxus
11-12-2007, 21:14:48
Gracias Caral por la prontitud en tu respuesta.

¿Me podrías guiar en que evento debería comparar las dos horas? ¿Sería una buena idea que el Timer cuente un tiempo de 5 minutos y luego compare las dos horas?

Caral
11-12-2007, 21:20:52
Hola
Pues eso se puede hacer en cualquier evento, pero si vas a usar un timer, pues seria en el evento OnTimer de este.
No te aconsejo usar un intervalo de 5 minutos, menos si es en red, yo le pondría unos 30, es muy pesado estar en otras cosas y que este apareciendo una pantallita, terminas por matarla.
Saludos

egostar
11-12-2007, 21:30:51
Quiero pensar que estas usando una base de datos para almacenar las citas, por lo que pienso que debes de comparar ese dato en el evento OnTime del componente Time (colocando 50000 en la propiedad Interval).

Digo, si es que no te sirve el apunte de Caral. :)

Seria bueno que nos comentaras mas sobre lo que tienes hecho hasta ahora.

Salud OS

luxus
11-12-2007, 22:23:38
Hasta ahora tengo implementado toda la agenda.

Si cambio de fecha en un TMonthCalendar me guarda los eventos que he insertado en los diferentes TEdits (una para cada hora).

Si el texto en el TEdit es distinto de nulo pues se guarda en una tabla de Access.

Si abro el form de la agenda directamente me carga los datos guardados en los TEdit.

Ahora me queda por lanzar los avisos una vez que se haya pasado la hora establecida.

Tal como me dice Caral sería ideal lanzar el aviso cada 30 minutos. ¿que valor debo insertar en el Interval del TTimer?