ПК-ностальгия
HOME
Железо
Программы
Оборудование
Статьи и публикации
Фототаблица
Ссылки
Почта
Гостевая
ПОИСК
Новости Яndex
О сайте

Этот сайт предназначен, прежде всего, людям, ностальгирующим по ушедшим РУССКОМУ СЛОВУ, Windows 3.1, ФОТОНУ, процессорам 486SX и иже с ними.
Конечно, времена должны идти вперед, но почему они обязательно должны уходить?

StuhlbergR 2007-2008 ©
Новая диалоговая оболочка системы МАСТЕР

Д.Б. Куксенко

Новая диалоговая оболочка системы МАСТЕР предоставляет пользователю дополнительный сервис, а прикладному программисту - средства объектно-ориентированного программирования и возможности адаптации и расширения оболочки.

ВВЕДЕНИЕ
Недавно появившаяся диалоговая оболочка, реализующая ИС МАСТЕР версии 1.1, сохраняет все функциональные возможности предыдущей версии (1.0) и в то же время дает много нового пользователям и прикладным программистам.

Новую оболочку можно использовать вместо старой или работать в обеих оболочках попеременно. Для того, чтобы не усложнять переход с текущей версии 1.0 на версию 1.1, в новой оболочке почти весь диалоговый интерфейс оставлен прежним. В то же время ее программная "начинка" сменилась полностью. На уровне определяемых функций, составляющих ядро оболочки, было реализовано объектно-ориентированное программирование (ООП), в явном виде в ядре системы МАСТЕР не предусмотренное. Кроме того, в ядро оболчки был введен ряд новых определяемых функций общего назначения, а сама оболочка стала конфигурироваться с помощью текстового файла.

Изменения в архитектуре оболочки сделали ИС МАСТЕР более гибкой и позволили добавить в диалоговый интерфейс новые возможности. В результате конечные пользователи системы получили удобную, содержащую дополнительный сервис рабочую среду.

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

АРХИТЕКТУРА СИСТЕМЫ МАСТЕР

Инструментальная система МАСТЕР предназначена для построения прикладных диалоговых систем. Архитектуру системы составляют постоянное (неизменяемое) ядро и сменная диалоговая оболочка - набор программ на встроенном в ядро языке программирования.
Ядро системы обеспечивает хранение в оперативной памяти данных пользователя, их отображение на экране дисплея, а также простейшие средства диалоговой обработки этих данных. Кроме того, в ядро встроен процедурный язык программирования четвертого поколения Мастер. Язык представлен компилятором, декомпилятором и библиотекой встроенных функций, реализующих практически все необходимые операции обработки данных, взаимодействия с DOS, управления работой самого ядра. Средства структуризации программ (организации условного ветвления и циклов) для единообразия оформлены также в виде встроенных функций. Диалоговые оболочки ядра, пользуясь его возможностями, могут реализовать различные прикладные системы, где диалог с пользователем (меню, запросы, "горячие клавиши" и т.п.) и процедурная часть обработки данных программируются на встроенном языке. Программируются также все операции ввода-вывода и доступа к базе данных. При необходимости с помощью языка Мастер можно дополнять или переопределять диалоговые возможности самого ядра.
В стандартной поставке системы МАСТЕР к ядру прилагается оболочка, которая реализует интегрированную систему (ИС) в общепринятом смысле этого термина, т.е. позволяет одновременно работать с текстами, электронными таблицами, деловой графикой и рисунками, базами данных. По возможностям и интерфейсу оболочка (которую часто называют ИС МАСТЕР) напоминает пакет Framework III, но, в отличие от него, предоставляет прикладным программам определенные средства для разработки других оболочек.
Ядро системы МАСТЕР позволяет хранить в оперативной памяти данные одного из следующих типов: число, строка (длиной до 250 символов), текст (состоящий из произвольного числа строк), рисунок, формула (программа на языке Мастер), электронная таблица, указатель на запись базы данных. Все виды информации ядро содержит в так называемых "рамках". На экране рамки выглядят как прямоугольные окна, в которых видно их содержимое (скомпилированные формулы в рамках не видны; вместо указателя записи БД в рамке показывается сама запись). Кроме рамок, содержащих собственно данные, существуют так называемые составные рамки, хранящие в себе другие рамки. Составные рамки служат для иерархической структуризации информации, при этом глубина вложенности составных рамок может быть произвольной.
Одна из рамок всегда является активной, т.е. внутри нее высвечивается курсор, и нажатия клавиш на клавиатуре передаются именно этой рамке. При этом с данными работает один из четырех встроенных в ядро диалоговых процессоров. Числа, строки, тексты и некомпилированные функции обрабатывает текстовый процессор; электронные таблицы - табличный; рисунковый процессор поддерживает диалог в рамках с рисунками, а рамковый процессор - в составных рамках и рамах, содержащих указатели записей БД. Каждый из процессоров реагирует лишь на определенный набор клавиш (такие реакции называются стандартными действиями клавиш). Если нажата клавиша, неизвестная активному процессору, либо нажата известная, но перепрограммированная клавиша, соответствующую ей формулу по определенным правилам ищет и выполняет ядро системы МАСТЕР. О формулах стоит сказать несколько подробнее. Имея три назначения, они, соответственно, хранятся тремя различными способами. Во-первых, они могут быть традиционными формулами электронных таблиц и располагаться в табличных ячейках. Во-вторых, они могут представлять собой определяемые пользователем функции (это второй вид функций, используемых наряду со встроенными при программировании на языке Мастер). Такие формулы хранятся в рамках, причем имя рамки является одновремено именем функции (имена определяемых функций не должны совпадать с именами встроенных). Определяемая функция может быть вызвана по имени в качестве подпрограммы из произвольной формулы, в том числе рекурсивно из себя самой. Наконец, в-третьих, формулы могут реализовать так называемые фильтры, или локальные действия клавиш. Такие формулы связываются внутри отдельных произвольных рамок с определенными клавишами или группами клавиш. Каждый фильтр срабатывает только в том случае, когда рамка с фильтром является активной, и пользователь нажимает клавишу, с которой связан этот фильтр.
Если нажатая клавиша не имеет в активной рамке ни стандартного, ни локального действия, ядро пытается найти запрограммированное на языке Мастер так называемое глобальное действие - определяемую функцию с именем нажатой клавиши.* И если находит, то выполняет. Функция имеет такое название, потому что она может быть найдена и выполнена из разных рамок, в которых действует один и тот же процессор. Например, в диалоговой оболочке, реализующей ИС МАСТЕР, предусмотрены две функции - глобальные действия с именами {PLUS} и {MINUS}. Они позволяют пользователю в диалоге перемещать курсор по иерархии рамок. Первая из них перемещает курсор из активной составной рамки в ту рамку, которая в этот момент отмечена курсором. Вторая, напротив, выводит курсор из любой рамки наружу - в содержащую ее составную рамку. Таким способом для пользователя на экране дисплея создается среда, состоящая из визуальных объектов - рамок. В этой визуальной среде с помощь клавиш можно перемещаться, переходя из рамки в рамку, просматривать и изменять содержимое рамок.
Система МАСТЕР показывает рамки на так называемом рабочем поле, под которое отводится весь экран дисплея, за исключением трех информационных строк. Рабочее поле - не единственное место, где могут располагаться рамки. Программы диалоговой оболочки система МАСТЕР держит в так называемой скрытой области. Скрытой она называется потому, что находящиеся в ней рамки не показываются на экране и не доступны для диалоговой обработки. Вся оперативная память системы МАСТЕР, таким образом, делится на две части - "рабочее поле" и скрытую область.
Подробно идеология и архитектура системы МАСТЕР описана в книге Е.Н. Веселова "Интегрированная система МАСТЕР для ПЭВМ" (М.: Финансы и статистика, 1989).

--------------------------------
*Для всех символьных клавиш в системе МАСТЕР именем является сам символ, а остальные клавиши (названные функциональными) имеют специальные имена, например, {F10}, {CTRL-LEFT}, {SHIFT-DEL}.

ПОСТРОЕНИЕ ДИАЛОГОВЫХ ОБОЛОЧЕК
Все функции, составляющие диалоговую оболочку системы, собраны в одну составную рамку, называемую библиотекой диалоговой оболочки ("Биб")*. Эта библиотека автоматически загружается ядром системы МАСТЕР в начале сеанса работы из файла BIB.MAS в скрытую от пользователя область памяти (см. врезку "Архитектура системы МАСТЕР").

Рамка Биб на рабочем поле
Рис. 1. Рамка "Биб" на рабочем поле

Вместе с тем, рамку-библиотеку можно считать с диска на рабочем поле (рис. 1). При этом в оперативной памяти будут находиться два экземпляра одной рамки. Один (в скрытой области) будет активным, т.е. именно в нем будут выполняться программы оболочки. Другой экземпляр, находящийся на рабочем поле и содержащий те же функции, будет в неактивном состоянии. Поэтому в него будет возможно внести исправления и записать исправленный экземпляр рамки "Биб" опять в файл BIB.MAS. Тогда при следующем запуске ИС МАСТЕР программы-оболочки будут работать уже по-иному.

Поскольку практически все процедуры обработки данных и диалога с пользователем сосредоточены в программах оболочки, последняя определяет "лицо" прикладной системы. Простота программирования на языке Мастер делает это "лицо" легко изменяемым. Любой пользователь при желании может модифицировать оболочку, внеся изменения в ее программы. Наиболее опытные программисты могут вообще переписать всю оболочку. С помощью системы МАСТЕР создаются произвольные прикладные системы, позволяющие работать с текстами, таблицами, базой данных, графической информацией, например, АРМ для бухгалтерии, кадровой службы, редакции журнала, коммерческого банка, ателье по пошиву одежды и т.д. Общим в таких системах является только ядро системы МАСТЕР, а остальные компоненты могут быть частично сходными или совсем различаться.


ИНТЕРФЕЙС НОВОЙ ОБОЛОЧКИ
Основные возможности новой оболочки системы МАСТЕР версии 1.0 описаны в статье О.С. Черемных "МАСТЕР на все руки!" ("Мир ПК", №8/91). Версия 1.1. предлагает пользователю дополнительный сервис.

Возможность конфигурирования и настройки оболочки
В новой оболочке введены понятия конфигурации и настройки. Под конфигурацией оболочки понимается описание имеющихся в системе классов рамок, доступных прикладных Мастер-программ, гарнитур печати и т.п. Отличительной чертой конфигурации является то, что в течение одного сеанса работы с ИС МАСТЕР она не изменяется. Под настройкой понимается описание различных режимов работы как оболочки в целом, так и ее отдельных компонент. Все режимы, описываемые в настройке, могут изменяться по ходу работы с ИС МАСТЕР.

Файлы конфигурации и настройки, загруженные на рабочее поле
Рис.2. Файлы конфигурации и настройки, загруженные на рабочее поле

Конфигурация и настройка описываются в текстовых файлах простой структуры, подобных конфигурационным файлам Windows (см. рис. 2). Эти файлы считываются ядром оболочки в момент запуска ИС МАСТЕР. Кроме того, при запуске системы считывается третий файл аналогичной структуры, описывающий стартовые действия. Эти действия выполняются подобно тому, как выполняется командный файл AUTOEXEC.BAT при загрузке DOS.

Пользователь может реконфигурировать систему с помощью специальной программы. После реконфигурации требуется перезапустить ИС МАСТЕР. Настройку можно изменять непосредственно во время работы с ИС МАСТЕР, используя меню. Кроме того, с помощью любого текстового редактора возможно сделать исправления в конфигурационном или настроечном файле.

Оптимизация использования памяти
Наиболее "узким" местом всех интегрированных систем того же класса, что и МАСТЕР (например, Framework или Lotus 1-2-3), является ограниченность объема оперативной памяти, доступной для данных и программ. Ядро системы МАСТЕР занимает около 300 Кбайт оперативной памяти, поэтому (при перезапуске из DOS 3.30 или 4.х без резидентных программ) на долю диалоговой оболочки и данных пользователя остается не более 290 Кбайт (MS-DOS версии 5.0 на машинах типа IBM PC AT 286/386/i486 позволяет несколько увеличить этот размер). Поскольку диалоговая оболочка должна занимать как можно меньше места, большая часть ее программ выполнена в виде динамически загружаемых модулей, называемых здесь оверлеями.

В то же время, ИС МАСТЕР - одна из немногих интегрированных систем, способных работать на маломощных ПК (даже без жесткого диска!). Очевидно, что при работе с дискетами оверлеев быть не должно. Между этими противоречивыми требованиями был найден компромисс: система может работать в трех режимах. Один режим запрещает выгрузку оверлеев из памяти - этот вариант хорош при работе с дискет. Второй вариант позволяет выгружать оверлеи, но не все, а наиболее редко используемые. Этот режим вполне подходит для IBM PC XT с жестким диском. Для более мощных машин можно установить третий режим, при котором все оверлеи выгружаются из памяти сразу же после выполнения. В этом режиме резидентная часть диалоговой оболочки занимает около 40 Кбайт.

Использование оверлеев позволяет экономить оперативную память, оставляя больше места для данных пользователя. Но и сами данные можно хранить в памяти более экономно. Если набор рамок, с которыми пользователь постоянно работает, в памяти не умещается, то приходится часто обращаться к меню, записывая и удаляя из памяти одни рамки и загружая жругие. Это представляет определенное неудобство, избавиться от которого позволяют специальные пиктограммы. При этом реально рамка хранится на диске, а на рабочем поле вместо нее находится другая рамка - пиктограмма с тем же именем. Эта рамка занимает очень мало оперативной памяти. Если попытаться в нее войти, то она автоматически подменится настоящей рамкой, тут же загружаемой с диска. При выходе из рамки, имеющей свою пиктограмму, она также автоматически сохранится на диске и снова подменится пиктограммой. Такой механизм достаточно удобен и позволяет высвобождать значительный объем оперативной памяти.

Автоматическое сохранение рамок пользователя
Пользователь часто пренебрегает необходимостью регулярно сохранять результаты своей работы на диске. При неожиданном "зависании" компьютера или его выключении несохраненные данные теряются. Система автоматического сохранения предохраняет от такой потери данных. Регулярно, раз в несколько минут, она сохраняет на диске (в каталоге, из которого была запущена ИС МАСТЕР) текущее состояние данные пользователя. При аварийном завершении работы ИС МАСТЕР с последующим ее перезапуском (из того же каталога) система восстанавливает данные, сохраненные в последний раз.

ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ИС МАСТЕР

Интегрированная система МАСТЕР версии 1.1 - это многофункциональная программная среда, предназначенная для автоматизации различных видов учрежденческой деятельности. Это полностью русскоязычная система, т.е. она не зависит от особенностей аппаратуры (например, отсутствия поддержки кириллицы); допускает равноправное использование русских и латинских букв во всех случаях, в том числе, и при программировании на встроенном языке. Основные компоненты ИС МАСТЕР следующие:

Система управления базами данных реляционного типа предназначена для создания информационно-поисковых систем. Для организации запросов и поиска используется удобный диалоговый табличный интерфейс, напоминающий QBE (Query by Example - запрос по образцу), но более простой в обращении. Система обладает генераторами отчетов и средствами тиражирования корреспонденции. Поля записей базы данных могут содержать многострочные тексты и рисунки. СУБД поддерживают работу в локальной сети. Имеется возможность шифрования хранимых в базе данных доступа к данным по паролю.

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

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

Деловая графика позволяет отображать информацию из таблиц в виде графиков различных видов (XY-зависимости, столбиковые гистограммы, круговые диаграммы и их комбинации). На одном рисунке можно построить до 8 графиков.

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

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

Минимальные требования к техническим средствам:
     ПК, совместимые с IBM PC XT/AT;
     512 Кбайт оперативной памяти;
     операционная система MS-DOS 3.3 или выше;
     гибкие диски и/или жесткий диск;
     адаптеры MDA, CGA, EGA, VGA или Hercules;
     принтеры, совместимые с Epson FX-80, Epson LQ-24 или HP LaserJet II.

Сохранение "рабочего поля" и настройки
Во время работы с ИС МАСТЕР или при ее завершении пользователь может сохранить список всех рамок, находящихся на рабочем поле. Информация сохраняется в специальном файле в текущем каталоге. В дальнейшем можно воспользоваться этой информацией и считать на рабочее поле все перечисленные в списке рамки. Один из режимов, описываемых в настройке оболочки, дает возможность автоматически сохранять рабочее поле в момент завершения работы и загружать его во время следующего запуска системы.

В любой момент можно также сохранить текущее состояние настройки системы. Возможно и автоматическое сохранение настройки в конце сеанса работы с ИС МАСТЕР (за это "отвечает" один из ее режимов). Настройка, как и рабочее поле, сохраняется в текущем каталоге. При следующем запуске ИС МАСТЕР из того же каталога система восстанавливает сохраненную настройку.

-----------------------
*Часть этих программ записана в отдельные файлы и загружается в "Биб" во время работы в качестве оверлеев.

[1] [2] [3]

Статья была опубликована в журнале "Мир ПК" №8 1992


Программы

Большинство предоставленного здесь материала является цитированием со старых номеров компьютерных журналов, таких, как "Мир ПК" или "Весь Компьютерный Мир". К сожалению, все мои попытки связаться с этими изданиями по поводу вопроса о цитировании были безуспешны. Издания упорно хранили молчание. Что я разрешил себе расценивать как знак согласия, указывая, тем не менее, повсюду как выходные данные издания (с работающей ссылкой на Интернет-представительство), так и автора публикации. Тем более, что, в силу срока давности этих публикаций, вряд ли материал можно рассматривать как коммерческий или рекламный, пусть даже названия фирм здесь и присутствуют (уж без этого никуда). Ежели появятся какие претензии по оному поводу, прошу издания связаться со мной

Райво Штулберг


Rambler's Top100

Рейтинг@Mail.ru Портал HotINDEX: знакомства, товары, хостинг, создание сайта, Интернет-магазин, развлечения, анекдоты, юмор, эротика, погода, курсы валют и многое другое! Сайт Татьяны Полукаровой Яндекс цитирования Каталог Ресурсов Интернет
Белый каталог сайтов Литературное ДАО Практическая педагогика. Авторский сайт Штулберг Надежды Васильевны

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