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

use*_*296 6 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;
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 11

调用Append移动到文件末尾:

AssignFile(myfile, filename);
Append(myfile);
Write(myfile, sometext);
....
Run Code Online (Sandbox Code Playgroud)

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


Wou*_*ick 11

Uses IOUtils;

...

TFile.AppendAllText(filename, sometext);
Run Code Online (Sandbox Code Playgroud)

除非你正在使用一个非常古老的Delphi版本. http://docwiki.embarcadero.com/VCL/XE/en/IOUtils.TFile.AppendAllText

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

  • @kenwhite:原始问题中没有那个代码......现代化还为时不晚.:) (5认同)
  • 你的回答是在17分钟前添加的,代码是在2小时前添加的.:-)问题是海报显然不熟悉Delphi,所以他们可以尝试简单地将代码添加到他们现有的代码中,这显然是行不通的.鼓励现代化是很好的,但你必须首先解决现有问题,并b)解释为什么要改变并清楚地说明如何这样做. (3认同)