Документация по Clarion

       

SCREEN (описывает screen-структуру)


метка SCREEN([rows][,columns])[,AT()][,ALRT()][,CENTER]
[,COLOR()][,TRN][,EXPAND()][,GRAPHIC][,HLP()]
[,PRE()][,SHADOW][, ZOOM ][,CUA]
FADE
WIPE
FALL
[ROW()]
[COL()]
[BUTTON()]
[CHECK()]
[ENTERY()]
[IMAGE()]
[LIST()]


[OPTION
[CHECK()]
[RADIO()]
[метка] [STRING()]
.]
[PAINT()]
[PAUSE()]
[PROMT()]
[REPEAT()
[POINT()]
[multiple other fields]
.]
[метка] [STRING()]
[TEXT()]
.

метка Допустима в Кларион метка. Она требуется для оператора SCREEN и не обязательна для экранных STRING-полей.
rows Целочисленная константа, задающая число строк на экране. Под экраном, в данном случае, понимается окно, используемое SCREEN-структурой. Максимум - 255, но произведение ROWS и COLUMNS не может превышать 32767. Если этот параметр опущен, то изображение, затертое экраном не сохраняется.
columns Целочисленная константа, задающая число колонок на экране. Максимум - 255, но произведение ROWS и COLUMNS не может превышать 32767. Если этот параметр опущен, то изображение, затертое экраном не сохраняется.
AT Задает X и Y координаты для экрана, положение которого, фиксированно.
ALRT Задает клавиши завершения поля, активные на всем экране.
CENTER Указывает, что открываемое окно должно быть отцентрировано относительно физического экрана.
COLOR Задает основной цвет экрана.
TRN Указывает на то, что предыдущий экран может прозрачно "просвечивать" сквозь текущий.
EXPAND Задает строку экрана, которая дублируется если экран, разработанный для режима 25 строк, открывается в режиме 43/50 строк.
GRAPHIC Переводит дисплей в графический режим.
HLP Задает окно помощи, связанное с экраном.
PRE Задает префикс метки для STRING-переменных.
SHADOW Указывает, что вокруг окна экрана автоматически размещается тень.
ZOOM, FADE, WIPE, FALL WIPE, FALL CUA Управляет методом появления экрана на дисплее. Задает SAA/CUA-подобный пользовательский интерфейс.
ROW Задает номер строки для описания в SCREEN-структуре.
COL Задает столбец в последней заданной строке для описания элемента SCREEN-структуры.
BUTTON Описывает поле-кнопку.
CHECK Описывает поле, позволяющее пользователю выбирать одно из двух возможных состояний.
ENTRY Описывает поле для ввода данных.
IMAGE Описывает область графического экрана, в которой может быть показан файл типа GIF/PCX.
LIST Описывает прямоугольник на экране для просмотра списка элементов.
OPTION Описывает меню-подобную структуру, содержащую несколько полей типа CHECK, RADIO или STRING. Все поля в структуре OPTION, должны быть одного типа.
RADIO Описывает выборы в меню для OPTION-структур. Только одна радиокнопка из нескольких, может быть активна в отдельный момент.
STRING Объявляет экранную переменную или символьную константу для показа на экране.
PAINT Устанавливает байты видеоатрибутов или цвета в прямоугольной области экрана.
PAUSE Замораживает курсор и показывает приглашение нажать клавишу завершения поля.
PROMPT Задает строку, которая ассоциируется с полем типа ENTRY, TEXT, LIST или OPTION.
REPEAT Описывает циклический набор полей.
POINT Описывает указатель (яркую полоску) в структуре REPEAT, используемую для выбора единичного элемента REPEAT.
TEXT Описывает мнгострочное поле для редактирования текста подобно редактору.
<
SCREEN- структура объявляет экран. Внутри структуры могут быть описания и атрибуты, которые описывает вывод символов, цвета и
поля для пользовательского ввода. Когда экран активен, его строковые (STRING) поля с метками могут обрабатываться как любые другие поля данных с метками. Другой экран может быть открыт БЕЗ закрывания предыдущих, хотя активным может быть только один. Последний открытый экран и является активным.
SCREEN с параметрами ROWS и COLUMNS (размер не важен) описывает окно, которое автоматически сохраняет перекрываемое им видеоизображение. При закрытии экрана, сохраненное изображение восстанавливается. Если же параметры ROWS и COLUMNS опущены, то экран не сохраняет перекрытое изображение.
Экран может быть описан с размерами, большими чем у физического экрана (область, которую можно одновременно видеть на мониторе). Такой экран называется виртуальным. Размер видимой части виртуального экрана задается оператором SETAREA. При необходимости, можно использовать SETAREA для изменения размеров виртуальной рабочей области.
Виртуальный экран автоматически позиционируется так, чтобы его активное в данный момент поле было видно на физическом экране. Во время исполнения программы, когда активное поле находится за пределами физического экрана, рабочая область виртуального экрана сдвигается так, чтобы его верхний (или нижний, левый, правый) край находился двумя строками выше (ниже, левее, правее) выбранного поля.
SCREEN-структуры предлагают автоматическое позиционирование от поля-к-полю. Нажатие клавиши завершения завершает текущее активное поле и переводит курсор не следующее поле, подлежащее редактированию. Порядок выбора полей задается размещением описаний полей в описании экрана. Таким образом, порядок выбора полей НЕ зависит от атрибутов полей COL и ROW, задающих расположение на экране.
Все экранные структуры содержат полную поддержку мышки. Если перед запуском программы загружен драйвер мышки, достаточно выполнить команду SETMOUSE, и программа сможет работать с ней.


Оператор может перемещать физический экран по виртуальному с помощью мышки. Помещение курсора мышки на край экрана вызывает сдвиг или прокрутку физического экрана в пределах экрана виртуального.
Если оператор вручную переместил виртуальный экран так, что активное поле не видно на физическом экране, то автоматический выбор поля перенесет физический экран к выделенному полю, как только оператор нажмет какую-нибудь клавишу.
Если у экрана есть атрибут GRAPHIC, то монитор переключается в графический режим при открытии такого экрана. Максимальный размер графического экрана - 25x80. Из-за ограничений по памяти, в графическом режиме НЕ разрешены виртуальные экраны. Открываемые в последствии экраны без атрибута GRAPHIC не изменят режим дисплея; он останется графическим до тех пор, пока не будет закрыт первоначальный экран с атрибутом GRAPHIC. Если какой-нибудь из последующих экранов больше, чем 25 x 80, программа аварийно завершит работу.
Атрибут GRAPHIC требуется только для экранов с IMAGE-полями. Все остальные экраны работают одинаково как в текстовом, так и графическом режимах. Текстовый, конечно, намного быстрее чем графический, потому, что требуется перемещать гораздо меньше данных.
Некоторые поля позволяют описать "горячие" клавиши, которые задаются амперсандом. Символ, стоящий за амперсандом и есть "горячая клавиша" поля. Для перехода к такому полю, надо нажать ALT и "горячую" клавишу.
Пример:
Screen SCREEN(75,160),PRE(Scr) !A virtual screen
!(declarations) ! fields, strings, etc
. !End screen structure
См. также: SETAREA,

Содержание раздела