Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Vencimientos calculados para una agenda. (https://www.clubdelphi.com/foros/showthread.php?t=95331)

Critter 12-08-2021 09:18:16

Vencimientos calculados para una agenda.
 
Buenos días amigos:

Estoy tratando de realizar un calendario con agenda, y me gustaría incorporarle la funcionalidad de repetir un evento cada X dias, meses, anual etc, y avisar el evento con X dias, horas, minutos de antelación. pero no sé que campos debo guardar en la base de datos para implementar esta funcionalidad y después a la hora de realizar los cálculos de los eventos para mostrarlos en el calendario.

A ver si me podeis dar un enfoque de como abordar el asunto.

Gracias.

Neftali [Germán.Estévez] 12-08-2021 10:00:34

Cita:

Empezado por Critter (Mensaje 542321)
...no sé que campos debo guardar en la base de datos para implementar esta funcionalidad


Para el tema de la periodicidad, creo que es más sencillo que hagas el segundo punto (calcular cuando es la siguiente ocurrencia de un elemento periódico) y eso te dar´ñá la pista de los campos (informaciones) que necesitas guardar en la B.D.


Piensa en el calendario de Google (por ejemplo) y te dará una idea de las opciones y de lo que necesitas:


  • FechaInicial
  • FechaFinal, que en el ejemplo de arriba puedes calcularla de varias maneras
  • NumeroRepeticiones
  • TipoRepeticion (día, semana, mes, año)
  • DiasRepeticion (sólo en el caso de repetir cada semana)

Cita:

Empezado por Critter (Mensaje 542321)
después a la hora de realizar los cálculos de los eventos para mostrarlos en el calendario.

Para ello, segun los datos anteriores, tendrás que calcular todas las fechas de las repeticiones y ver si la actual coincide con alguna de ellas. Y guardar si ya has avisado en esa fecha, para no estar durante todo un día avisando.


Puedes complicar más la cosa, guardando o configurando, para una coincidencia si quieres avisar una o varias veces y con qué antelación, pero esto ya es otro tema.





Para los cálculos, revisa todas las funciones, variables,... definias en la unit System.DateUtils, porque seguramente vas a necesitar algunas:
http://docwiki.embarcadero.com/Libra...stem.DateUtils


La franja horaria es GMT +2. Ahora son las 19:38:41.

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