редактирования автоматически сохраняется при переключении
редактирования автоматически сохраняется при переключении на
процедуру, связанную с клавишей прерывания. Поэтому для ее изменения
при выходе из процедуры прерывания следует помещать в буфер клавиатуры
соответствующее количество кодов клавиш управления курсором (напр., с
помощью функции KEYSEND()).
Примеры
. Организация вызова процедуры HELP() при редактировании. Оба
GET-объекта в основной программе и в процедуре HELP() используют как
различные шаблоны редактирования, так и различные функции
пользователя, задаваемые предложениями VALID:
CLEAR
SET KEY 28 TO HELP // Назначение процедуры прерывания
// по нажатию клавиши <F1>
cFirstname := SPACE(10)
cLastname := SPACE(10)
@ 10, 10 GET cFirstname PICTURE "@!"
! 11, 10 GET cLastname PICTURE "@!" VALID MAINFUNC()
READ
*
* Процедура HELP создает новые GET-объекты.
*
PROCEDURE HELP (A, B, C)
LOCAL aOldGets
aOldGets := SAVEGETS() // Сохранение активных GET-объектов
WOPEN(4, 30, 20, 76) // Открытие окна
WBOX() // Обрамление окна
cHelp1 := SPACE(10)
cHelp2 := SPACE(10)
@ 10, 10 GET cHelp1 PICTURE "@A"
@ 11, 10 GET cHelp2 PICTURE "@A" VALID HELPFUNC()
READ
RESTGETS(aOldGets) // Восстановление GET-объектов
WCLOSE() // Закрытие окна
RETURN
FUNCTION MAINFUNC
SOUND(1000, 10) // Короткий звуковой сигнал
RETURN(.T.)
FUNCTION HELPFUNC
SOUND(1000, 100) // Длинный звуковой сигнал
RETURN(.T.)
See Also: RESTGETS()
RESTSETKEY()
SAVESETKEY()
SAVESETKEY()
Сохраняет назначения клавиш, производимые командами SET KEY.