Простая база данных
Требуется написать программу, обеспечивающую следующий функционал.
1. Есть база данных, в которую заносятся: дата, время, событие, е-маил ответственного человека, его ФИО. Тип БД задается в настройках программы. Должны поддерживаться следующие БД: Access (ADO), MySQL, PostgreSQL, FireBird.
2. Программа периодчески просматривает базу данных (период задается в настройках программы) и автоматически рассылает текст уведомления по адресам ответственных (текст также задается в настройках) при следующих временных интервалах до события: 1 день, 12 часов, 3 часа, 1 час, 30 минут, 15 минут, 5 минут. Интервалы также желательно иметь возможность задавать в настройках.
3. Программа должна работать в фоне, вызов интерфейса на экран - по "горячей" комбинации клавиш.
4. Предусмотреть защиту для доступа к настройкам, защиту от запуска второй копии программы. Желательно использовать шифрование ini файла.
5. Если программа не может соединиться с БД она должна отправить сообщение на почту администратора. Если не удалось отправить сообщение - пытаться сделать это каждые 5 минут, до успешной попытки. Аналогично, каждые 1-2 минуты пытаться восстановить соединение с БД. Эти интервалы также задаются в настройках. Если после какой-то попытки удалось восстановить соединение с БД, программа также отсылает об этом уведомление администратору.