Процедура close(f), где f - имя файловой переменной, закрывает файл, который ранее был открыт процедурами reset, rewrite. Именно ее следует использовать при закрытии файла, в который была записана информация. Дело в том, что writе не обращается непосредственно к диску, а пишет информацию в специальный участок памяти, называемый буфером файла. После того как буфер заполнится, вся информация из него вносится в файл. При выполнении операции close сначала происходит запись буфера файла на диск, и только потом файл закрывается. Если его не закрыть вручную, то это произойдет автоматически при завершении работы программы, однако пропадет информация, хранимая в буфере файла.
После записи информации в файл его необходимо закрывать с помощью процедуры close.
Процедура rename.
Переименование файла, связанного с файловой переменной f, осуществляется в то время, когда он закрыт, при помощи процедуры rename (f, s), где f - файловая переменная, s - новое имя файла (строковая переменная).
Процедура erase.
|
|
Удаление файла, связанного с переменной f, выполняется посредством процедуры erase(f), в которой также является именем файловой переменной. Для корректного выполнения этой операции файл должен быть закрыт.
Функция eof.
Функция eof (f) (end of file), где f- имя файловой переменной, принимает значение «истина» (true), если достигнут конец файла, иначе - «ложь» (false).
Процедуры write, read.
Для чтения информации из файла, связанного с файловой переменной 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)
close (f)
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,’ элементов’);
{Закрываем файл. Здесь это необязательно}
сlose (f1);
end.