ЗАДАНИЕ XXVIII
Тема: Проектирование в среде
Stratum автоматизированных рабочих мест (АРМ) Цель: Краткое знакомство с инструментарием необходимым для проектирования в среде Stratum АРМ'ов. |
Перед началом работы необходимо:
владеть работой с клавиатурой и мышкой; | |
владеть основными приемами работы в системе Stratum. |
Основные понятия Автоматизированные рабочие места (АРМ) представляют собой программные средства для автоматизированной обработки данных и документооборота (например, бухгалтерские АРМы). В основном ввод данных в АРМ'ах представляет собою заполнение некоторых стандартных форм или таблиц баз данных. После чего данные сохраняются в базах и после этого проходят стадии обработки. Данные могут быть представлены как в виде таблиц, так и в виде различных графических средств: диаграмм, гистограмм, графиков и так далее. В данном практикуме будут описаны средства и приёмы для построения форм ввода и вывода (отчётов) данных, таблиц. Организация форм ввода информации В формах ввода чаще всего используется несколько типов полей для воода: символьные (строки), числовые, бинарные (да или нет). Могут присутствовать списки выбора. В стандартных имиджах Stratum есть все эти необходимые компоненты. Строкам ввода соответствуют имиджи класса StringEdit из библиотеки Controls. Числовым полям соответствуют имиджи класса Numberln из библиотеки Controls. Бинарные поля можно организовать с помощью имиджей класса CheckBox или RadioButton. Списки выбора можно сделать с помощью имиджей класса ComboBox. Для собирания формы ввода необходимо создать имидж и подсхему у него. В созданной подсхеме и будем формировать форму ввода. Для отображения данной подсхемы поставим имидж LGSpace, в котором переменной ClassName установим значение имени класса имиджа, в подсхеме которого у нас находится форма ввода. В подсхеме необходимо у всех имиджей ввода данных установить переменную WindowName в имя окна, которое задано в имидже LGSpace. Так же необходимо установить в подсхеме контактную площадку и связать связами необходимые переменные от имиджей ввода данных с имиджем формы ввода. В имидже можно организовать обработку вводимых данных, проверку на корректность ввода. Ниже вы видите пример формы ввода данных. Если ввод осуществляется в таблицы баз данных, то как организовать это в Stratum прочитайте в соответствующем учебном практикуме по базам данных. Организация форм вывода данных (отчётов). Технологич создания отчётов и вывода их ничем не отличается от технологии создания форм ввода. Разве что набор стандартных имиджей уменьшается до имиджей: StringEdit и NumberView. На этих двух имиджах можно собрать любой отчёт (форму вывода). Организация АРМ'а в виде систем меню Все разрозненные таблицы и формы необходимо связать между собой необходимыми операциями. Для этого существует система меню, из которой пользователь может вызывать необходимые таблицы, формы, производить действия над данными. В Stratum есть стандартный имидж для организации меню - Menu в библиотеке Unit.
Меню задаётся в ресурсном файле, где хранится описание меню. Структура этого описания следующая (рассмотрим на примере):
Начинается файл служебным словом menu, после чего идут программные скобки { }, в которых описывается само меню. Пункт меню после выбора которого появляется всплывающее подменю описывается служебным словом popup "имя" {}, дальше в программных скобках перечисляются пункты меню с помощбю конструкции MENUITEM "наименование", код команды. Этот код команды будет возвращать имидж Menu при выбора соответствующего пункта. Так же можно использовать служебное слово SEPARATOR, это как бы логический разделитель пунктов меню. Выглядит как линия отделяющая группы пунктов.
|
Задание
Создайте проект в котором из пункта меню будет возможно выбрать для заполнения 2 анкеты.
Создайе новый проект и вставьте из библиотеки Unit имидж Menu. Создайте в каталоге проекта файл menu.rc и занесите в него структуру меню следующего вида:
menu { popup "Работа" { MENUITEM "Заполнение Анкеты 1",10001 MENUITEM "Заполнение Анкеты 2",10002 } } |
В переменной FileName имиджа Menu укажите названия файла menu.rc. Далее, надо создать имидж, который будет обрабатывать команды, выбранные в меню. Назовём его control. Объявим в нём переменную FLOAT command и свяжем с имиджем Menu по этой переменной. После этого создадим имиджи, в подсхеме которых будут храниться необходимые анкеты. Назовём их Anketa1 и Anketa2. В подсхеме создайте анкетные формы. В Имидже обработки команд controls добавим переменые дескрипторы на окна с анкетами HANDLE HAnketa1, HAnketa2. В данном имидже по выбору пункта меню будем открывать соответствующую анкету. Текст имиджа controls следующий:
FLOAT command HANDLE HAnketa1, HAnketa2 if (~command==10001) if (~HAnketa1==#0) HAnketa1 := OpenSchemeWindow("Anketa1","Anketa1","WS_NORMAL|WS_BYSPACE") r := SetWindowPos("Anketa1",120,20,500,300) endif command := 0 endif if (~command==10002) if (~HAnketa2==#0) HAnketa2 := OpenSchemeWindow("Anketa2","Anketa2","WS_NORMAL|WS_BYSPACE") r := SetWindowPos("Anketa2",120,20,500,300) endif command := 0 endif |
В имиджах Anketa1 и Anketa2 объявите необходимые переменые, которые будут устанавливаться из анкеты и в подсхеме свяжите их через контактную площадку с полями ввода информации. После этого запускайте проект и выбирая пункты меню сможете получить доступ к заполнению анкетных форм. Пример выполнения данного задания можете глянуть здесь.
Дополнительные задания
Создайте проект, в котором добавлена к предыдущему проекту возможность вывода введённых ранее и обработанных данных. | |
Создайте проект в котором введённые данные обрабатываются и записываются в базу данных, после чего есть возможность просмотреть эту базу. |