Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть классы Delphi, реализующие стандарт vCard 2.1 (TVisitCard, TVisitCardList).

Для этих классов необходимо написать импорт контактов из Microsoft

Outlook.

Должны импортироваться все поля контактов, поддерживаемые текущей версией MS Outlook.

Поддерживаемые версии MS outlook - Outlook'2000, Outlook'2003, Outlook'2007.

Параметры импорта:

1) Источник данных в MS Outlook - из трех вариантов: дефолтная папка Outlook, папка по выбору с помощью диалогового окна Аутлука, папка с сохраненным путем;

2) Приведение номера телефона из MS outlook к набирабельному - через callback - ConvertNumberCallback;

Поддерживаемые фильтры:

1) по категориям: либо импортируются только контакты из указанных категорий, либо наоборот; "без категории" - как отдельная категория;

а) Список категорий, не подлежащих импорту;

б) Список категорий, для которых осуществляется импорт;

2) по содержанию полей: из импорта исключаются контакты и/или поля, не удовлетворяющие каким-то условиям;

а) не включаются в импорт контакты, не содержащие телефонных номеров;

б) в VCard'ы добавляются поля только указанных типов (для недобавления неномерных полей или полей, не поддерживаемых конкретным телефоном);

Дополнительные требования:

1) оформление кода в соответствии с нашим правилами;

2) прогресс процесса импорта с помощью callback'ов;

3) результат должен представлять из себя отдельный модуль на Delphi, к которому должна прилагаться тестовая программа (в исходниках), иллюстрирующая его работоспособность.

Форматы структур и функций:

TImportProgress = procedure(Current, Total: Integer; var Stop: Boolean) of object;

//Current - индекс текущего импортируемого объекта, Total - общее количество; Stop - обрабатывается; если True, то процедура импорта завершается.

TConvertNumber = function(PhoneNumber: String): String of object;

TImportParameters=class

OnlyCategories: Boolean; //True - только указанные в CategoryList категории; False - все категории, кроме указанных в CategoryList

CategoryList: TWideStringList;

IncludeContactsWONumbers: Boolean;

ConvertNumberCallback: TConvertNumber;

end;

function ImportContactsFromOutlookDefault(const Parameters: TImportParameters; out ContactList: TVisitCardList; Prg: TImportProgress = nil): Integer;

function ImportContactsFromOutlookDialog(const Parameters: TImportParameters; out ContactList: TVisitCardList; Prg: TImportProgress = nil): Integer;

function ImportContactsFromOutlookPath(const Parameters: TImportParameters; out ContactList: TVisitCardList; Prg: TImportProgress = nil): Integer;

//функции возвращают код ошибки

P.S. Точно такая же задача стоит для Microsoft Exсhange и Lotus Notes.

16 лет назад
oxygensoftware
Николай 
45 летРоссия
17 лет в сервисе
Был
9 лет назад
  • Похожие заказы
  • $2500

    Разработка аналога существующей системы PoolSystem. Этo интepaктивнaя пpoeкциoннaя cиcтeмa, состоящая из компьютера, проектора и датчика движения. Описание оригинальной PoolSystem на сайтах: http://www.impressx.com/en/products/poolsystem.html http://www.screenagency.ru/equipment/poolsystem.html

    Закрыт
    16 лет назад
  • Нужна помощь по написанию программы для диплома. Создание библиотеки для КОМПАС-2D на языке Basic (желательно). Автоматическая расстановка на планировке здания оборудования пожарной сигнализации (пожарных извещателей, кабеля) с возможностью последующего ручного редактирования. Расчёт количества оборудования (графических объектов) и заполнение ...

    Прикладное ПОнет заявок
    Закрыт
    16 лет назад
  • $500

    Требуется специалист с опытом работы с awt, swing не менее 5-6лет, для доработки апплета и\или переделки его в jws приложение. Требования: опыт работы в данной области, т.к. время на разбор кода и доработку ограничено, проект ...

    Закрыт
    16 лет назад
  • $10

    С сервера запрашивается страница с указанием "Accept-Encoding: gzip, deflate". Сервер отдает GZIP-сжатую страницу (Content-Encoding: gzip). Необходимо разжать страницу. В приложении находится проект, к которому собственно и надо добавить разжатие. Метод скачивания принципиален, поэтому предложение переписать на Indy или ...

    Прикладное ПО1 исполнитель
    Завершен
    16 лет назад
  • Стенка для отдельно выбранного ПО Софт в который пользователь добавляет ПО которому следует фильтровать трафик по условиям. условия – подгрузки текстового списка – ipfiter формат --- 077.239.191.000-077.242.159.255 --- белые, черные списки ip адресов – имеют преимущество над ipfilter пример я добавляю в wall следующие ...

    Закрыт
    16 лет назад
  • $1000

    Есть фреймворк к нему нужно написать модуль комментарии а на основе комментариев древовидный форум, с фишками и аминкой юзера и админа. фишки = голосование (опрос) с предустановленными решениями. форум нужно интегрировать в фреймворк (я проинструктирую как именно) ...

    Закрыт
    16 лет назад
  • $5

    Нужен простейший пример работы с FireBird на Delphi. Реализующий: Коннект к БД, SQL запрос на выборку Select, получение значений по выборке в массив или компонент его реализующий, обработку данного массива, например, вывод 3-го поля в Memo или ...

    Прикладное ПО1 исполнитель
    Завершен
    16 лет назад
  • $10

    Я прикрепил программу. В неё можно импортировать список только из 60 чтрочек, а мне нужно безконечно! Файл чем то упакован, нужно найти - чем и изменить с 60 на безконечность.

    Прикладное ПО1 исполнитель
    Закрыт
    16 лет назад
  • Для существующего сайта необходима программа по заполнению 5 он-лайн деклараций для отчетности с выводом на печать или в файл бланка декларации на нескольких листах. Ее пользователи ИП, бухгалтеры и прочее. Еще в двух словах: была ...

    Закрыт
    16 лет назад