Назад на содержание Работа с файлами в Pascal


Общая информация

Файловые процедуры и функции

Текстовые файлы

Типизированные файлы

Нетипизированные файлы

Пример

Контрольные вопросы

Задания


Нетипизированные файлы

    Нетипизированные (или бестиповые) файлы позволяют записывать на диск произвольные участки пвмяти ЭВМ и считывать их с диска в память. Операции обмена с бестиповыми файлами осуществляется с помощью процедур BloсkRead и BlockWrite. Кроме того, вводится расширенная форма процедур Reset и Rewrite. В остальном принципы работы остаются такими же, как и с компонентными файлами.
    Перед использованием логический файл

                var f: File;

должен быть связан с физическим с помощью процедуры Assign. Далее файл должен быть открыт для чтения или для записи процедурой Reset или Rewrite, а после окончания работы закрыт процедурой Close.
    При открытии файла длина буфера устанавливается по умолчанию в 128 байт. TURBO PASCAL позволяет изменить размер буфера ввода - вывода, для чего следует открывать файл расширенной записью процедур:

                Reset(var f: File; BufSize: Word)

или

                Rewrite(var f: File; BufSize: Word)

    Параметр BufSize задает число байтов, считываемых из файла или записываемых в него за одно обращение.
Минимальное значение BufSize - 1 байт, максимальное - 64 К байт.

    Чтение данных из нетипизированного файла осуществляется процедурой:

BlockRead( var f: File; var X; Count: Word; var QuantBlock: Word );

    Эта процедура осуществляет за одно обращение чтение в переменную X количества блоков, заданное параметром Count, при этом длина блока равна длине буфера. Значение Count не может быть меньше 1. За одно обращение нельзя прочесть больше, чем 64 К байтов.
Необязательный параметр QuantBlock возвращает число блоков (буферов), прочитанных текущей операцией BlockRead.
В случае успешного за вершения операции чтения QuantBlock = Count, в случае аварийной ситуации параметр QuantBlock будет содержать число удачно прочитанных блоков.
    Отсюда следует, что с помощью параметра QuantBlock можно контролировать правильность выполнения операции чтения.

    Запись данных в нетипизированный файл выполняется процедурой:

BlockWrite( var f: File; var X; Count: Word; var QuantBlock: Word );

которая осуществляет за одно обращение запись из переменной X количества блоков, заданное параметром Count, при этом длина блока равна длине буфера.
    Необязательный параметр QuantBlock возвращает число блоков (буферов), записанных успешно текущей операцией BlockWrite.

В начало
Hosted by uCoz