Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.docx
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
245.64 Кб
Скачать

14.2.4. Прямой ввод-вывод

В этом разделе описаны операции для прямого ввода и вывода. При применении любой из этих операций к файлу, который не открыт, возбуждается исключение STATUS_ERROR.

procedure READ(FILE : in FILE_TYPE; ITEM out ELEMENT_TYPE; FROM : in POSITIVE_COUNT);procedure READ(FILE : in FILE_TYPE; ITEM out ELEMENT_TYPE);

Оперируют над файлами вида IN_FILE или INOUT_FILE. Первая из операций предварительно устанавливает текущий индекс данного файла равным значению параметра FROM. Затем (для обеих подпрограмм) через параметр ITEM возвращает значение элемента файла, позиция которого задана текущим индексом файла; наконец, увеличивает текущий индекс на единицу.

Если вид данного файла — OUT_FILE, то возбуждается исключение MODE_ERROR. Если используемое при чтении значение индекса оказалось больше размера внешнего файла, то возбуждается исключение END_ERROR. Если прочитанный элемент нельзя интерпретировать как значение типа ELEMENT_TYPE, то возбуждается исключение DATA_ERROR; однако для реализации допустимо опускать такую проверку в случае, если она слишком сложна.

procedure WRITE(FILE : in FILE_TYPE; ITEM : in ELEMENT_TYPE; TO : in POSITIVE_COUNT);procedure WRITE(FILE : in FILE_TYPE; ITEM : in ELEMENT_TYPE);

Оперируют над файлами вида INOUT_FILE или OUT_FILE. Первая из операций предварительно устанавливает индекс данного файла равным значению параметра ТО. Затем (для обеих подпрограмм) элементу данного файла, позиция которого указана текущим индексом, присваивается значение параметра ITEM; наконец, увеличивается текущий индекс на единицу.

Если вид данного файла — IN_FILE, то возбуждается исключение MODE_ERROR. Если внешний файл заполнен до конца, то возбуждается исключение USE_ERROR.

procedure SET_INDEX( FILE : in FILE_TYPE; TO : in POSITIVE_COUNT);

Оперирует над файлом любого вида. Устанавливает текущий индекс данного файла равным значению параметра ТО (которое может превышать текущий размер файла).

function INDEX(FILE : in FILE_TYPE) return POSITIVE_COUNT;

Оперирует над файлом любого вида. Возвращает текущий индекс данного файла.

function SIZE(FILE : in FILE_TYPE) return COUNT;

Оперирует над файлом любого вида. Возвращает текущий размер внешнего файла, связанного с данным файлом.

function END_OF_FILE(FILE : in FILE_TYPE) return BOOLEAN;

Оперирует над файлом вида IN_FILE или INOUT_FILE. Если значение текущего индекса больше размера внешнего файла, то возвращает значение TRUE, в противном случае — FALSE. Если вид данного файла — OUT_FILE, то возбуждается исключение MODE_ERROR. Ссылки: вид IN_FILE 14.1, вид INOUT_FILE 14.1, вид файла 14.1, внешний файл 14.1, индекс 14.2, исключение DATA_ERROR 14.4, исключение END_ERROR 14.4, исключение MODE_ERROR 14.4, исключение STATUS_ERROR 14.4, исключение USE_ERROR 14.4, открытый файл 14.1, текущий индекс 14.2, текущий размер 14.2, тип ELEMENT_TYPE 14.1, тип COUNT 14.2, тип POSITIVE_COUNT 14.3, тип FILE_TYPE 14.1, файл 14.1, элемент 14.1.