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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «В ЭВМ реализована возможность организации пользователем '''графического интерфейса''', с…»)
 
 
(не показаны 32 промежуточные версии 2 участников)
Строка 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]]) заносится код ошибки.


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/d1_p16.htm#d1_16 Графический интерфейс пользователя на сайте НПП «СЕМИКО»]
{{Документация|d1_p16.htm#d1_16|Графический интерфейс пользователя на сайте НПП «СЕМИКО», п. 16.}}
{{Документация|d1_p16.htm#d1_16_4_1|Работа интерфейса на сайте НПП «СЕМИКО», п. 16.4.1.}}
{{Документация|primprog_13.htm|Учебный пример «ГИ ЭКВМ, вывод текста» на сайте НПП «СЕМИКО»}}
{{Документация|primprog_6.htm|Учебный пример «ГИ ЭКВМ, создание одноуровневого меню» на сайте НПП «СЕМИКО»}}
{{Документация|primprog_7.htm|Учебный пример «ГИ ЭКВМ, создание иерархического меню» на сайте НПП «СЕМИКО»}}
{{Документация|primprog_8.htm|Учебный пример «ГИ ЭКВМ, создание циклического меню» на сайте НПП «СЕМИКО»}}
{{Документация|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:Графический интерфейс пользователя]]

Текущая версия от 19:47, 4 августа 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) заносится код ошибки.

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