Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| В ЭВМ реализована возможность организации пользователем '''графического интерфейса''', состоящего из связанных [[экранная форма|экранных форм]], представляющих собой систему [[меню]]. Каждая экранная форма может содержать графические объекты (изображения, прямоугольники, рамки), строки текста и числа, расположенные на графическом экране в произвольных местах. Интерфейс обеспечивает выбор активного элемента в текущей экранной форме, переход из одной экранной формы в другую, вывод из памяти ЭВМ текстовых строк и числовых значений, а также ввод в память данных ЭВМ десятичных и шестнадцатеричных чисел. | | В ЭВМ реализована возможность организации пользователем '''графического интерфейса''', состоящего из связанных [[экранная форма|экранных форм]], представляющих собой систему меню. Каждая экранная форма может содержать графические объекты (изображения, прямоугольники, рамки), строки текста и числа, расположенные на графическом экране в произвольных местах. Интерфейс обеспечивает выбор активного элемента в текущей экранной форме, переход из одной экранной формы в другую, вывод из памяти ЭВМ текстовых строк и числовых значений, а также ввод в память данных ЭВМ десятичных и шестнадцатеричных чисел. |
|
| |
|
| Экранные формы расположены в [[память программ|памяти программ]] ЭВМ и выполнены в виде [[Структура экранной формы|компактных структур]]. Все экранные формы пронумерованы. Связь между структурами экранных форм осуществляет [[главная таблица меню]], в которой номеру экранной формы сопоставлен адрес начала [[Структура экранной формы|соответствующей структуры]] в [[память программ|памяти программ]]. | | Экранные формы расположены в [[память программ|памяти программ]] ЭВМ и выполнены в виде [[Структура экранной формы|компактных структур]]. Все экранные формы пронумерованы. Связь между структурами экранных форм осуществляет [[главная таблица меню]], в которой номеру экранной формы сопоставлен адрес начала [[Структура экранной формы|соответствующей структуры]] в [[память программ|памяти программ]]. |
|
| |
|
| Функции графического интерфейса выполняются только [[режим выполнения программы|во время выполнения программы пользователя]] и не работают в режиме пошагового прохода. | | Функции графического интерфейса выполняются только [[режим выполнения программы|во время выполнения программы пользователя]] и не работают в режиме пошагового прохода. |
|
| |
| == Работа интерфейса ==
| |
|
| |
| В качестве [[Команды управления графическим интерфейсом|команд управления графическим интерфейсом]] используются [[Код клавиши|коды кнопок ЭВМ]] [[Команда ВЫХОД|{{Синяя клавиша|Выход}} (32)]], [[Команда ВВОД|{{Синяя клавиша|Ввод}} (33)]], [[Команда ВЫБОР ВПРАВО|{{Серая клавиша|→}} (34)]], [[Команда ВЫБОР ВЛЕВО|{{Серая клавиша|←}} (35)]], [[Команда ВЫБОР ВВЕРХ|{{Серая клавиша|↑}} (36)]], [[Команда ВЫБОР ВНИЗ|{{Серая клавиша|↓}} (37)]], а также [[Команда 64|специальный код 64]], по которому производится безусловная перерисовка экранной формы. Все команды выполняются по правилам, определенным [[R9204|флагами действий]] [[R9203|активного элемента]] в [[R9202|загруженной экранной форме]].
| |
|
| |
| Перед началом работы интерфейса программе пользователя необходимо включить функции интерфейса (записать 1 в [[R9200|регистр памяти с адресом 9200]]), запрограммировать адрес [[Главная таблица меню|главной таблицы меню]] ([[R9201]]), загрузить указатели, соответствующие начальной экранной форме ([[R9202]], [[R9203]]) и подать [[Команда 64|команду перерисовки экранной формы]] (записать 64 в [[R9208|регистр памяти с адресом 9208]]), после чего автоматически выполняются следующие операции.
| |
|
| |
| По [[R9202|номеру экранной формы]] из [[Главная таблица меню|главной таблицы меню]] находится адрес [[Структура экранной формы|таблицы экранной формы]] и, по [[R9203|номеру активного элемента]], загружается [[R9204|регистр действий]]. Далее в область [[графический экран|графического экрана]] последовательно выводятся графические объекты, строки текста и числа, запрограммированные в [[Основная программа экранной формы|основной программе]] загруженной формы, а затем объекты, строки и числа, запрограммированные [[Таблица адресов программ элементов|в программе]] для [[R9203|активного элемента]]. После этого содержимое графической памяти выводится на индикатор (аналогично действию команды [[К ГРФ]]), в [[R9209|регистр результата]] заносится число 0.
| |
|
| |
| Дальнейшая работа [[программа пользователя|программы пользователя]] должна происходить в цикле, в котором содержимое буфера клавиатуры ([[R9029]]) передаётся в регистр команд интерфейса ([[R9208]]).
| |
|
| |
| Обработка нажатия любой клавиши, [[код клавиши|код которой]] не является [[Команды управления графическим интерфейсом|командой интерфейса]], должен выполняться [[программа пользователя|программой пользователя]], если это необходимо.
| |
|
| |
| Если в регистр результата выполнения операции ([[R9209]]) после отрисовки формы заносится код 1, то [[программа пользователя]] должна выполнить некоторые действия, исходя из считываемых значений [[Указатели экранной формы|указателей экранной формы]] ([[R9202]], [[R9203]]) и последней поданной [[Команды управления графическим интерфейсом|команды интерфейса]] ([[R9208]]).
| |
|
| |
| Если во время отрисовки экранной формы возникает ошибка (код от 2 до 6), то содержимое графической памяти на индикатор не выводится, в регистр результата выполнения операции ([[R9209]]) заносится код ошибки.
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
| {{Документация|d1_p16.htm#d1_16|Графический интерфейс пользователя на сайте НПП «СЕМИКО», п. 16.}}
| | * [http://mk.semico.ru/d1_p16.htm#d1_16 Графический интерфейс пользователя на сайте НПП «СЕМИКО», п. 16.] |
| {{Документация|d1_p16.htm#d1_16_4_1|Работа интерфейса на сайте НПП «СЕМИКО», п. 16.4.1.}}
| | * [http://mk.semico.ru/primprog_13.htm Учебный пример «ГИ ЭКВМ, вывод текста» на сайте НПП «СЕМИКО»] |
| {{Документация|primprog_13.htm|Учебный пример «ГИ ЭКВМ, вывод текста» на сайте НПП «СЕМИКО»}}
| | * [http://mk.semico.ru/primprog_6.htm Учебный пример «ГИ ЭКВМ, создание одноуровневого меню» на сайте НПП «СЕМИКО»] |
| {{Документация|primprog_6.htm|Учебный пример «ГИ ЭКВМ, создание одноуровневого меню» на сайте НПП «СЕМИКО»}}
| | * [http://mk.semico.ru/primprog_7.htm Учебный пример «ГИ ЭКВМ, создание иерархического меню» на сайте НПП «СЕМИКО»] |
| {{Документация|primprog_7.htm|Учебный пример «ГИ ЭКВМ, создание иерархического меню» на сайте НПП «СЕМИКО»}}
| | * [http://mk.semico.ru/primprog_8.htm Учебный пример «ГИ ЭКВМ, создание циклического меню» на сайте НПП «СЕМИКО»] |
| {{Документация|primprog_8.htm|Учебный пример «ГИ ЭКВМ, создание циклического меню» на сайте НПП «СЕМИКО»}}
| | * [http://mk.semico.ru/primprog_9.htm Учебный пример «ГИ ЭКВМ, форма c условными переходами» на сайте НПП «СЕМИКО»] |
| {{Документация|primprog_9.htm|Учебный пример «ГИ ЭКВМ, форма c условными переходами» на сайте НПП «СЕМИКО»}}
| |
| * [https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F Графический интерфейс пользователя] в Википедии
| |
| [[Category:Графический интерфейс пользователя]] | | [[Category:Графический интерфейс пользователя]] |