Общая информация
Файловые процедуры и функции
Текстовые файлы
Типизированные файлы
Нетипизированные файлы
Пример
Контрольные вопросы
Задания
|
Нетипизированные файлы
    Нетипизированные (или бестиповые) файлы позволяют записывать на диск произвольные участки пвмяти ЭВМ и
считывать их с диска в память. Операции обмена с бестиповыми файлами осуществляется
с помощью процедур 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.
|