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,