如何在不删除其先前内容的情况下将文本附加到文件

时间:2014-06-13 10:16:25

标签: delphi

如何在不删除文件的先前内容的情况下让Delphi写入文本文件? 我已经知道如何添加文本,但是一旦我尝试添加更多文本,它就会替换文件中已有的文本。

我已尝试将Rewrite命令更改为Write

procedure TForm1.BtnokClick(Sender: TObject); 
var 
    myfile :textfile;
    naam, van, adress : string;
begin 
     adress := edtadress.Text;
     van:= edtvan.Text;
     naam := edtnaam.Text; 
     AssignFile(myfile,'C:\test.txt');
     write(myfile);
     Writeln(myfile,naam);
     writeln(myfile,van);
     writeln(myfile,adress);
     closefile(myfile);
end;

2 个答案:

答案 0 :(得分:11)

调用Append移至文件末尾:

AssignFile(myfile, filename);
Append(myfile);
Write(myfile, sometext);
....

请参阅文档。特别是此代码示例:http://docwiki.embarcadero.com/CodeExamples/en/SystemAppend_(Delphi)

答案 1 :(得分:10)

Uses IOUtils;

...

TFile.AppendAllText(filename, sometext);

除非您正在使用真正古老的Delphi版本。 http://docwiki.embarcadero.com/VCL/XE/en/IOUtils.TFile.AppendAllText

它还允许您将编码指定为参数