последовательности их задания в программе, а не предъявления на экране.
Отдельными объектами считаются не только поля/переменные, но и
каждая кнопка и другие средства управления из набора, имеющие
отдельное представление на экране, пусть и организованные одной
командой @...GET, т.е. элементы вида Check Boxes, Invisible Buttons,
Push Buttons, Radio Buttons.
Отдельные объекты могут регенерироваться с помощью команд SHOW OBJECT и SHOW GET. Эти команды не связаны с опцией SHOW команды READ. Основное их отличие - это способ указания обновляемого объекта. В первом случае - по его номеру, во втором -по имени и, возможно, внутреннему номеру.
SHOW OBJECT <выр N1>
[ENABLE/DISABLE]
[LEVEL <выр N2>]
[PROMPT <вырС>]
[COLOR <список цветовых пар>/COLOR SCHEME <выр N3>]
Дополнительные опции:
<выр N1> - абсолютный номер обновляемого объекта, который
определяется порядком его описания на экране/окне.
PROMPT <вырС> - задает новую строку-приглашение, заменяющую сделанную
ранее в GET-команде.
SHOW GET <переменная> [,<вырN1>]
[ENABLE/DISABLE]
[LEVEL <expN2>]
[PROMPT <expC>]
[COLOR <список цветовых пар>/COLOR SCHEME <вырN3>]
Здесь <переменная> - имя обновляемой переменной/поля GET-объекта.
Если для данной <переменной> определено несколько объектов, можно
указать относительный номер <выр N1> обновляемого объекта внутри
данной GET-команды. Это гораздо удобнее, поскольку дает возможность
программисту не высчитывать номер нужного объекта на экране, а в
случае изменения его положения не заботиться об изменениях
в программе.
Следующая функция возвращает абсолютный номер GET- объекта по
заданному имени <переменной> из текущего или указанного <вырN>
уровня READ. Поскольку одной переменной может соответствовать
несколько объектов, функция выдает номер самого первого объекта,
определяемого данной командой @... GET :
ОВJNUM(<переменная> [,<вырN>])
Функция является обратной к функции OBJVAR()
OBJVAR([<выр N1>[,<выр N2>]])
и возвращает имя переменной/поля, связанной с GET- объектом номер
<вырN1>, находящейся на READ-уровне номер <вырN2>. Если параметр
<вырN2> опущен, возвращается имя переменной текущего уровня.
Если <вырN1> больше, чем имеется переменных на данном уровне,
возвращается пустая строка. Имя переменной возвращается с префиксом
"М.", а поля - с псевдонимом.
Для установления номера текущего объекта можно использовать системную переменную
_CUROBJ
значение которой изменяется при переводе курсора на другой объект.
В свою очередь, присвоение переменной нового значения
(_CUROBJ=<выр N>) влечет перемещение курсора на номер <вырN>.
Завершить выполнение READ можно по команде
CLEAR READ [ALL]
которая прекращает команду READ текущего уровня и передает управление
на предшествующий уровень READ (если есть).
Включение опции ALL вызывает завершение всех команд READ на всех
уровнях.
Пример . Многооконный интерфейс
co=wcol()
ro=wrows()
co2=min(co,comax)
ro2=min(ro,romax)
co2=100
define window spr at 6,0 size ro2/2,co2 FONT System, 8 zoom grow;
panel color RGB(0,0,0,220,220,220)
define window down at 0,0 size 3,co2 FONT “System”,;
8 nozoom panel color scheme 3
activate window down top
@ 0.5,co2*0.01 get Ins picture "@*HN Ins" Size 1.5,co2*0.1 ;
valid add_spr() default 1 font “System”,10 color scheme 2 style "B"
@ 0.5,co2*0.21 get Edit picture "@*HN Enter" Size 1.5,co2*0.1 ;
valid edit_spr() default 1 font “System”,10 color scheme 2 style "B"
@ 0.5,co2*0.51 get del picture "@*HN Del" Size 1.5,co2*0.1 valid ;
del_spr() default 1 font “System”,10 color scheme 2 style "B"
@ 0.5,co2*0.75 GET Exit default 1 PICTURE "@*BHT " + ;
(LOCFILE("exit.bmp","BMP|ICO|PCT|ICN","Where is exit?"));
SIZE 1.5,7,1 FONT “System”, 8 valid exit1_spr()
browse window spr title "PROF Профессии(должности) (Сортировка: F1-по коду:F2-по назв.";
nomenu nowait nomodify fields
kod_prof:H='Код проф.',;
naim:H='Название профессии',tip_prof:H='Тип профессии' font “System”,10 style 'N' valid exit1_spr();
wHEN TTT()
read cycle modal with "PROF" valid exit1_spr()
do exit1_spr
return
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.