Остановимся на свойствах пункта. Свойствами являются наименование пункта, характеристики шрифта, пароль, комментарий, параметры автоматического запуска. Все свойства, кроме последнего, понятны и не требуют пояснений. А вот автоматический запуск – это очень полезное средство, которое сделало оболочку эффективным инструментом программирования.
Остановимся подробнее на том, как можно организовать автоматический запуск последовательности программ. Описанные выше возможности структуры позволяют удобно работать пользователю лишь в режиме диалога. Чтобы выполнить какое-то законченное действие, надо найти нужный пункт и кликнуть его. Если получение результата требует выполнения нескольких пунктов, то пользователь должен кликнуть все эти пункты. Возникает некоторое противоречие. Программисту удобнее разбить процесс получения нужного результата на последовательность более простых операций. Напротив, пользователю было бы удобное выполнить для этого лишь один пункт. Как быть? Был придуман простой способ преодоления этого противоречия. Покажем на примере. В приведенном ниже примере запрограммирована обработка запроса – выбрать из базы данных список сотрудников по некоему признаку отбора и напечатать их анкеты. Программист может для этого создать и запрограммировать следующие пункты:
Ввести признаки отбора.
Выполнить выборку нужных строк в рабочий файл.
Отсортировать строки этого файла по алфавиту.
Сформировать анкеты из выбранных строк.
Просмотр анкет и вывод их на принтер.
Выполняя последовательно эти пять пунктов, можно обработать запрос. Однако пользователю так работать неудобно. Для обработки каждого запроса ему надо кликнуть пять пунктов. Чтобы сделать работу более удобной, надо немного модифицировать структуру и использовать автоматический запуск. Как это сделать? Сначала надо создать новый пункт « Выборка из базы и формирование анкет », а первые четыре пункта примера перенести в его подпункты. Затем необходимо ввести параметры запуска. Для наглядности параметры запуска вводятся в наименования пунктов. Получим следующую структуру:
:? Выборка из базы и формирование анкет
1.1. * Ввести признаки отбора
1.2. * Выполнить выборку нужных строк в рабочий файл
1.3. * Отсортировать строки этого файла по алфавиту
1.4. * Сформировать анкеты из выбранных строк
2. Просмотр анкет и вывод их на принтер
Как реагирует оболочка на символы, расставленные в наименования пунктов? Если в наименовании присутствует вопрос, то оболочка перед выполнением пункта спрашивает пользователя: «Выполнить этот пункт?» Если присутствует двоеточие, то оболочка последовательно просматривает все дерево подпунктов и автоматически выполняет пункты, помеченные звездочкой. В поддереве первого пункта находится некая макропрограмма, выполняющая указанную в этом пункте функцию. Как теперь может работать конечный пользователь? Он видит на экране два пункта:
1:? Выборка из базы и формирование анкет
2. Просмотр анкет и вывод их на принтер
Для выборки и подготовки анкет ему надо просто кликнуть первый пункт. Знак вопроса, поставленный, чтобы не запускать его нечаянно, заставит оболочку запросить подтверждение. Если вы подтвердите запуск, то оболочка, обнаружив двоеточие, последовательно выполнит все подпункты, помеченные звездочками. Понятно, так пользователю будет работать удобнее. При этом возможность работать в режиме диалога всегда остается. Для диалога надо спуститься в подпункты клавишей «стрелка – вправо», которая игнорирует двоеточие. Диалог используется программистом при создании и отладке макропрограммы. Обычно в поддереве присутствуют некоторые дополнительные пункты, не помеченные звездочками, предназначенные для просмотра промежуточных результатов.
Представление данных и библиотека модулей
Данные в системе ВИК представляются в виде многострочных таблиц. Строки разбиты на показатели (столбцы). Каждая таблица хранится в отдельном файле. Устройство любой таблицы полностью описывается неким текстом, который называется макетом таблицы. В макетах присутствуют: имя файла, имена, размеры и типы показателей, параметры вида таблицы на экране, информация для модулей, обрабатывающих данные. Между таблицами могут быть установлены иерархические отношения, которые описываются также в макетах таблиц. Отношения между таблицами конструируются из множества элементарных связей, указанных в макетах. Элементарная связь – это связь показателя таблицы с другой таблицей, которую можно назвать подтаблицей. Покажем на примере суть элементарной связи.
Читать дальше