Clipper Tools One
ОписаниеР-Т
Как известно, СУБД Clipper является функционально отк-
рытой системой. Подобно системе dBaseIII PLUS из
Clipper-программы с помощью команды "!" (Run) можно на ста-
дии исполнения вызывать заранее подготовленные на любом язы-
ке программирования загрузочные модули. Кроме того, расширя-
емый характер имеет и сам язык программирования Clipper.
Можно пополнять его произвольным множеством функций, для ко-
торых подготовлены реализующие их объектные модули. Эти мо-
дули подключаются к рабочей программе на стадии ее сборки.
Объектные модули функций, предназначенных для многок-
ратного использования, удобно объединять в библиотеки. Для
системы Clipper'87 создан целый ряд библиотек. Все они пос-
тавляются как самостоятельные программные продукты.
Одна из таких библиотек входит в состав пакета Clipper
Tools One, разработанного фирмой Nantucket Corp. (1989 г.),
и включает более 270 различных функций. Все функции написаны
на языке ассемблера, благодаря чему они высокоэффективны в
отношении используемых ресурсов памяти и времени исполнения.
Пакет Clipper Tools One включает библиотеку объектных
модулей CT1.lib и объектный модуль CTOOLD87.obj, представля-
ющий собой расширенный драйвер клавиатуры и экранов, пред-
назначенный для замещения имеющегося в библиотеке
Clipper.lib стандартого драйвера. Он используется вместе с
функциями, обеспечивающими работу с окнами.
Библиотека CT1.lib состоит из тринадцати групп функций.
Рассмотрим кратко некоторые из них.
Оконные функции позволяют создать до 255 окон, автома-
тически сохраняя часть экрана, которая выделяется для нового
окна. Каждому окну ставится в соответствие его номер и теку-
щие значения атрибутов координаты текущей позиции курсора,
литера изображения курсора и атрибуты цвета. Номера окон
служат их идентификаторами. При активизации некоторого су-
ществующего окна содержимое предшествующего активного окна и
текущие значения его атрибутов сохраняются. Они восстанавли-
ваются при повторной активизации данного окна.
Активное окно может перемещаться по экрану при нажатиях
клавиш перемещения курсора, а также клавиш Home, PgUp, PgDn.
Все выводы на экран при наличии какого-либо активного окна
производятся через это окно. Окно ликвидируется функцией
закрытия окна.
Функции передачи данных через последовательный интер-
фейс позволяют одновременно управлять двумя интерфейсами та-
кого типа. С их помощью для каждого порта создается свой
кольцевой буфер, осуществляются чтение и запись данных в эти
буферы, прием и выдача управляющих сигналов, опрос состояния
коммуникационных регистров. Все функции работают непосредс-
твенно с оборудованием, не используя BIOS и других вызовов
операционной системы.
С помощью языка Clipper, к сожалению, недоступны уста-
новки параметров системной среды СУБД. Для преодоления этой
трудности предусматривается специальная группа функций, поз-
воляющих определить, например, состояние всех ON/OFF-перек-
лючателей, установку формата даты, точности, назначение
функциональных клавиш, установить, приредактирован ли к
программному модулю отладчик.
Специальная группа функций служит для получения инфор-
мации о состоянии операционной среды используемой ПЭВМ. Эти
функции позволяют перезагрузить систему, запросить код сис-
темной ошибки, заданный способ реакции на нее и тип устройс-
тва, с работой которого она связана, выяснить версию опера-
ционной системы, наличие математического сопроцессора в
конфигурации данной ПЭВМ и является ли она компьютером моде-
ли IBM PC/AT. Кроме того, можно определить имя и путь испол-
няемого программного модуля, а также установки некоторых пе-
реключателей операционной системы.
Видеофункции библиотеки ориентированы на графические
адаптеры CGA, EGA и Hercules. Они позволяют опросить тип ис-
пользуемого адаптера, управлять атрибутами цвета изображения
на экране, очищать области экрана и окна, изменять их атри-
буты цвета, сохранять в файле содержимое экрана и восстанав-
ливать его, сохранять в переменной содержимое области экрана
или окна и восстанавливать его, определять размеры экрана и
его областей.
Предусмотрены также функции для работы с дисками. С их
помощью можно определять тип данного дисковода и его состоя-
ние готовности, анализировать ошибочные ситуации, оценивать
объем имеющегося свободного пространства, создавать и унич-
тожать директории и поддиректории, выяснять текущие дисковод
и директорию, удалять группы файлов, быстро перемещать файлы
на диске.
Группа функций для работы с файлами базы данных дает
возможность определить размер файла, характеристики поля за-
писи по его номеру, выяснить, имеются ли в записях файла по-
ля типа Memo.
Большие группы функций предназначены для выполнения
разнообразных операций над литерными строками, для преобра-
зований числовых значений и выполнения побитовых операций,
для вычислений над датами и значениями времени.
Имеются также функции для работы с принтером, а также с
расширенным драйвером клавиатуры и экрана, который реализу-
ется модулем CTOOLD87.obj. Этот драйвер позволяет, в част-
ности, создавать файл для записи содержимого буфера клавиа-
туры так называемый Quit-файл, который дает возможность
реконструировать процесс исполнения прикладной системы. Он
обеспечивает также управление выдачами отладчика и уровнем
сообщений, направляемых в окна экрана.
Представляют интерес и другие функции пакета опреде-
ление типа значения выражения и формирование соответствующе-
го неопределенного значения, генерация звуковых сигналов,
помещение заданной литеры в буфер клавиатуры через указанное
время и ряд других функций, позволяющих имитировать работу
пользователя на клавиатуре и тем самым легко создавать де-
монстрационные версии прикладных систем.
Пакет Clipper Tools One может использоваться только
на IBM-совместимых ПЭВМ совместно с СУБД Clipper'87 и в зна-
чительной мере обогащает ее функциональные возможности.