11.3. Стандартные процедуры и функции для типизированных файлов
При работе с типизированными файлами используются следующие дополнительные процедуры и функции (здесь также F - файловая переменная, связанная с конкретным физическим файлом процедурой Assign).
ПРОЦЕДУРЫ
Read(F, <список ввода>) - чтение информации из файла. То же, что и процедура Read для текстовых файлов, но переменные, в которые читается информация, должны быть того же типа, что и компоненты файла.
Seek(F, Num) - настройка на требуемую компоненту файла. Осуществляется настройка на компоненту файла, с которым связана файловая переменная F. Компонента файла определяется номером Num, причем нумерация компонент начинается с нуля.
Truncate (F) - удаление части файла, начиная с текущей позиции. Удаляется часть файла, начиная с текущей позиции и до его конца.
Write (F, <список вывода>) - запись информации в файл. То же, что и процедура Write для текстовых файлов, но список вывода представляет собой переменные того же типа, что и компоненты файла.
ФУНКЦИИ
FilePos(F) - номер текущей компоненты файла. Функция возвращает номер текущей компоненты файла, с которым связана файловая переменная F. Нумерация компонент начинается с нуля.
FileSize(F) - текущий размер файла. Функция возвращает текущий размер файла, с которым связана файловая переменная F, в компонентах этого файла.
Пример. Из текстового файла Т прочитать попарно вещественные числа и, считая в каждой паре первое число действительной, а второе - мнимой составляющей, записать их в файл комплексных чисел С.
program EXAMPLE18;
type Complex = record
Re, Im: Real;
end;
var Fl: Text;
F2: file of Complex;
X: Complex;
begin
{$I-}
Assign(F1, 'T');
Reset(Fl);
{$I+}
if IOResult <> 0 then
Writeln('Heт исходного файла')
else
begin
Assign(F2, 'C');
Rewrite(F2);
while not SeekEof(Fl) do
begin
Read(Fl, X.Re);
if SeekEof(Fl) then X.Im:=0
else Read(Fl, X.Im);
Write(F2, X)
end;
Close(Fl);
Close(F2)
end
end.
|