ПРОГРАММИРОВАНИЕ НА ДЕЛЬФИ.
или как деградируют ассемблерщики…

02.12.03 (последняя редакция 10.01.06)
Новиков Максим Глебович.


Программ для скачки, написанных на Дельфи, вы тут не найдете. Во-первых, они занимают слишком большой объём, а во-вторых, они всё равно не понадобятся вам, потому что одна их часть заточена под определенную фирму, а другая часть — под меня. У меня просто есть желание кое-что рассказать о том, как я оказался вместе с Дельфи. Ну и покажу несколько скриншотов своих программ.

Всё началось тогда, когда мне было предложено написать программу, которая позволяла бы вести прием заказов, отслеживать их доставку и вести клиентскую базу. Ну и печатала бы сопроводительные документы, считала стоимость заказа, скидки и т.п. Программа должна была работать в сети с единой базой данных. Одним из основных преимуществ программы перед её существующими аналогами должна была стать легкость освоения девушками-операторами.

До сей поры я писал в основном под MS-DOS на ассемблере, и в качестве экспериментов пробовал писать на C++, тоже под MS-DOS. Поставленная задача явно требовала среду программирования, в которой можно было бы быстро написать приложение под Windows и легко видоизменять его в дальнейшем. Ассемблер отпадал сразу. К тому же нужно было нечто, заточенное под сетевые базы данных.

Очевидным выходом могло показаться использование визуального Builder С++, но на тот момент я не знал о его существовании, поскольку полностью был погружен в тонкие материи ассемблера и ничего более видеть не хотел. Оно и понятно, ассемблерщики меня поймут. Раз столкнувшись с совершенством трудно от него отказаться.

Но душа — это хорошо, но бизнес диктовал другие условия — быстрее, гибче, мобильнее. Очевидно, что надо было переходить на язык высокого уровня, и видимо, в визуальную среду. С содроганием я думал об этом. Отказ от привычных форм символов и табличной псевдографики текстового режима и уход в ненавистную непостоянную, нестабильную и ежепиксельно изменяющую свои формы графическую среду Windows означал быть совращенным попсовыми технологиями быстрого программирования, когда поведение программы уже зависит не столько от тебя, сколько от программистов, написавших саму среду программирования высокого уровня.

И я пошел в магазин. Есть в Москве такой превосходный книжный магазин на Ленинском проспекте — «Дом технической книги». Два этажа большого здания выделено под стеллажи с книгами. Можно самостоятельно взять с полки любую, полистать и спокойно выбрать.

После трехчасового штудирования полок на стеллажах отдела программирования я пришел к выводу, что мне будет проще сделать программу и базу данных с использованием Дельфи. Я нашел в нем наиболее развитые средства работы с базами данных, а объектный Паскаль, на котором основана Дельфи по синтаксису и структуре похож на Си. В общем-то все языки высокого уровня схожи…

Я купил пару книг по Delphi 5, на Горбушке приобрёл диск с Delphi 5 и принялся за освоение. Принципиально новый подход к созданию программы, парадигма ООП — все приводило мозги, заточенные под ассемблер, в подгоревшую кашу. Тем не менее, первый экземпляр программы в муках родился, заработал, и начал обрастать необходимыми функциями. За основу базы данных был взят InterBase 5, который поставлялся вместе с Delphi.

К моменту установки первой версии на компьютерах фирмы, это было уже довольно развитое приложение, которое выполняло кучу разных вещей. В силу своей заточенности под нужды конкретной фирмы она была построена таким образом, каким не была построена ни одна официальная программа подобного типа. Совершилось чудо — моя самая первая программа на Дельфи оказалась работоспособной и замечательно отработала сезон продаж, постоянно модифицируясь и обрастая всё новыми и новыми функциями.

На следующий год вышла вторая версия программы FSOffice, скомпилированная под Delphi 6. Программа стала существенно мощнее. Вместе с ней появилась программа сбора статистики и множество мелких утилиток, большинство из которых столь незначительны, что их скриншеты я не счёл нужным размещать здесь.

Скриншот FSOffice 2006 (6.0).

Открыта вкладка приёма заказов. Программа содержит 9 основных вкладок, многие из которых содержат дополнительные вкладки.

На текущий момент это самый сложный и объёмный программный продукт, написанный мной на Delphi.

Скриншот FSStatistics v.2.01

Программа отображает всю статистику по базам FSOffice за любой промежуток времени и по заданным условиям в табличной и графической формах.

Скриншот FSBaseEdit v.1.01

Программа позволяет изменять структуру таблиц баз данных FSOffice, не углубляясь в тонкости SQL-команд. Предназначена для коррекции баз пользователем при установке новой версии программы, если такая коррекция необходима.

Скриншот «Просмотрщика баз»

Программа позволяет получить доступ к базам FSOffice разных сезонов.

В тот же год были написаны ещё три программы — PGRecept, PGOffice и Polidoc для другой фирмы, которые предназначались для приема заказов, координирования действий определенных должностных лиц, облегчая проводку продукции по всему технологическому циклу, начиная от приёма заказа на изготовление и кончая доставкой конечного продукта адресату и печати всех необходимых документов. Программы работали с базой данных Paradox в чистом виде. Опыт работы с таблицами Paradox в сети без посредства InterBase выявил некоторые недостатки этого метода, связанные с непонятными мне конфликтами с работающими одновременно программами, использующими InterBase.

Скриншот PGRecept v.020520 beta

Программа приема заказов.

Скриншот PGOffice v.020808 beta

Программа проводки заказа по всему технологическому циклу.

Скриншот «Создателя документов» v.020412 beta

Программа ведения базы данных документов и их печати.

В 2004 году введена в эксплуатацию уже четвертая версия FSOffice'а, скомпилированная под Delphi 7, вторая версия программы статистики, в которую, наконец, перешли все статистические функции FSOffice'а и первая версия программы-редактора баз данных. Приложение стало иметь угрожающе сложный интерфейс, поскольку в связи с развитием фирмы усложнился процесс приёма и проводки заказа, появилась сложная для реализации внутреннего учета система дисконтных карт. Особую сложность вызывает необходимость работы приложения в разных офисах, соединенных нестабильной и непостоянной (сеансовой) интернет-связью. Тем не менее, мне пока удается удерживать сложность приложения на доступном для достаточно быстрого осваивания уровне благодаря сочетанию визуализации максимального количества всех необходимых органов управления на одной странице и эргономичности интерфейса. Во перл то загнул!

В 2005 году создана очередная, пятая версия FSOffice, включившая в себя несколько новых функций. Произведена большая работа с целью повышения удобства использования этой программы. Появилась страница техподдержки этого программного продукта.

В 2006 году вышла шестая версия FSOffice. Пожалуй, за последние 3 месяца до нового 2006 года, программа была доработана настолько, насколько не дорабатывалась ни за один предыдущий год. Она была переведена на альтернативный компонент табличной сетки, были приведены в порядок и согласованы между собой многие её функции, добавлены новые. Код был наконец приведён в соответствие со стандартами диалекта 3 базы данных и успешно протестирован под альтернативным бесплатным SQL-сервером FireBird 1.5.2.

Помимо коммерческих продуктов, для родного отдела СИО в ОАО «ЦНИТИ «Техномаш» мною безвозмездно была написана программа, управляющая базой графиков ППР отдела.

Скриншот программы создания, редактирования и печати
графиков ППР.

В декабре 2003 года, для одного из издательских домов написана и запущена в эксплуатацию первая версия программы Bibliophile. Это упрощенный аналог FSOffice, заточенный под торговлю книгами. Реализован на компонентах, позволяющих отказаться от универсальной прослойки BDE, и обращаться непосредственно к базе на движке InterBase. Это упрощает установку программы на компьютеры и теоретически должно немного увеличить скорость работы (практические замеры не производил).

Скриншот Bibliophile v.1.04

Программа позволяет вести учёт книг на складе, сопровождать заказы книг документами исходя из оптовых, розничных или индивидуальных цен, печатать персональные прайс-листы с учетом индивидуальных скидок, а также сохранять список заказанных товаров в формате dBase (т.н. «электронная накладная»)

В сентябре 2004 года для фирмы, производящей показы фейерверк-шоу, написана небольшая программка в помощь оператору по запуску фейерверков. Программа может содержать в себе базу данных со схемами показа фейерверков, рассчитывает длины сторпинов для каждого изделия в показе, запускает музыку и подсказывает, в какой момент какие кнопки нажимать на пульте запуска.

Скриншот программы
«Золотой залп» v.1.0.

Для отсчёта времени программа использует таймеры, не зависящие от степени загрузки системы.

[Вернуться в начало] [Оставить отзыв в гостевой]
Hosted by uCoz