Jen*_*off 17
使用TStringList.
uses
Classes, Dialogs; // Classes for TStrings, Dialogs for ShowMessage
var
Lines: TStrings;
Line: string;
FileName: string;
begin
FileName := 'test.txt';
Lines := TStringList.Create;
try
Lines.Add('First line');
Lines.Add('Second line');
Lines.SaveToFile(FileName);
Lines.LoadFromFile(FileName);
for Line in Lines do
ShowMessage(Line);
finally
Lines.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
此外SaveToFile,LoadFromFile还可以在Delphi 2009中使用额外的编码以及更新的文本编码(Ansi,UTF-8,UTF-16,UTF-16大端).
实际上,我更喜欢这个:
var
Txt: TextFile;
SomeFloatNumber: Double;
SomeStringVariable: string;
Buffer: Array[1..4096] of byte;
begin
SomeStringVariable := 'Text';
AssignFile(Txt, 'Some.txt');
Rewrite(Txt);
SetTextBuf(Txt, Buffer, SizeOf(Buffer));
try
WriteLn(Txt, 'Hello, World.');
WriteLn(Txt, SomeStringVariable);
SomeFloatNumber := 3.1415;
WriteLn(Txt, SomeFloatNumber:0:2); // Will save 3.14
finally CloseFile(Txt);
end;
end;
Run Code Online (Sandbox Code Playgroud)
我认为这是最简单的方法,因为您不需要此代码的类或任何其他单元.它适用于所有Delphi版本,包括 - 如果我没有记错 - 所有.NET版本的Delphi ......
我已经在这个例子中添加了对SetTextBuf()的调用,这是一个很好的技巧来加速Delphi中的文本文件.通常,文本文件只有128字节的缓冲区.我倾向于将此缓冲区增加到4096字节的倍数.在某些情况下,I'va还实现了我自己的TextFile类型,允许我使用这些"控制台"功能将文本写入备忘录字段,甚至是另一个外部应用程序!在这个位置是我在2000年写的一些示例代码(ZIP),只是修改以确保它与Delphi 2007编译.但不确定更新的Delphi版本.然后,这段代码已经有10年了.
这些控制台功能从一开始就是Pascal语言的标准,所以我不希望它们很快消失.但是,TtextRec类型将来可能会被修改,因此我无法预测此代码将来是否会起作用...一些解释:
链接中的代码特此作为CC-BY许可 
哦,带有ZIP文件的服务器不是很强大,所以它往往每天都要停机几次.对于那个很抱歉.
小智 5
Delphi 2010中引入的IOUtils单元为写入/读取文本文件提供了一些非常方便的功能:
//add the text 'Some text' to the file 'C:\users\documents\test.txt':
TFile.AppendAllText('C:\users\documents\text.txt', 'Some text', TEncoding.ASCII);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23548 次 |
| 最近记录: |