Режим работы ввода
ЗАПРОС (REQUEST) –обращение к специальной функции в режиме ЗАПРОС вызывает попытку прочесть значение логического ввода с указанного логического устройства. ЯГС ожидает ввода до тех пор, пока оператор либо не введет данные, либо не выдаст сигнал отмены ввода, который зависит от устройства логического ввода и от реализации.
ОПРОС (SAMPLE) – обращение к специальной функции в режиме ОПРОС предписывает ЯГС возвратить текущее значение логического ввода с указанного логического устройства, не дожидаясь действий со стороны оператора. Устройство должно находиться в режиме ОПРОС.
СОБЫТИЕ (EVENT) – ЯГС поддерживает одну входную очередь событий, состоящую из упорядоченных в порядке поступления записей о событиях. Запись о событии содержит идентификатор логического устройства и значение логического ввода, полученное от этого устройства. Записи о событиях от устройств, работающих в режиме СОБЫТИЕ, генерируется асинхронно, исключительно в зависимости от действий оператора. Прикладная программа может получить из очереди запись о наиболее раннем событии и проанализировать ее содержание. Возможно удаление из очереди всех записей о событиях, касающихся определенного логического устройства ввода.
В режиме ЗАПРОС чтение данных с графической станции весьма похоже на чтение текстовой информации с терминала с помощью обычного оператора READ языка Фортран. В любой момент прикладной программой может быть запрошен ввод только с одного устройства. Это ведет к диалогу, полностью управляемому прикладной программой, т.е. находясь в этом режиме, оператор не может, например, в произвольной момент свободно ввести позицию или выбрать альтернативу. Оператор может прервать ввод с помощью оговоренного при реализации действия отмены. Например, таким действием может стать нажатие соответствующей клавиши на станции. В этом случае прикладная программа будет уведомлена, что произошло прерывание и ввод данных невозможен.
В режимах ОПРОС и СОБЫТИЕ оператор может управлять любым из нескольких устройств по собственному усмотрению. Все логические устройства ввода, находящиеся в этих режимах, доступны ему. Отличие заключается в том, что в режиме ОПРОС текущие значения опрашиваемых устройств известны прикладной программе независимо от того, изменял оператор данные или нет (или даже просто прикасался к устройству), в то время как в режиме СОБЫТИЕ требуются определенные действия с его стороны, чтобы поместить значения в очередь событий.
Рассмотрим изменение значений устройства ввода позиции с помощью джойстика в режиме ОПРОС. Данные, получаемые в результате опроса внутри цикла, используются для формирования новой матрицы преобразования и преобразования ее с помощью группы сегментов. Когда цикл исполняется достаточно быстро, у оператора создается впечатление, что изменение сегментов непосредственно связано с движением джойстика. Если при этом установить режим работы обычной и функциональной клавиатуры СОБЫТИЕ, то с помощью данных устройств он сможет оповестить программу о своем намерении завершить или продолжить ее выполнение. С этой целью прикладная программа в конце каждой итерации должна проверять очередь событий.
Дата добавления: 2015-10-09; просмотров: 512;