Типизированные файлы позволяют организовать прямойдоступ к каждой из компонент (по ее порядковому номеру), поскольку длина любого компонента типизированного файла строго постоянна. Описание файловой переменной для таких файлов выполняется в следующем виде:
Var < ф.п.> : file of <тип компонент>;
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на компоненту с номером нуль. После каждого чтения или записи указатель сдвигается к следующему компоненту файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом.
Для работы с типизированными файлами определены следующие процедуры и функции (табл. 9). Процедуру SEEK и функции FILESIZE, FILEPOS нельзя использовать для текстовых файлов.
Таблица 9
Процедуры и функции для работы с типизированными файлами
Процедура обеспечивает чтение очередных компонентов файла
Процедура используется для записи новых компонентов в файл; в качестве элементов вывода может стоять выражение.
Процедура смещает указатель файла к компоненту с указанным номером; <номер_компоненты> – выражение типа Integer
Функция возвращает количество компонент, содержащихся в файле
Функция возвращает порядковый номер компоненты файла, доступной для чтения или записи
Чтобы переместить указатель в конец файла, можно написать, например: Seek(f, FileSize(f)); где f - файловая переменная.
Файловая переменная предварительно должна быть объявлена предложением FILE OF и связана с именем физического файла процедурой ASSIGN. Файл перед обращением к нему должен быть открыт.