за использования блоков кода) только
При этом текущим
становится тот GET-объект, при редактировании которого производилось
сохранение.
Примечания
. Внимание! Внутри конструкции SAVEGETS()/RESTGETS() не следует
использовать Clipper-команды CLEAR или CLEAR GETS.
. Использование массива, возвращаемого функциями SAVEGETS() и
SAVESETKEY(), корректно (из- за использования блоков кода) только при
текущем запуске программы, поэтому сохранять эти данные в файле для
использования при дальнейших запусках не имеет смысла.
. Начиная с версии Clipper 5.0, позиция курсора в поле
редактирования автоматически сохраняется при переключении на
процедуру, связанную с клавишей прерывания. Поэтому для ее изменения
при выходе из процедуры прерывания следует помещать в буфер клавиатуры
соответствующее количество кодов клавиш управления курсором (напр., с
помощью функции 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"