Перед выводом в файл его необходимо открыть. Если программа, формирующая выходной файл, уже использовалась, то возможно, что файл с результатами работы программы уже есть на диске. Поэтому программист должен решить, как поступить со старым файлом: заменить старые данные новыми или новые данные добавить к старым. Способ использования старого варианта определяется во время открытия файла.
Возможны следующие режимы открытия файла для записи в него данных:
- перезапись (запись нового файла поверх существующего или создание нового файла);
- добавление в существующий файл.
Для того чтобы открыть файл в режиме создания нового файла или замены существующего, необходимо вызвать процедуру Rewrite (f], где f — файловая переменная типа textFiie.
Для того чтобы открыть файл в режиме добавления к уже существующим данным, находящимся в этом файле, нужно вызвать процедуру Append ( f ) , где f — файловая переменная типа TextFiie.
На рис. 7.1 приведено диалоговое окно программы, которая выполняет запись или добавление в текстовый файл.

В листинге 7.1 приведена процедура, которая запускается нажатием командной кнопки Записать. Она открывает файл в режиме создания нового или замещения существующего файла и записывает текст, находящийся в поле компонента memo1.
Имя файла нужно ввести во время работы в поле Edit1. Можно задать предопределенное имя файла во время разработки формы приложения. Для этого надо присвоить значение, например test.txt, свойству Editl. Text.
Листинг 7.1. Создание нового или замещение существующего файла
01.procedure TForml.ButtonlClicMSender: TObject);02.var03.f: TextFile; // файл04.fName: String[SO]; // имя файла05.i: integer;06.begin07.fName := Edit1.Text;08.AssignFileff, fName);09.Rewrite(f); // открыть для перезаписи10.// запись в файл11.for i;=0 to Meraol.Lines.Count do // строки нумеруются с нуля12.writeln(f, Mernol.Lines ) ;13.CloseFile{f); // закрыть файл14.MessageDlg('Данные ЗАПИСАНЫ в файл ',mtInformalion,[mbOk],0);15.end;
В листинге 7.2 приведена процедура, которая запускается нажатием командной кнопки Добавить. Она открывает файл, имя которого указано в поле Editl, и добавляет в него содержимое поля Memo1.
Листинг 7.2. Добавление в существующий файл
01.procedure TForrol.Button2Click(Sender: TObject);02.var03.f: TextFile; // файл04.fName: String[SO]; // имя файла05.i: integer;06.begin07.fMarae := Editl.Text;08.AssignFile(f, fName);09.Append(f); // открыть для добавления10.// запись в файл11.for i:=0 to Memol.Lines.Count do // строки нумеруются с нуля12.writeln[f, Memol.Lines);13.CloseFile(f); // закрыть14.MessageDlg('Данные ДОБАВЛЕНЫ в файл ' ,mtlnforrnation, [mbdk] ,0);15.end;