Рис. 1. Простмотр магазинов


Приведем пример развития программы. Допустим, что у нас имеются стандартная программа для подготовки накладных и счетов-фактур и стандартная программа PrintText. exe для вывода текстового файла на принтер, имя которого надо указать первым параметром программы. Добавим к структуре нашего примера два новых пункта.


3. Создание накладных и счетов-фактур

4. Вывод накладных и счетов-фактур на принтер


Рассмотрим, как настраивается 4 пункт (рис. 2).


Рис. 2. Мы ввели два новых пункта


Откроем текстовый файл этого пункта и запишем такой текст в первую строку этого файла:

PrintText. exe Rezult. txt

Теперь, чтобы напечатать накладные и счета-фактуры, надо нажать Enter в 4-м пункте структуры.

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

Структура удобно и легко формируется, корректируется, просматривается как с помощью клавиш, так и с помощью мышки. Приведем основные операции для работы со пунктами структуры.

Операции просмотра структуры, которыми пользуются и конечные пользователи и программисты:

– двигаться по списку пунктов одного уровня,

– опуститься в подпункт,

– подняться из подпункта.


Операции изменения структуры, которые работают только в режиме программирования:

– создать новый,

– удалить (вместе с подпунктами),

– вырезать (перенести в буфер вместе с подпунктами),

– копировать (копировать в буфер вместе с подпунктами),

– извлечь (перенести из буфера в структуру вместе с подпунктами),

– редактировать свойства пункта.


Необходимо отметить, что операции с буфером – вырезать, копировать, извлечь – отличаются тем, что перенесенные в буфер объекты никогда не удаляются автоматически, а могут быть только перенесены из буфера в структуру. Чтобы удалить объект физически, надо его убрать из структуры операцией «удалить». Объекты буфера физически находится там же, где все остальные объекты структуры, они лишь хорошо спрятаны, поэтому они не пропадают даже при выключении компьютера. Это сделано в интересах программиста, который может при необходимости вернуть в структуру ошибочно вырезанный пункт.

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

Остановимся на свойствах пункта. Свойствами являются наименование пункта, характеристики шрифта, пароль, комментарий, параметры автоматического запуска. Все свойства, кроме последнего, понятны и не требуют пояснений. А вот автоматический запуск – это очень полезное средство, которое сделало оболочку эффективным инструментом программирования.

Остановимся подробнее на том, как можно организовать автоматический запуск последовательности программ. Описанные выше возможности структуры позволяют удобно работать пользователю лишь в режиме диалога. Чтобы выполнить какое-то законченное действие, надо найти нужный пункт и кликнуть его. Если получение результата требует выполнения нескольких пунктов, то пользователь должен кликнуть все эти пункты. Возникает некоторое противоречие. Программисту удобнее разбить процесс получения нужного результата на последовательность более простых операций. Напротив, пользователю было бы удобное выполнить для этого лишь один пункт. Как быть? Был придуман простой способ преодоления этого противоречия. Покажем на примере. В приведенном ниже примере запрограммирована обработка запроса – выбрать из базы данных список сотрудников по некоему признаку отбора и напечатать их анкеты. Программист может для этого создать и запрограммировать следующие пункты: