Графический интерфейс пользователя: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 7: Строка 7:
== Работа интерфейса ==
== Работа интерфейса ==


В качестве [[Команды управления графическим интерфейсом|команд управления графическим интерфейсом]] используются [[Код клавиши|коды кнопок ЭВМ]] [[Команда ВЫХОД|{{Синяя клавиша|Выход}} (32)]], [[Команда ВВОД|{{Синяя клавиша|Ввод}} (33)]], [[Команда ВЫБОР ВПРАВО|ВЫБОР ВПРАВО (34)]], [[Команда ВЫБОР ВЛЕВО|ВЫБОР ВЛЕВО (35)]], [[Команда ВЫБОР ВВЕРХ|ВЫБОР ВВЕРХ (36)]], [[Команда ВЫБОР ВНИЗ|ВЫБОР ВНИЗ (37)]], а также [[Команда 64|специальный код 64]], по которому производится безусловная перерисовка экранной формы. Все команды выполняются по правилам, определенным [[R9204|флагами действий]] [[R9203|активного элемента]] в [[R9202|загруженной экранной форме]].
В качестве [[Команды управления графическим интерфейсом|команд управления графическим интерфейсом]] используются [[Код клавиши|коды кнопок ЭВМ]] [[Команда ВЫХОД|{{Синяя клавиша|Выход}} (32)]], [[Команда ВВОД|{{Синяя клавиша|Ввод}} (33)]], [[Команда ВЫБОР ВПРАВО|{{Серая клавиша|→}} (34)]], [[Команда ВЫБОР ВЛЕВО|ВЫБОР ВЛЕВО (35)]], [[Команда ВЫБОР ВВЕРХ|ВЫБОР ВВЕРХ (36)]], [[Команда ВЫБОР ВНИЗ|ВЫБОР ВНИЗ (37)]], а также [[Команда 64|специальный код 64]], по которому производится безусловная перерисовка экранной формы. Все команды выполняются по правилам, определенным [[R9204|флагами действий]] [[R9203|активного элемента]] в [[R9202|загруженной экранной форме]].


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

Версия от 00:07, 16 февраля 2015

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

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

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

Работа интерфейса

В качестве команд управления графическим интерфейсом используются коды кнопок ЭВМ  Выход  (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) заносится код ошибки.

Ссылки