Entonces es que no tienes claro lo que quieres hacer, te ayudo un poco a concretar las opciones que quieres implementar:
- Permitir tareas Eventual, diarias, semanales, mensuales, anuales.
- Permitir avisar con una antelacion de X minutos.
- Como guardar las notas, en fichero de texto, binario o BBDD
- Permitir al usuario ordenar las fechas por el campo que sea.
- Como visualizar las notas, permitir ver solo las fechas para hoy, esta semana, este mes, este año, ver sin restricciones
- Para cada opcion de las anteriores, poder ver las tareas pasadas y pendientes.
- Que campos quieres guardar.
Yo tengo mostrado en un StringGrid:
Fecha de creación (solo usada para efectos informativos)
Fecha de aviso
Antelación (avisar con 1 minuto, hora, dia, mes año antes de la fecha de aviso)
Texto de la tarea
Estado de la tarea (pendiente, pasada, Actual)
Esto es lo que hace mi Secretari@ hasta el momento
Hay un punto de inflexion en este programa. Si una tarea es diaria, tienes 2 alternativas:
- Crear 365 tareas.
- Crear una sola tarea, y cuando el usuario se haya enterado, o bien cuando caduque, le cambias la fecha de aviso y la programas de nuevo.
Pros y contras:
- Mantener 365 tareas es bastante latoso, sobre todo al mostrar todas las tareas pendientes

- Tener una sola tarea, te obliga a estar reprogramando la tarea todos los dias. (a mi me falla algunas veces jejejeje, tengo que echarle un ratillo

)
Espero poder ayudarte más. Un saludo