В данном разделе представлены описания наиболее интересных программ, написанных мной.
PharmGuide | |
Это программа - справочник лекарственных средств для работников аптек. Фактически это целый комплекс программ:
| |
ProVizor | |
Это целое семейство программ, предназначенных для установки соответствий между строками нескольких таблиц. Например, между позициями прайс-листа и базой данных полного ассортимента товаров. В программе были реализованы две уникальные функции. Во первых, элемент управления, обеспечивающий максимально простой и быстрый поиск. В этом элементе отображается текст строки из таблицы1, которую необходимо сопоставить со строкой таблицы2. При наведении указателя мыши выделяется слово под ним. При клике по этому слову оно выделяется и добавляется к текущему поисковому запросу. Повторный клик снимает выделение и удаляет слово из поискового запроса. Клик левой кнопкой мыши разбивает текущее слово на две подстроки в указанном месте. Есть возможность ввода текста с клавиатуры. Этот элемент реализован на API функциях работы с текстом и графикой. Теперь, конечно, я бы сделал его на основе DHTML. И код был бы проще и возможностей больше. Вторым оригинальным решением, является самостоятельная СУБД. Среди её возможностей:
Для хранения данных использована БД MS Access. Главной причиной, по которой поверх одной СУБД была создана другая - необходимость максимально быстрого полнотекстового поиска. Это реализовано, благодаря тому, что содержимое всех полей, после разбивки на подстроки, хранится в одной таблице-словаре. Благодаря этому стал возможен поиск подстроки по индексу. Как было сказано ранее - ProVizor это целое семейство программ. Началом ему послужила экспертная система сопоставления строк, способная самостоятельно устанавливать соответствия между названиями лекарственных препаратов. В ходе анализа программа проводила синтаксический разбор строки, пересчитывала числовые величины и с учётом вариантов написания предлагала наиболее близкий по смыслу эталон. К сожалению, скорость работы этой системы была не велика, и разработка была остановлена на стадии бета-версии. Следующим этапом развития программы стала система ручного сопоставления строк. Она использовалась для работы с прайс-листами, поступавшими в систему электронной торговли и работала в связке с SQL Server. Последней в этом семействе программ стала многопользовательская версия. Она была предназначена для конкретной задачи - установки соответствий между двумя очень большими справочниками. Более подробно о ней можно узнать из руководства пользователя (ProVizor.pdf). | |
Xls2Dbf | |
Данная программа предназначена для преобразования сложных, многоуровневых отчётов с группировкой по одному или нескольким столбцам в формат dbf. Ручная обработка такого отчёта может занимать несколько часов. По сути, программа является декомпилятором отчётов.
| |
DataExtract | |
Представляет собой надстройку Excel. Предназначена для извлечения информации из файлов различных форматов и сохранения её в таблице с фиксированным набором полей. Иными словами - на входе отчёты и накладные в форматах txt, dbf, xls и.т.п., а на выходе таблица в файле Access с полями торговое, количество, цена и.т.п. Весь интерфейс программы основан на базе элемента WebBrowser и DHTML. Благодаря этому удалось повторить и расширить возможности стандартного диалога импорта текстовых файлов, реализовав его в стиле Office 2003. Эта надстройка развивает идеи, заложенные в Xls2Dbf, но имеет ряд преимуществ:
| |