Описание нетипизированного файла
VAR ИмяФайла: FILE;
Содержимое нетипизированного файла рассматривается системой программирования как последовательность байтов. Нетипизированный файл может содержать данные в любом представлении (внешнем, внутреннем). Ответственность за правильное использование данных несет программист. Нетипизированные файлы дают возможность организовать
высокоскоростной обмен информацией.
Процедуры открытия нетипизированного файла
•RESET(ИмяФайла, РазмерЗаписиВбайтах) – для чтения,
•REWRITE(ИмяФайла, РазмерЗаписиВбайтах) – для записи.
•Запись – это минимальное количество передаваемых за одно обращение к устройству байтов. Размер
записи по правилу умолчания равен 128. За одно обращение к устройству передается блок из N
записей. Высокоскоростная передача данных получается, когда размер блока равен кластеру.
Кластер – количество байтов, считываемых за один поворот диска. Типичный размер кластера – 512 или 1024.
Процедуры чтения и записи для нетипизированного файла
•BLOCKREAD(ИмяФайла, Буфер, N, NN)
•BLOCKWRITE(ИмяФайла, Буфер, N, NN),
•буфер - переменная для считывания (записи) информации, NN - число считанных записей (NN<=N, строгое неравенство возможно для последнего блока)
Пример. Процедура копирования файлов произвольного типа
Procedure Kopir(infile,outfile:string);
Var f1,f2:file; Buf:array[1..Klaster] of Byte; i:word; {Klaster - глобальная константа, размер кластера} Begin assignfile(f1,infile); assignfile (f2,outfile);
reset(f1,1); rewrite(f2,1); repeat
BlockRead(f1,Buffer, Klaster,i);
BlockWrite(f2,Buffer, Klaster,i) until eof(f1);
closefile (f1); closefile (f2);
End.