11.4. ТИПИЗИРОВАННЫЕ ФАЙЛЫ
Длина любого компонента типизированного файла строго постоянна, что дает возможность организовать прямой доступ к каждому из них (т. е. доступ к компоненту по его порядковому номеру).
Перед первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером 0. После каждого чтения или записи указатель сдвигается к следующему компоненту файла. Переменные в списках ввода-вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, указатель будет смещаться после каждой операции обмена данными между переменными и дисковым файлом.
Таблица 11.3. Подпрограммы для работы с типизированными файлами
Function FilePos (var F): Longint; |
Возвращает текущую позицию в файле, т. е. номер компонента, который будет обрабатываться следующей операцией ввода-вывода |
Function FileSize (var F): Longint; |
Возвращает количество компонентов файла. Чтобы переместить указатель в конец типизированного файла, можно написать: seek (FileVar, FileSize(FileVar)); |
Procedure Seek(var F; N: Longint) ; |
Смещает указатель файла F к требуемому компоненту: n - номер компонента файла (первый компонент файла имеет номер 0) |
Procedure Read(var F, VI,..., Vn) ; |
Читает данные из типизированного файла f: v< - переменные такого же типа, что и компоненты файла |
Procedure Write(var F,P1, ...,Pn) |
Записывает данные в типизированный файл р: Pi - выражения такого же типа, что и компоненты файла |