 |
ного упоминания.
ИПИ состоит из четырех отдельных модулей - общего, модуля
окон, модуля "мыши" и модуля меню. Инструментарий обеспечивает
программиста всеми функциями, необходимыми для высоко-профессио-
нального создания пользовательского интерфейса программ в тексто-
вом режиме. В число функций входят: полная поддержка манипулятора
"мышь"; окна для диалога; вертикальные меню; окна переменного раз-
мера, которые можно перемещать по экрану. Есть также окна для
списков и средства ведения диалога для выбора файлов.
Фирма Microsoft приводит исходный текст программы uidemo, ко-
торая демонстрирует различные функции ИПИ. Эта демонстрационная
программа произвела на меня большое впечатление, поскольку обеспе-
чиваемый ею интерфейс очень похож на интерфейс самого компилятора
QBX.
Размер EXE-файла произвел обратное впечатление, поскольку он
составляет чуть более 100 Кбайт. Очень хорошо для создания дружес-
твенных интерфейсов, но не подходит для создания резидентных прог-
рамм. Большой размер загрузочного модуля отчасти объясняется тем,
что Microsoft Basic использует среднюю модель памяти (адреса прог-
рамм по умолчанию - far, адреса данных - near).
СРЕДСТВА ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНОГО МЕТОДА ДОСТУПА (ИПМД)
Средства ИПМД (ISAM) это еще один набор удобных процедур,
поставляемых с компилятором. Они, в частности, хороши тем, что
обеспечивают функцию отмены транзакции при работе с базами данных.
Предположим, к примеру, что вы пишете сервер базы данных,
подсчитывающий дебет по одному отчету и кредит по другому. Обе эти
операции должны выполняться одновременно, иначе целостность базы
данных будет нарушена и, как говорят, будет нарушен баланс.
Если ваш сервер выполнит одну из этих операций, но не выпол-
нит другую (например, из-за сбоя в работе сети), необходимо будет
отменить транзакцию, чтобы вернуть базу данных в предыдущее состо-
яние.
На практике транзакции в базах данных, как правило, значи-
тельно сложнее, и отмена транзакции может быть довольно сложной
операцией. Поэтому включение такой функции фирмой Microsoft заслу-
живает одобрения.
Функция отмены реализована через аппарат "точек сохранения".
Это точки в транзакции, к которым можно вернуть обработку, если
произойдет ошибка. Функция SAVEPOINT (которая может быть вызвана
во время выполнения транзакции) возвращает уникальное целое число,
которое можно сохранить в программе. Затем, если случается ошибка,
программа может вызвать функцию ROLLBACK и передать ей это сохра-
ненное значение. Это своего рода "закладка", мощное средство, ко-
торое применяется элегантно.
ЗАКЛЮЧЕНИЕ
Серьезному программисту, работающему на Бейсике, систему
Professional Development System фирмы Microsoft можно порекомендо-
вать по многим причинам. Она может хорошо доказать свою ценность
для каждого, кто много занимается разработкой небольших и средних
прикладных программ и утилит "на заказ". На меня, в частности,
произвели впечатление инструментальные средства ИПМД и ИПИ, кото-
рые позволяют программисту с минимальными усилиями создавать про-
фессионально выглядящие приложения для работы с базами данных.
Этот пакет представляет собой также великолепный выбор для опытно-
го программиста, который хочет войти в мир программирования для
OS/2 самым безболезненным путем.
Рекомендовать пакет для разработки крупных прикладных прог-
рамм можно с некоторыми оговорками, касающимися главным образом
большого размера результирующих EXE-файлов. Необходимо, однако,
заметить, что можно линковать прикладную программу с файлами, ко-
торые фирма Microsoft называет "пеньками". Это позволяет сущест-
венно уменьшить размер программ при условии, что в ней не будут
использоваться функции некоторых типов. Это направление я не рас-
сматривал в данном обзоре, но должен к счастью признать, что при
использовании этой техники окончательные размеры программ могут
быть существенно сокращены.
Иногда меня смущало огромное количество библиотечных файлов и
хотелось увидеть больше подсказок относительно того, какие из них
использовать при создании загрузочных модулей.
По-прежнему для работы в среде Windows или Presentation
Manager придется программировать на языке Си; компилятор Бейсика
не может создавать специальные команды пролога и эпилога, необхо-
димые для этих сред. Но если вас не интересуют Windows или
Presentation Manager, и вы чувствуете, что Си вам не подходит,
тогда, возможно, Professional Development System - это система как
раз для вас.
Приложение
Microsoft Basic: основные усовершенствования
Эта версия компилятора Бейсика имеет ряд новых средств. Осо-
бый интерес представляет библиотека ISAM, функции которой могут
быть вызваны из программ, написанных в среде Microsoft Basic. ISAM
(индексно-последовательный метод доступа) - это способ организации
файлов баз данных с ускоренным доступом к данным. При использова-
нии библиотеки ISAM появляется возможность разработки на Бейсике
больших и сложных прикладных программ. Реализация процедур ISAM
фирмы Microsoft позволяет запускать их как резидентные программы
(которые затем вызываются во время выполнения текущей программы),
или включать их в основную программу обычным способом редактирова-
ния связей. Преимуществом первого способа является уменьшение раз-
меров основной программы, но я предпочитаю собирать все командные
последовательности в один EXE-файл, чтобы пользователь не заботил-
ся о каких-то других файлах.
Кроме того, теперь поддерживаются оверлейные структуры, бла-
годаря чему программы на Бейсике могут быть больше, чем свободная
оперативная память. Оверлейные структуры поддерживаются для прог-
рамм с размером EXE-файлов до 16 Мбайт. Поскольку транслятор соз-
дает стандартные объектные модули, можно собирать вместе програм-
мы, написанные на Бейсике, Си, Паскале или Фортране фирмы
Microsoft. Система может быть также использована для разработки
прикладных программ на Бейсике для среды OS/2, и большая часть
поставляемых инструментальных средств (в том числе текстовый ре-
дактор Microsoft Editor) может работать в этой операционной систе-
ме. Однако библиотека процедур ISAM расчитана только на операцион-
ную систему MS-DOS, при программировании для OS/2 ее использовать
нельзя. Кроме того, Microsoft Basic пока не предоставляет средств
для создания "связанных" EXE-файлов (это особым образом создавае-
мые EXE-файлы, которые могут выполняться как в MS-DOS, так и в за-
щищенном режиме OS/2).
|