вторник, 23 сентября 2008 г.

Система заказов на Delphi

Это очень не плохой пример написания он-лайн системы заказов в среде Borland Delphi.
Среда: Borland Delphi 7.


В моей компании используется система учета Memo4x4 (www.memo4x4.com). Выгрузка данных происходит из базы Memo4x4. Файл выгрузки в качестве примера прилагаю в архиве с исходниками.

Скачать исходник

Скачать бинарник

файлы упакованы архиватором 7Zip

Описание:

Программа предназначена для динамической работы с прайс-листом. Имеет удобный поиск необходимого товара,
существует возможность отправки и выгрузки заказа в MS Excel и Open Office Calc. Так же присутствует возможность обновлять прайс-лист одним кликом мыши.

Возможности:

+ Обновление прайс листа через интернет
+ Динамическая работа с прайс-листом (удобный поиск и т.п.)
+ Просмотр товаров в наличии, транзиты и резервы
+ Формирование и отправка заказа через интернет
+ Дополнительный сервис - "Расширяем ассортимент вместе!"
+ Новостная лента из которой вы узнаете о действующих акциях и изменениях в ассортименте.
+ Поддержка HTTP прокси для обновления прайс-листа
+ Выгрузка заказа в OpenOfifice Calc и MS Excel
+ Собственный модуль архивации, позволяющий экономить траффик при скачивании прайс-листа
+ Автосохранение набранного заказа
+ Подсветка новых позиций в прайс-листе

Что интересного можно извлечь из нее начинающему программисту:
Работа с интернет:
1. Закачка файлов с использованием компонента Indy IdHTTP, работа через прокси-сервер
2. Отправка e-mail посредством компонента Indy IdSMTP
Архивация:
1. Пример использования собственного архиватора, отснованного на алгоритме Хофмана. ( только разархивация, по просьбе могу предоставить функцию архивирования)
База данных:
1. Использование BDE на компьютере где он не установлен
2. Поиск, фильрация и отображение данных , находящихся в .dbf файле
3. Работа с DBGrid (подсветка строк по условию)
4. Копирование строки из DBGrid в StringGrid
5. Вывод контексного меню в DBGrid, копирование данных из DBGrid в буфер обмена
6. Работа с Query

Работа с файлами и визуальными компонентами
1. Создание и использование INI файлов (сохранение настроек в .ini файл и т.п.)
2. Сохранение StringGrid в файл
3. Загрузка данных из файла в StringGrid

Создание "секретных" функций программы
1. Пример создания так называемого "пасхального яйца" - активируется за счет ввода ключевого слова в совокупности с комбинацией клавишь Ctrl+Alt (зашита реакция на слово "ADMIN" )
Выгрузка данных:
1. Экспорт данных из String Grid в MS Excel
2. Работа с Open Office Calc
3. Экспорт данных из String Grid в HTML
Еще куча идей и их реализаций, все и не упомнишь :)

При создании приложения использовались материалы ресурсов: forum.vingrad.ru , delphisources.ru , delphi-world.ru, результаты поиска www.google.ru и собственный опыт. Так же использовались сторонние идеи и их реализации, где это возможно был сохранен копирайт, где автор был неизвестен - копирайта нет, так что не обессутьте, если вы являетесь автором кода, используемого в программе и не указаны как первоисточник - просьба связаться со мной и мы это исправим :)

Еще раз огромное спасибо форумчанам с forum.vingrad.ru за помощь в решении проблем.
--
Что в планах на ближайшее будущее:
- оптимизировать код приложения
- организовать работу с MySQL сервером (как то получение прайс-листа не посредством заказчи файла, а из MySQL сервера)
- доработать интерфейс
- реализовать уже придуманные, но еще не реализованные идеи.
- портирование на платформу C++ в связке с QT для обеспечения кроссплатформенности.

Если у вас интересные идеи относительно проекта и вы не прочь ими поделиться, просьба отписываться здесь в комментах - реализуем по мере возможности.
Приложение разрабатывалось ( и продолжает разрабатываться) не просто как демо проект по созданию системы заказов на Delphi, а полноценное приложения для постоянного использования.

Если у вас возникли вопросы - пишите - обязательно отвечу и помогу чем смогу, объективная критика так же приветствуется :)

Увидеть систему в действии вы можете здесь: www.ink-service.ru