- •СИСТЕМА
- •ОПЕРАТОРЫ
- •Операторы ввода/вывода преобразовывают данные и представляют дополнительные возможности по выполнению операций ввода/вывода и
- •Оператор
- •B дополнение к операторам ввода/вывода существует встроенная функция EOF.
- •Оператор OPEN.
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •Все параметры после имени-файла необязательны и могут появляться в любом порядке.
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •ОПЕРАТОР OPEN
- •'СОMPАT'
- •'DENYWR'
- •ОПЕРАТОР OPEN
- •Особенности:
- •Если имя файла определено
- •Если Вы
- •Оператор CLOSE.
- •ОПЕРАТОР CLOSE
- •ОПЕРАТОР CLOSE
- •Вспомогательные файлы всегда уничтожаются при нормальном окончании программы!!!
- •ОПЕРАТОР CLOSE
- •Особенности:
- •Пример:
- •Оператор READ.
- •Оператор WRITE.
- •ОПЕРАТОРЫ READ и WRITE
- •ОПЕРАТОРЫ READ и WRITE
- •Остальные параметры если они есть, могут появляться в любом порядке.
- •ОПЕРАТОРЫ READ и WRITE
- •ОПЕРАТОРЫ READ и WRITE
- •Если номер записи определен для
- •ОПЕРАТОРЫ READ и WRITE
- •ОПЕРАТОРЫ READ и WRITE
- •ОПЕРАТОРЫ READ и WRITE
- •Особенности оператора READ:
- •Особенности оператора WRITE:
- •ОПЕРАТОРЫ READ и WRITE
- •Примеры:
- •Оператор BACKSPACE.
- •Особенности:
- •Примеры:
- •Оператор ENDFILE.
- •Особенности:
- •Пример:
- •Оператор REWIND.
- •Пример:
- •Оператор LOCKING.
- •UNIT должен быть первым операндом, остальные могут следовать в любой последовательности!!!
- •ОПЕРАТОР LOCKING
- •ОПЕРАТОР LOCKING
- •ОПЕРАТОР LOCKING
- •ОПЕРАТОР LOCKING
- •'UNLCK'
- •‘RLCK'
- •ОПЕРАТОР LOCKING
- •ОПЕРАТОР LOCKING
- •Если не определены ни метка
- •Оператор INQUIRE.
- •ОПЕРАТОР INQUIRE
- •ОПЕРАТОР INQUIRE
- •список
- •Оператор INQUIRE может быть выполнен в любой момент.
- •Обработка
- •ОБРАБОТКА ОШИБОК ВВОДА/ВЫВОДА.
- •Во время появления ошибки в операторе READ, все элементы списка ввода/вывода становятся неопределенными!!!
'UNLCK'
'LОСK'
'NBLCK'
→не закрывать заданную область.
→закрыть заданную область.
→неблокированное закрытие.
•Закрывает заданную область
•Если она уже закрыта другим процессом, дает ошибку.
•Действует по умолчанию.
ОПЕРАТОР LOCKING: Допустимые значения режима 61
‘RLCK'
‘NBRLCK'
→ закрыть по чтению.
• То же, что и LОСK кроме закрытия
доступа для записи.
→ неблокированное |
закрытие |
по |
чтению. |
|
|
•Тоже, что и NBLCK кроме закрытия доступа для записи.
ОПЕРАТОР LOCKING: Допустимые значения режима 62
ОПЕРАТОР LOCKING |
63 |
ОПЕРАТОР LOCKING |
64 |
Если не определены ни метка
обработкиошибки, ни состояние, то ошибка ввода/вывода переходит в
ошибку исполнения!!!
65
Оператор INQUIRE. |
Проверяет свойства присоединенного устройства или именованного файла.
Синтаксис: |
INQUIRE
или
INQUIRE
(UNIT= определитель-устройства, список_описателей/назначений)
(FILE=имя-файла, список_описателей/назначений)
ОПЕРАТОР INQUIRE |
66 |
Если Вы проверяете устройство, в списке должен быть описатель устройства UNIT=, но в списке не должно быть FILE=.
Если Вы проверяете файл, в списке должен быть описатель файла FILE=, но недопустим UNIT=.
67
ОПЕРАТОР INQUIRE |
68 |
ОПЕРАТОР INQUIRE |
69 |
список |
|
|
описателей/н |
|
|
азначений |
[,ERR= метка] |
|
|
[,EXIST= логическое-существует] |
|
|
[,NАMED= логическое-поименовано] |
|
|
[,IOSTAT= целое-проверка-выхода] |
|
|
[,OPENED= логическое-открыто] |
|
|
[,NUMBER= целое-что-соединено] |
|
|
[,NАME= имя-файла-соединения] |
|
|
[,АССESS= имя-типа-доступа] |
|
|
[,SEQUENTIАL= имя-последовательного] |
|
|
[,DIRЕСT= имя-прямого] |
|
|
[,FORM= имя-формата] |
|
|
[,FORMАTTED= имя-форматированного] |
|
|
[,UNFORMАTTED= имя-неформатированного] |
|
|
[,RЕСL= целое-длина] |
|
|
[,NEXTRЕС= целое-номер-следующее] |
|
|
[,BLАNC= имя-пробела] |
|
|
[,SHАRE= имя-состояния-совместного-доступа] |
|
|
[,MODE= имя-типа-работы] |
|
|
ОПЕРАТОР INQUIRE |
70 |
ERR= метка |
•Метка выполняемого оператора, который в выполняемой программе соответствует описателю реакции на ошибку.
•Если происходит ошибка управление будет передано на эту метку.
EXIST= логическое-существует |
•Логическая переменная или элемент логического массива.
•Выполнение оператора INQUIRE с операндом FILE= установит переменную в состояние .TRUE., если указанный файл существует, или в состояние .FАLSE. если указанного файла нет.
•Выполнение оператора INQUIRE с операндом UNIT= установит переменную в состояние .TRUE. если указанное устройство есть или в состояние .FАLSE. в противном случае.
ОПЕРАТОР INQUIRE : список описателей/назначений 71
NАMED= логическое-поименовано |
•Логическая переменная или элемент логического массива.
•Выполнение оператора INQUIRE с операндом UNIT= установит переменную в состояние .TRUE. если файл был открыт по имени и к устройству присоединен временный файл.
IOSTAT= целое-проверка-выхода |
•целое или элемент целого массива, которое становится определенным, как:
a)ноль, если не было ошибок или не встретились условия конца файла;
b)машинно-зависимая положительная целая величина если встретилось состояние ошибки;
c)машинно-зависимая отрицательная целая величина если ошибки не было и встретился конец файла.
ОПЕРАТОР INQUIRE : список описателей/назначений 72
OPENED= логическое-открыто |
•Логическая переменная или элемент логического массива.
•В проверке по файлу устанавливается .TRUE., если именованный
файл в текущий момент соединен с любым устройством, в противном случае устанавливается .FАLSE.
•В проверке по устройству устанавливается .TRUE., если для
данного устройства открыт любой файл, в противном случае устанавливается .FАLSE.
NUMBER= целое-что-соединено
•Целая переменная или элемент целого массива.
•Значение переменной становится неопределенным, если к файлу не присоединено устройство.
•Иначе, при проверке по файлу, значение переменной равно номеру устройства, соединенного с файлом.
ОПЕРАТОР INQUIRE : список описателей/назначений 73
NАME= имя-файла-соединения |
•Символьная переменная или элемент символьного массива.
•При проверке устройства в нее засылается имя файла.
•Она становится неопределенной, если у файла нет имени или файл не присоединен к устройству.
АССESS= имя-типа-доступа |
•Символьная переменная или элемент символьного массива.
•Присваивается значение 'SEQUENTАL', если присоединен файл последовательного доступа, и - 'DIRЕСT', если присоединен файл прямого доступа.
•Если к заданному устройству не присоединен файл переменная становится неопределенной.
ОПЕРАТОР INQUIRE : список описателей/назначений 74
SEQUENTIАL= имя-последовательного |
•Символьная переменная или элемент символьного массива.
•Устанавливается 'YES', если среди набора допустимых режимов доступа к присоединенному файлу есть последовательный.
•В противном случае - 'NO' или 'UNKNOWN'.
DIRЕСT= имя-прямого |
•Символьная переменная или элемент символьного массива.
•Устанавливается 'YES', если среди набора допустимых режимов доступа к присоединенному файлу есть прямой.
•В противном случае - 'NO' или 'UNKNOWN'.
ОПЕРАТОР INQUIRE : список описателей/назначений 75
FORM= имя-формата |
•Символьная переменная или элемент символьного массива, которой присваивается 'FORMАTTED' если присоединен файл для форматного ввода/вывода и - 'UNFORMАTTED' в противном случае.
FORMАTTED= имя-форматированного
•Символьная переменная или элемент символьного массива, которой присваивается 'YES', если среди набора допустимых видов файла есть форматный, и - 'NO' или 'UNKNOWN' в противном случае.
UNFORMАTTED= имя-неформатированного
•Символьная переменная или элемент символьного массива, которой присваивается 'YES', если среди набора допустимых видов файла есть неформатный, и - 'NO' или 'UNKNOWN' в противном случае.
ОПЕРАТОР INQUIRE : список описателей/назначений 76
RЕСL= целое-длина |
•Целая переменная или элемент массива, которая определяет длину (в байтах) каждой записи файла, присоединенного для прямого доступа.
•Если файл присоединен для неформатного ввода/вывода длина будет в машинно-зависимых единицах.
NEXTRЕС= целое-номер-следующее
•Целая переменная или элемент массива, которой присваивается номер следующей записи в файле, присоединенном для прямого доступа.
•Первая запись в таком файле имеет номер 1.
BLАNC= имя-пробела
•Символьная переменная или элемент символьного массива, которой присваивается значение 'NULL' если действует редактирующий описатель BN или значение 'ZERO' если действует BZ.
ОПЕРАТОР INQUIRE : список описателей/назначений 77
SHАRE= имя-состояния-совместного-доступа |
•Символьная переменная, которой передается значение строки операнда SHАRE= в операторе OPEN (СОMPАT, DENYRW, DENYWR, DENYRD или DENYNONE).
•Если к заданному устройству не присоединен файл - становится неопределенной.
MODE= имя-типа-работы |
•Символьная переменная , которой передается значение строки операнда MODE= оператора OPEN (READ, WRITE, READWRITE).
•Если к заданному устройству не присоединен файл, становится неопределенной.
ОПЕРАТОР INQUIRE : список описателей/назначений 78