![]() |
Agenda, Recordatorio, Citas, Tareas
Por favor, alguien que haya desarrollado algun modelo de aplicaciones tipo Agenda, Recordatorio, Citas, Administrador de Tareas.
O alguien que tenga idea de cómo desarrollar un programa que me permita ingresar tareas que tengan que ejecutarse (en un sistema o manualmente): una sóla vez (fecha y hora), todos los días a la misma hora, semanalmente, mensualmente,etc..y que suene una alarma para recordarme que debo hacer la tarea que acabo de registrar o que abra una pantalla para recordarmelo,etc (como el administrador de tareas del outlook). En fin, no se si me expliqué bien. Pero, el punto es que necesito desarrollar un software en delphi y Firebird que me permita registrar tareas para ser recordadas el día y a la hora correcta, segun los parámetros que el usuario configure. Mi duda mas grande es, como hacer para que el programa que voy a desarrollar se entere que llegó la fecha y la hora estipulada por el usuario, y que por tal razón debe sonar una alarma o mostrar una pantalla recordándome el evento :confused: Muchas gracias, por la atención prestada!! :D |
Una idea:
Para empezar definiria dos tablas tareas = (fecha, hora, tipo) tipos = (volatil, diaria, semanal, mensual, anual, secular) Cada vez que toque el turno de ejecutarse una tarea examinas su tipo.
La sintaxis exacta te la dejo de tarea (primera tarea a programar :p ) Las tareas del día actual que ya se hayan realizado no entrarán dentro de esta selección pues ya les actualizaste la fecha, de manera que la selección te devolverá las tareas más próximas al momento de la consulta que aún no se han realizado. La precisión será mayor mientras más frecuentemente consultes al servidor. Si consultas, digamos, cada cinco minutos, cabrá la posibilidad de que alguna tarea se ejecute con cinco minutos de retraso. // Saludos |
Al inicio de la aplicación, como dice Roman, podrías lanzar una cosulta y ver la tarea más proxima, lanzar un Timer (revisa SetTimer y KillTimer de la unidad Windows) y listo. Por supuesto, cuando se modifique una fecha de la tarea, tendrías que revisar ese Timer y cambiarlo.
Si no recuerdo mal, SetTimer te permite programar el cronometro para 9 semanas (si dejas el ordenador encendido tanto tiempo....) Tambien añadiría: Avisar con X minutos/dias/meses/años de antelación. En la tabla Tareas, yo añadiria un campo Estado (Pendiente, Pasada, Finalizada) para mostrar al usuario en un grid las tareas de forma personalizada. PD: En lugar de "volatil" yo usaria "Eventual" :p |
Hola Lepe,
No entiendo muy bien cuál sería la dinámica de la técnica que describes. Ten en cuenta que puedes tener varias tareas a lo largo de un día de manera que la aplicación debe estar ejecutándose todo el tiempo para cualquier tarea posible durante el día, de manera que no alcanzo a entender eso de "ver la tarea más próxima al iniciar la aplicación". El campo Estado que mencionas, ¿cuál es el objetivo?. Es decir, ¿qué significa que una tarea esté pendiente? ¿Qué aún no toca el turno de realizarla? Pues eso te lo indica la fecha y hora al igual que si ya está pasada. Lo de Finalizada puede tener sentido si de alguna manera el sistema lleva registro no sólo de cuándo llevar a cabo una tarea sino del progreso de la tarea en marcha. Lo de Eventual en lugar de Volatil pues te doy toda la razón, no se me ocurría ningún término adecuado :D . // Saludos |
Si quiere añadir eso de "Permitir avisar de la tarea con una Antelacion de X minutos", entonces lo lógico a mi parecer, es añadir un nuevo campo llamado FechaCrono (Fecha real de la tarea restando la antelacion elegida).
Cita:
Yo hice un recordatorio que no usaba Bases de datos, así que tenía que ver la tarea más cercana, lanzar un timer para avisar al usuario, y despues ver la siguiente tarea para establecer de nuevo el timer. Cita:
Cita:
O incluyes el Flag Estado, o bien chequeas la FechaCrono. Yo prefiero añadir un Flag de estado y hacer una consulta por ese flag, en lugar de chequear Fechas y horas. Además, si pides un listado de todas las tareas, puedes imprimir el campo Estado, y de un vistazo, saber cuales han pasado y cuales no. Depende de las opciones que quiera dar al usuario. Saludos |
Tengo un apuro....
Disculpa pero soy nuevo en esto de los foros y quisiera saber si me pueden ayudar.....
Es sobre el mismo tema del Recordatorio. Pero yo solo quisiera una pequeña aplicación en la que el programa emita una alarme o un mensaje a la hora que le asigne el usuario, debo usar un Timer y un DateTimerPicker pero en realidad no sé como utilizarlos... De antemano muchas gracias... y Disculpa la molestia... |
Bienvenido al foro OMAR.
Tienes mucha documentación, busca en el foro por Timer, seguro que encontrarás código acerca de él. Busca tambien por MillisecondsBetween que te será de ayuda. Saludos |
La franja horaria es GMT +2. Ahora son las 04:40:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi