ТЕХНИЧЕСКОЕ ОПИСАНИЕ
При создании проекта использовались исключительно бесплатные компненты и программы:
- Lazarus - среда программирования (версия 0.9.2.8);
- FPC (Free Pascal Compiler) - кроссплатформенный компилятор (версия 2.2.4);
- KOL_CE - библиотека KOL+MCK, портированная под CE;
- UnZip by Dimaxx, портированный под KOL;
- SQLite - легкий "движок" SQL, портированный под CE, адаптированный под KOL
- CRTSock - набор модулей с интернет-функциями низкого уровня, упрощающий процесс программирования с WinInet API. Изначальный проект был рассчитан на Delphi, но адаптирован мною для использования в Lazarus и компилировании проекта под платформу CE.
- myKOLZipper - модуль, содержащий функцию ZIP-упаковывания файлов, разработан мною для компиляции под WinCE и Win32.
Библиотека MCK, заменяющаю структуру классов стандартных проектов, значительно уменьшает размер исполняемого файла проекта и, как следствие, время загрузки проекта. Однако, использование "Зеркальных классов" делает невозможным реализацию механизмов обработки ошибок и исключительных ситуаций. Это также ограничивает для автора выбор компонентов и усложняет процесс написания программы. Возможно, в будущем будет реализация без использования KOL.
В качестве базы данных был выбран простой и популярный SQLite, показывающий великолепные результаты в производительности. Например, возможность использовать пакеты запросов позволила разработать новую (третюю) версию обмена данными, уменьшающую время загрузки более чем в 90 раз (на тестовом примере за 2 секунды было загружено такое же количество записей, что и в "построчном" режиме за 3 с лишним минуты).
FTP обмен реализован на API-функциях системных модулей из состава FPC. Модули CRTSock подготовлены для реализации в будущем альтернативных способов обмена данными.
Скачать описание формата обмена и структуры базы данных программы
SPR_CLIENTS
SPR_GOODS
SPR_COMPETITORS
DOC_HEADS
DOC_ORDERS – таб. часть Заказы
DOC_SKUS – не используется *
DOC_COMPETS – не используется *
MY_MESSAGES
MY_OPTIONS