Содержание


О странице
О проекте
Структура БД
Реализация БД
Инструкция
Download
 

Технические особенности реализации справочника


Программа написана на языке Pascal и откомпилирована с помощью Borland Pascal 7.01. Она представляет собой DOS-приложение, оснащенное графическим интерфейсом на основе оригинальной библиотеки. Причина того, что программа не была сразу реализована для среды Windows, в том, что во время ее разработки (начало 1997 года) в распоряжении целевой аудитории (ботаников) находились довольно скромные по техническим параметрам компьютеры, на которых редко присутствовала Windows. Использование такого инструментария позволило:

  1. Снизить требования к вычислительной мощности компьютера;
  2. Снизить требования к объему свободной оперативной памяти;
  3. Снизить конечный объем продукта, а следовательно, и требования к свободному дисковому пространству;
  4. Использовать нашу программу на практически любом компьютере (включая двойку с мегабайтом памяти, без винта);
  5. Полностью избежать проблем с установкой справочника.

Таким образом, требования к аппартно-программной части компьютера, на котором планируется использовать справочник, следующие:

  • Персональный компьютер, совместимый с IBM PC AT, на базе процессора Intel 80286 и выше;
  • Видеоадаптер, совместимый с IBM VGA 265Kb, используется режим 12h;
  • Манипулятор "мышь", или совместимое с ним указательное устройство (трекбол, глайдпад);
  • Один дисковод на 3 дюйма или жесткий диск со свободным пространством 1.5 мегабайта;
  • Операционная система, совместимая с MS-DOS 3.x (годится Windows 3.x, Windows 95, NT и т.д.);
  • Свободная оперативная DOS-память, объемом 500 килобайт (программа использует только нижнюю память).

Нужно заметить, что при использовании процессора с тактовой частотой выше 200 MHz возможны проблемы с запуском программы (кто ж знал в то время, что появится Pentium II?). В случае их возникновения рекомендую воспользоваться следующим методом: найти с помощью любого шестнадцатиричного редактора в программном файле последовательность F7 D0 F7 D2 B9 37 00 F7 и заменить в ней байт 37 на FF. После этой модификации программа должна работать на любом процессоре. В архив, размещенный на этой страничке, дополнительно включена модифицированная для работы с Pentium II программа.

Справочник состоит из 12 файлов:

ORCHID.ADT -
Тексты статей и иллюстрации к ним
ORCHID.ADX -
Индекс статей
ORCHID.DSC -
Морфологические описания видов
ORCHID.DTB -
Основная база данных
ORCHID.EXE -
Исполняемый программный модуль
ORCH_PII.EXE -
Исполняемый программный модуль
для работы на машинах с процессором
быстрее 200 мегагерц
ORCHID.ICN -
Уменьшенные изображения растений
ORCHID.IMG -
Изображения растений
ORCHID.LSF -
Шрифт для лазерного принтера
ORCHID.PNT -
База данных местонахождений
ORCHID.RES -
Карта, заставка, пиктограммы

В справочнике использованы собственные форматы для хранения данных. Это позволяет практически исключить возможность декомпиляции базы, а также избавиться от процедуры инсталляции, конфигурации БД и т.д., как это было бы, используй мы, скажем, BDE. Кроме того, для хранения изображений в базе используется собственный формат их сжатия, представляющий собой улучшенный RLE метод PackBits, который используется в форматах MacPICT и AmigaIFF/ILBM. С моей стороны в этот метод был включен алгоритм пропуска одинаковых строк (чтобы не сжимать их повторно) и реализовано хранение изображения в четырех битовых плоскостях (так удобнее выводить его на экран в VGA-режиме 12h).

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

Для печати программа формирует принтерный буфер на диске, поэтому при печати из программы, запущенной с дискеты или компакт-диска будет выдано сообщение о нехватке пространства для буфера принтера. По завершении формирования буфера программа копирует его на устройство PRN:, со всеми вытекающими последствиями (ошибками, глюками, багами, Abort, Retry, Fail и т.д.). Если печать производится на лазерном принтере (необходима его совместимость с PCL 2), для вывода текста загружается фонт из файла ORCHID.LSF. Этот файл, в экспериментальных целях, можно подменить для получения различных эффектов на принтере (например, для смены фонтов). При выводе графики используется разрешение 150 dpi, но каждая точка экрана, обычно имеющего разрешение 72 dpi, представляется на печати матрицей 2х2 для передачи полутонов.


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

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

Полный рабочий объем справочника составляет 1'327 килобайт.

Справочник свободно распространяется через Internet в виде ZIP-архива объемом около 600 килобайт. После распаковки архива никакой инсталляции для начала работы со справочником не требуется.

Дальше