Типизированные файлы
Длина любого компонента типизированного файла строго постоянна, что дает возможность организовать прямой доступ к каждому из них (т.е. доступ к компоненту по его порядковому номеру).
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером 0. После каждого чтения или записи указатель сдвигается к следующему компоненту файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом.
Процедура READ
Обеспечивает чтение очередных компонентов типизированного файла. Формат обращения:
READ (<ф.п.>,<сп.ввода>)
Здесь <cn.вводa> – список ввода, содержащий одну или более переменных такого же типа, что и компоненты файла.
Файловая переменная <ф.п.> должна быть объявлена предложением FILE OF… и связана с именем файла процедурой ASSIGN. Файл необходимо открыть процедурой RESET. Если файл исчерпан, обращение к READ вызовет ошибку ввода-вывода.
Процедура WRITE
Используется для записи данных в типизированный файл. Формат обращения:
WRITE (<ф.п.>,<сп.вывода>)
Здесь <сп.вывода> – список вывода, содержащий одно или более выражений того же типа, что и компоненты файла.
Процедура SEEK
Смещает указатель файла к требуемому компоненту. Формат обращения:
SEEK (<ф.п.>,<N компонента>)
Здесь <N компонента> – выражение типа LONGINT, указывающее номер компонента файла.
Первый компонент файла имеет номер 0. Процедуру нельзя применять к текстовым файлам.
Функция FILESIZE
Возвращает значение типа LONGINT, которое содержит количество компонентов файла. Формат обращения:
FILESIZE (<ф.п.>)
Функцию нельзя использовать для текстовых файлов. Чтобы переместить указатель в конец типизированного файла, можно написать:
seek (FileVar, FileSize(FileVar));
Где FILEVAR – файловая переменная.
Функция FILEPOS
Возвращает значение типа LONGINT, содержащее порядковый номер компонента файла, который будет обрабатываться следующей операцией ввода-вывода. Формат обращения:
FILEPOS (<ф.п.>)
Функцию нельзя использовать для текстовых файлов. Первый компонент файла имеет порядковый номер 0.