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

         Нетипизированные файлы объявляются как файловые переменные типа FILE и отличаются тем, что для них не указан тип компонентов. Отсутствие типа делает эти файлы, с одной стороны, совместимыми с любыми другими файлами, а с другой - позволяет организовать высокоскоростной обмен между диском и памятью.
При инициации нетипизированного файла процедурами
RESET или REWRITE можно указать длину записи нетипизированного файла в байтах. Например, так:

var
         f: file;
begin
         ............
         assign (f, 'myfile.dat');
         Reset (f,512);
         ............
end.

         Длина записи нетипизированного файла указывается вторым параметром при обращении к процедурам RESET или REWRITE, в качестве которого может использоваться выражение типа WORD. Если длина записи не указана, она принимается равной 128 байтам.

         Турбо Паскаль не накладывает ограничений на длину записи, за исключением требования положительности и ограничения максимальной длины 65535 байтами. Однако для обеспечения максимальной скорости обмена данными следует задавать длину, которая была бы кратна длине кластера диска.

         При работе с нетипизированными файлами могут применяться все процедуры и функции, доступные типизированным файлам, за исключением READ и WRITE, которые заменяются соответственно процедурами BLOCKREAD и BLOCKWRITE. Для вызова этих процедур используются следующие предложения:

BlockRead (<ф.п.>, <буф>, <[, <NN>]>)
BlockWrite (<ф.п.>, <буф>, <[, <NN>]>)

Здесь

<буф> - буфер: имя переменной, которая будет участвовать в обмене данными с диском;

<NN> - необязательный параметр, содержащий при выходе из процедуры количество фактически обработанных записей.

Back