
Типизированный файл – это тип, который подразумевает файл, содержащий последовательность значений указанного базового типа.
Например:
type
IntFile = file of integer;
var
f_in, f_out : IntFile;
Описанный в данном случае тип IntFile можно использовать для связи с файлами на диске, содержащими последовательность целочисленных данных.
Для работы с типизированными файлами используются следующие процедуры и функции.
Процедуры:
Read(<список ввода>) – считывает из файла, связанного с переменной f, значения для одной или нескольких переменных, указанных в <списке ввода> (вспомните стандартные процедуры read и readln);
Write(f,<список вывода>) – записывает в файл, связанный с переменной f, значения выражений, указанных в <списке вывода>; (аналогично стандартной процедуре write);
Seek(f,n) – ищет компоненту с номером n файла, связанного с переменной f, и устанавливает на нее текущий указатель;
Truncate(f) – удаляет часть файла, начиная с текущего указателя и до его конца.
Функции:
FileSize(f) – возвращает текущий размер файла (количество его компонент);
FilePos(f) – возвращает положение указателя – номер текущей компоненты.
Работу с типизированными файлами проиллюстрируем на примере создания файла, содержащего случайные числа в диапазоне от 0 до 1 и вывода его содержимого на экран (пример 20).
Пример 20
uses Crt;
type
RealFile=file of real;
var
f : RealFile;
PROCEDURE OutFile(f:RealFile);
var
x:real;
begin
while not eof(f) do {пока не достигнут конец файла}
begin
read(f,x); {чтение из файла очередной компоненты}
writeln(x:4:2); {вывод ее на экран}
end;
end;
PROCEDURE FillFile(f:RealFile);
var
i:byte;
begin
randomize;
for i:=1 to 20 do
write(f,random); {запись в файл очередного случайного числа}
end;
BEGIN
ClrScr;
Assign(f,'demo.dat');
Rewrite(f);
FillFile(f);
OutFile(f);
Close(f);
END.

Комментарии
Комментариев пока нет - будьте первым.