Язык процедур 2-REXX для OS-2


LINEOUT - часть 2


Подобное использование функции LINEOUT имеет дополнительный эффект закрытия потока в средах (таких как OS/2), поддерживающих данную концепцию.

Выполнение программы обычно временно приостанавливается до тех пор, пока не завершится операция вывода. Однако если строка не может быть записана, то формируется условие NOTREADY, и функция LINEOUT в качестве результата возвращает значение 1 (что свидетельствует о наличии остаточного счетчика при записи строк).

Ниже приведено несколько примеров: LINEOUT(,'Display this') /* Записывает строку в выходной */ /* поток,принимаемый по умолчанию */ /* (обычно, это дисплей); возвра- */ /* щает 0, если действие успешно. */

myfile = 'ANYFILE.TXT' LINEOUT(myfile,'A new line') /* Открывает файл ANYFILE.TXT и */ /* добавляет строку в конец файла.*/ /* Если файл уже открыт, строка */ /* записывается в текущую позицию */ /* записи. Возвращает 0, если */ /* действие прошло успешно. */

LINEOUT(myfile,'A new start',1)/* Открывает файл (если он еще не */ /* открыт); записывает новую стро-*/ /* ку на место первой. Возвращает */ /* 0, если действие прошло успешно*/

LINEOUT(myfile,,1) /* Открывает файл (если он еще не открыт); */ /* запись не выполняется. Позиция записи */ /* устанавливается на первый символ. */

LINEOUT(myfile) /* Закрывает файл ANYFILE.TXT */

Функцию LINEOUT полезно вызывать как подпрограмму. В этом случае результат ее выполнения доступен в качестве значения переменной RESULT. Например: Call LINEOUT 'A:rexx.bat','Shell',1 Call LINEOUT ,'Hello'

Прим.   

Если строки должны быть записаны в выводной поток символов, принимаемый по умолчанию, без возможности возникновения ошибки, то вместо функции LINEOUT используйте инструкцию SAY.




- Начало -  - Назад -  - Вперед -