Открытие файла для вывода Delphi

Продолжаем тему «Файлы в языке Delphi». В предыдущей статье мы рассмотрели назначение файла и вывод данных в файл. Однако прежде чем вывести в файл необходимую информацию, файл для начала нужно открыть. В чем заключается открытие файла для вывода Delphi?

Если в процессе работы программа, которая формирует конечный выходной файл, уже применялась, то есть вероятность, что данный файл с полученными результатами работы этой программы уже имеется на жестком диске ПК. По этой причине перед программистом встает вопрос: что делать со старым файлом?

Вариантов развития событий два: либо провести замену старых данных новыми, либо осуществить добавление новых данных к старым. Способ применения старого варианта вырисовывается в момент открытия файла. Итак, наиболее предпочтительными являются следующие два режима открытия файла для записи полученных данных (т. е. внесения в него нужной информации):

  • перезапись, что означает проведение записи нового файла поверх существующего файла, либо формирование нового файла;
  • добавление в уже существующий файл.

Для открытия файла, используя режим создания нового файла, либо замены уже имеющегося файла, нужно воспользоваться процедурой Rewrite(fail), откуда fail — является файловой переменной, имеющей тип данныхTextFile. Для открытия файла, используя режим добавления данных к уже существующему файлу, используйте процедуру Append(fail), где fail — есть файловая переменная, имеющая тип данных TextFile.

Примеры программ на открытие файла для вывода Delphi

Создадим программу, которая бы записывала или добавляла данные в текстовый файл. На рис. ниже представим диалоговое окно данной программы:

Открытие файла для вывода Delphi

А частичный исходный код (расположен ниже) программы немного прокомментируем.

procedure TForm1.Button1Click(Sender: TObject);  
var 
tf: TextFile;     // файл текстового типа  
fn: String[50]; // имя файла 
j: integer;         // счетчик
begin 
fn := Edit1.Text; 
AssignFile(tf, fn); 
Rewrite(tf); // открыть для перезаписи  
// осуществление записи в файл
for j: =0 to Memol.Lines.Count do // строки будем нумеровать с нуля  строки
writeln(tf, Memol.Lines[j]) 
CloseFile(tf); //закрываем файл  
MessageDlg('Информация записана в файл ',mtlnformation,[mbOk],0);  
end;

Как вы видите, в листинге программы используется процедура, запуск которой осуществляется при нажатии на командную кнопку «Записать».

Данная процедура выполняет открытие файла с использованием режима создания нового файла или замещения уже имеющегося файла и записывает текст, располагающийся в пределах поля компонента Memo1.

В нашей программе в процессе работы необходимо указание имени файла в поле компонента Edit1. Однако в процессе разработки формы приложения можно указать заранее предопределенное имя файла. Чтобы это произвести, нужно свойству Edit1.Text присвоить некоторое значение, к примеру, fail.txt.

В листинге ниже приведем следующем процедуру, которую можно запустить при нажатии на кнопку «Добавить». При помощи этой процедуры проводится открытие файла (его имя задано в поле компонента Edit1) и добавление в него содержимого поля компоненты Memo1.

procedure TForm1.Button2Click(Sender: TObject); 
var  tf: TextFile;     // файл текстового типа   
fn: String[50]; // имя файла  
j: integer;         // счетчик begin 
fn:= Edit1.Text; 
AssignFile(tf, fn); 
Append(tf);  // открыть для добавления  
// осуществление записи в файл  
for j:=0 to Memo1.Lines.Count do // строки будем нумеровать с нуля  
writeln(tf, Memo1.Lines[j]); 
CloseFile(tf); // закрываем файл  
MessageDlg('Информация добавлена в файл ',mtInformation,[mbOk],0);  
end;

 

Рейтинг
( Пока оценок нет )
Загрузка ...