Длина любого компонента типизированного файла строго постоянна, что дает возможность организовать прямой доступ к каждому из них (т.е. доступ к компоненту по его порядковому номеру, как в массиве).
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером 0. После каждого чтения или записи указатель сдвигается к следующему компоненту файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом.
В таблице 3.15 приведены процедуры и функции, предназначенные для работы с типизированными файлами.
Таблица 3.15.Подпрограммы для работы с типизированными файлами
Function FilePos
(var F): Longint;
Возвращает текущую позицию в файле, т.е. номер компонента, который будет обрабатываться следующей операцией ввода-вывода
Function FileSize
(var F): Longint;
Возвращает количество компонентов файла.
Procedure Seek(var F;
N: Longint) ;
Смещает указатель файла F к требуемому компоненту: n - номер компонента файла (первый компонент файла имеет номер 0)
Procedure Read
(var F, V1,..., Vn);
Читает данные из типизированного файла F.
Vi - переменные такого же типа, что и компоненты файла
Procedure Write
(var F,P1, ...,Pn);
Записывает данные в типизированный файл F.
Pi - выражения такого же типа, что и компоненты файла
Примечание
Чтобы переместить указатель в конец типизированного файла, можно написать: Seek (FileVar, FileSize(FileVar)).
В Object Pascal разрешается обращаться к типизированным файлам, открытым процедурой reset(т.е. для чтения информации), с помощью процедуры write (т.е. для записи информации). Такая возможность позволяет легко обновлять ранее созданные типизированные файлы и при необходимости расширять их.
Пример открытия и записи в типизированный файл целых:
Var
f: file of integer; {объявление файловой переменной