Delphi: Импорт контактов из Microsoft Exchange
Необходимо написать модуль на Delphi, реализующий функции импорта и экспорта списка контактов из/в Microsoft Exchange. Должны поддеживаться все версии Exchange, начиная с 2000-го года.
Дельфийские классы, хранящие контакты, будут предоставлены нами.
Должна иметься проверка на наличие установленного Exchange. Также должен быть callback для обработки подключения к MS Exchange.
Функции импорта и экспорта должны принимать слелующие параметры для фильтрации контактов:
1. Included categories list (TStringList). Если параметр указан, только контакты, относящиеся к этим категориям должны быть обработаны. Этот параметр имеет приоритет над Excluded categories list.
2. Excluded categories list (TStringList). Если параметр указан, должны быть обработаны все контакты, кроме относящихся к этим категориям.
3. Флаг - Игнорировать пустые контакты (Boolean). Если TRUE, не должны обрабатываться контакты, которые не содержат никаких полей кроме полей имени (FirstName, LastName, Title, Suffix, NickName).
Функции должни иметь параметр - callback для отображения хода процесса.
Функции должни возвращать количество обработанных контактов (в случае успеха) или отрицательный код ошибки.
Использование сторонних компонентов и классов должно быть предварительно согласовано.
Предоставление демонстрационного проекта обязательно.
Результат должен представлять из себя модуль, компилирующийся (без errors, warnings и hints) на Delphi версий 7 и выше.