Функция SETLOCAL сохраняет текущее рабочее устройство и каталог, а также текущие значения переменных среды OS/2, которые являются локальными для процесса, выполняющегося в настоящий момент.
Например, функцию SETLOCAL можно использовать для сохранения назначений текущей среды перед изменением выбранных назначений с помощью функции VALUE. Для восстановления устройства, каталога и среды используйте функцию ENDLOCAL.
Функция SETLOCAL в качестве результата возвращает значение 1, если исходные устройство, каталог и среда успешно сохранены, и значение 0, если сохранение прошло неуспешно. Если в процедуре за функцией SETLOCAL не следует ENDLOCAL, то на выходе из процедуры восстанавливается исходная среда, сохраненная с помощью функции SETLOCAL.
Ниже приведен пример: /* текущий путь: 'C:\PROJ\FILES' */ n = SETLOCAL() /* сохраняет все назначения среды */
/* Использование функции VALUE для изменения переменной PATH */ p = VALUE('Path','C:\PROC\PROGRAMS'.'OS2ENVIRONMENT')
/* Могут выполняться программы из каталога C:\PROC\PROGRAMS */
n = ENDLOCAL() /* восстанавливает исходную среду (включая */ /* измененную переменную PATH, которая опять */ /* имеет значение 'C:\PROJ\FILES') */
Прим. | В отличие от своих двойников в языке команд OS/2 (операторы Setlocal и Endlocal), функции языка REXX SETLOCAL и ENDLOCAL могут быть вложенными. |