Для чтения информации из файла, связанного с файловой переменной f, можно воспользоваться стандартными операторами чтения следующей структуры:
read (f, x1, x2, …, xn);
read (f, x);
Процедура read не проверяет, достигнут ли конец файла. За этим нужно следить с помощью функции eof.
Для записи в файл можно применять стандартные операторы записи следующей структуры:
write (f, x1, x2, …, xn);
write (f, x);
Операторы последовательно записывают в файл значения переменных. Типы файла и переменных должны совпадать.
Для того чтобы создать файл, необходимо выполнить следующие действия
1. Описать файловую переменную.
2. Связать ее с физическим файлом (assign).
3. Открыть файл для записи (rewrite).
4. Внести необходимую информацию в файл (write).
5. Обязательно закрыть файл (close).
Для выполнения считывания информации из файла надо:
1. Описать файловую переменную.
2. Связать ее с физическим файлом.
3. Открыть файл для чтения.
4. Считать необходимую информацию (на этом этапе нужно проверять, достигнут ли конец файла).
5. Закрыть файл.
Пример 1. Записать n действительных чисел в файл.
program abc;
Var
f: file of real;
a: real;
i, n: integer;
Begin
{ Связываем файловую переменную с файлом на диске. }
assign (f, ‘ d: \tp\ abc.dat’);
{ открываем пустой файл для записи.}
rewrite (f);
{определяем количество элементов в файле.}
read (n);
{В цикле вводим очередной элемент и записываем его в файл.}
for i: =1 to n do
Begin
write (‘a=’);
read (a);
write (f,a)
End.
Пример 2. На диске D в каталоге TP находится файл вещественных чисел. Необходимо распечатать его содержимое и вычислить количество компонентов файла.
program bca;
Var
f1: file of real;
a: real;
n: integer;
Begin
{ связываем файловую переменную с файлом на диске.}
assign (f1, ‘D:\TP\abc1.dat’);
{открываем файл.}
reset (f1);
{В переменной n будет накапливаться количество элементов в файле.}
n:=0;
{Вход в цикл осуществляетс, если не достигнут конец файла}
while not eof (f1) do
Begin
{считываем очередной элемент из файла}
read (f1,a);
{Увеличиваем количество элементов в файле на один}
n:=n+1;
{Выводим очередной элемент на экран}
writeln (n, ‘-й элемент файла равен ‘, a:10:6)
end;
writeln;
writeln (‘в файле ‘,n,’ элементов’);
{Закрываем файл. Здесь это необязательно}
close (f1);
end.