33. Бестиповые файлы

 Бестиповые файлы позволяют записывать на диск произвольные участки

пвмяти ЭВМ и считывать их с диска в память.  Операции обмена с бести-

повыми файлами осуществляется  с помощью процедур  BlokRead и

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.

Электротехника курсовые, лабораторные, практика Математика, физика