Работа с файлами
Наиболее часто приходится иметь дело с текстовым представлением информации,
поэтому рассмотрим запись и чтение текстового файла.
Приступая к работе с файлом, нужно первым делом вызвать процедуру AssignFile,
чтобы файловой переменной поставить в соответствие имя файла на диске:
AssignFile(F, 'MyFile.txt');
В результате этого действия поля файловой переменной F инициализируются
начальными значениями. При этом в поле имени файла заносится строка
'MyFile.txt'.
Так как файла еще нет на диске, его нужно создать:
Rewrite(F);
Теперь запишем в файл несколько строк текста. Это делается с помощью
хорошо вам знакомых процедур Write и Writeln:
Writeln(F, 'Pi = ', Pi);
Writeln(F, 'Exp = ', Exp(1));
При работе с файлами первый параметр этих процедур показывает, куда
происходит вывод данных.
После работы файл должен быть закрыт:
CloseFile(F);
Рассмотрим теперь, как прочитать содержимое текстового файла. После
инициализации файловой переменной (AssignFile) файл открывается с помощью
процедуры Reset:
Reset(F);
Для чтения элементов используются процедуры Read и Readln, в которых
первый параметр показывает, откуда происходит ввод данных. После работы
файл закрывается. В качестве примера приведем программу, распечатывающую
в своем окне содержимое текстового файла 'MyFile.txt':
program Console;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
F: TextFile;
S: string;
begin
AssignFile(F, 'MyFile.txt');
Reset(F);
while not Eof(F) do
begin
Readln(F, S);
Writeln(S);
end;
CloseFile(F);
Writeln('Press Enter to exit...');
Readln;
end.
Так как обычно размер файла заранее не известен, перед каждой операцией
чтения вызывается функция Eof, которая возвращает True, если достигнут
конец файла.
Внимание! Текстовые файлы можно открывать только для записи или только
для чтения, но не для того и другого одновременно. Для того чтобы сначала
записать текстовый файл, а потом прочитать, его нужно закрыть после
записи и снова открыть, но уже только для чтения.
|