Cita:
Empezado por Critter
...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
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