Графический интерфейс пользователя

Материал из ПМК вики
Перейти к: навигация, поиск

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

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

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

Работа интерфейса[править]

В качестве команд управления графическим интерфейсом используются коды кнопок ЭВМ  Выход  (32),  Ввод  (33),    (34),    (35),    (36),    (37), а также специальный код 64, по которому производится безусловная перерисовка экранной формы. Все команды выполняются по правилам, определенным флагами действий активного элемента в загруженной экранной форме.

Перед началом работы интерфейса программе пользователя необходимо включить функции интерфейса (записать 1 в регистр памяти с адресом 9200), запрограммировать адрес главной таблицы меню (R9201), загрузить указатели, соответствующие начальной экранной форме (R9202, R9203) и подать команду перерисовки экранной формы (записать 64 в регистр памяти с адресом 9208), после чего автоматически выполняются следующие операции.

По номеру экранной формы из главной таблицы меню находится адрес таблицы экранной формы и, по номеру активного элемента, загружается регистр действий. Далее в область графического экрана последовательно выводятся графические объекты, строки текста и числа, запрограммированные в основной программе загруженной формы, а затем объекты, строки и числа, запрограммированные в программе для активного элемента. После этого содержимое графической памяти выводится на индикатор (аналогично действию команды К ГРФ), в регистр результата заносится число 0.

Дальнейшая работа программы пользователя должна происходить в цикле, в котором содержимое буфера клавиатуры (R9029) передаётся в регистр команд интерфейса (R9208).

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

Если в регистр результата выполнения операции (R9209) после отрисовки формы заносится код 1, то программа пользователя должна выполнить некоторые действия, исходя из считываемых значений указателей экранной формы (R9202, R9203) и последней поданной команды интерфейса (R9208).

Если во время отрисовки экранной формы возникает ошибка (код от 2 до 6), то содержимое графической памяти на индикатор не выводится, в регистр результата выполнения операции (R9209) заносится код ошибки.

Ссылки[править]