Редактирование: Графический интерфейс пользователя
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
В ЭВМ реализована возможность организации пользователем '''графического интерфейса''', состоящего из связанных [[экранная форма|экранных форм]], представляющих собой систему | В ЭВМ реализована возможность организации пользователем '''графического интерфейса''', состоящего из связанных [[экранная форма|экранных форм]], представляющих собой систему меню. Каждая экранная форма может содержать графические объекты (изображения, прямоугольники, рамки), строки текста и числа, расположенные на графическом экране в произвольных местах. Интерфейс обеспечивает выбор активного элемента в текущей экранной форме, переход из одной экранной формы в другую, вывод из памяти ЭВМ текстовых строк и числовых значений, а также ввод в память данных ЭВМ десятичных и шестнадцатеричных чисел. | ||
Экранные формы расположены в [[память программ|памяти программ]] ЭВМ и выполнены в виде [[Структура экранной формы|компактных структур]]. Все экранные формы пронумерованы. Связь между структурами экранных форм осуществляет [[главная таблица меню]], в которой номеру экранной формы сопоставлен адрес начала [[Структура экранной формы|соответствующей структуры]] в [[память программ|памяти программ]]. | Экранные формы расположены в [[память программ|памяти программ]] ЭВМ и выполнены в виде [[Структура экранной формы|компактных структур]]. Все экранные формы пронумерованы. Связь между структурами экранных форм осуществляет [[главная таблица меню]], в которой номеру экранной формы сопоставлен адрес начала [[Структура экранной формы|соответствующей структуры]] в [[память программ|памяти программ]]. | ||
Строка 7: | Строка 7: | ||
== Работа интерфейса == | == Работа интерфейса == | ||
В качестве | В качестве команд управления графическим интерфейсом используются [[Код клавиши|коды кнопок ЭВМ]] ВЫХОД (32), ВВОД (33), ВЫБОР ВПРАВО (34), ВЫБОР ВЛЕВО (35), ВЫБОР ВВЕРХ (36), ВЫБОР ВНИЗ (37), а также специальный код 64, по которому производится безусловная перерисовка экранной формы. Все команды выполняются по правилам, определенным флагами действий активного элемента в загруженной экранной форме. | ||
Перед началом работы интерфейса программе пользователя необходимо включить функции интерфейса (записать 1 в [[R9200|регистр памяти с адресом 9200]]), запрограммировать адрес [[Главная таблица меню|главной таблицы меню]] ([[R9201]]), загрузить указатели, соответствующие начальной экранной форме ([[R9202]], [[R9203]]) и подать | Перед началом работы интерфейса программе пользователя необходимо включить функции интерфейса (записать 1 в [[R9200|регистр памяти с адресом 9200]]), запрограммировать адрес [[Главная таблица меню|главной таблицы меню]] ([[R9201]]), загрузить указатели, соответствующие начальной экранной форме ([[R9202]], [[R9203]]) и подать команду перерисовки экранной формы (записать 64 в [[R9208|регистр памяти с адресом 9208]]), после чего автоматически выполняются следующие операции. | ||
По | По номеру экранной формы из [[Главная таблица меню|главной таблицы меню]] находится адрес [[Структура экранной формы|таблицы экранной формы]] и, по номеру активного элемента, загружается [[R9204|регистр действий]]. Далее в область [[графический экран|графического экрана]] последовательно выводятся графические объекты, строки текста и числа, запрограммированные в [[Основная программа экранной формы|основной программе]] загруженной формы, а затем объекты, строки и числа, запрограммированные в программе для активного элемента. После этого содержимое графической памяти выводится на индикатор (аналогично действию команды [[К ГРФ]]), в регистр результата заносится число 0. | ||
Дальнейшая работа | Дальнейшая работа программы пользователя должна происходить в цикле, в котором содержимое буфера клавиатуры ([[R9029]]) передаётся в регистр команд интерфейса ([[R9208]]). | ||
Обработка нажатия любой клавиши, | Обработка нажатия любой клавиши, код которой не является командой интерфейса, должен выполняться программой пользователя, если это необходимо. | ||
Если в регистр результата выполнения операции ([[R9209]]) после отрисовки формы заносится код 1, то | Если в регистр результата выполнения операции ([[R9209]]) после отрисовки формы заносится код 1, то программа пользователя должна выполнить некоторые действия, исходя из считываемых значений указателей экранной формы ([[R9202]], [[R9203]]) и последней поданной команды интерфейса ([[R9208]]). | ||
Если во время отрисовки экранной формы возникает ошибка (код от 2 до 6), то содержимое графической памяти на индикатор не выводится, в регистр результата выполнения операции ([[R9209]]) заносится код ошибки. | Если во время отрисовки экранной формы возникает ошибка (код от 2 до 6), то содержимое графической памяти на индикатор не выводится, в регистр результата выполнения операции ([[R9209]]) заносится код ошибки. | ||
== Ссылки == | == Ссылки == | ||
* [http://mk.semico.ru/d1_p16.htm#d1_16 Графический интерфейс пользователя на сайте НПП «СЕМИКО», п. 16.] | |||
* [http://mk.semico.ru/d1_p16.htm#d1_16_4_1 Работа интерфейса на сайте НПП «СЕМИКО», п. 16.4.1.] | |||
* [http://mk.semico.ru/primprog_13.htm Учебный пример «ГИ ЭКВМ, вывод текста» на сайте НПП «СЕМИКО»] | |||
* [http://mk.semico.ru/primprog_6.htm Учебный пример «ГИ ЭКВМ, создание одноуровневого меню» на сайте НПП «СЕМИКО»] | |||
* [http://mk.semico.ru/primprog_7.htm Учебный пример «ГИ ЭКВМ, создание иерархического меню» на сайте НПП «СЕМИКО»] | |||
* [http://mk.semico.ru/primprog_8.htm Учебный пример «ГИ ЭКВМ, создание циклического меню» на сайте НПП «СЕМИКО»] | |||
* [http://mk.semico.ru/primprog_9.htm Учебный пример «ГИ ЭКВМ, форма c условными переходами» на сайте НПП «СЕМИКО»] | |||
[[Category:Графический интерфейс пользователя]] | [[Category:Графический интерфейс пользователя]] |