File 如何在Delphi中创建文本文件
我有一个程序,用户注册我的程序,并为他们创建一个文本文件。File 如何在Delphi中创建文本文件,file,delphi,createfile,File,Delphi,Createfile,我有一个程序,用户注册我的程序,并为他们创建一个文本文件。 我尝试过使用CreateFile函数,但不确定参数。当每个用户使用此功能或任何其他功能注册时,我如何为他们创建文本文件?也许您可以创建一个stringlist并将其保存到文件: procedure MakeAStringlistAndSaveThat; var MyText: TStringlist; begin MyText:= TStringlist.create; try MyText.Add('line 1'
我尝试过使用CreateFile函数,但不确定参数。当每个用户使用此功能或任何其他功能注册时,我如何为他们创建文本文件?也许您可以创建一个stringlist并将其保存到文件:
procedure MakeAStringlistAndSaveThat;
var
MyText: TStringlist;
begin
MyText:= TStringlist.create;
try
MyText.Add('line 1');
MyText.Add('line 2');
MyText.SaveToFile('c:\folder\filename.txt');
finally
MyText.Free
end; {try}
end;
有几种方法可以将两行写入文本文件: 使用
t文件
:
fn := 'out.txt';
// method 1
TFile.WriteAllLines(fn, ['Line1','Line2']);
// method 2
TFile.WriteAllText(fn, 'Line1'+sLineBreak+'Line2');
// method 3
TFile.WriteAllText(fn, 'Line1');
TFile.AppendAllText(fn, sLineBreak);
TFile.AppendAllText(fn, 'Line2');
使用TStringList
:
const fn := 'out.txt';
var sl := TStringList.Create;
try
sl.Add('Line1');
sl.Add('Line2');
sl.SaveToFile(fn);
finally
sl.Free;
end;
最短答案:
FileCreate('filename.txt');
FileCreate
在System.SysUtils
中声明,实际上是一个返回THandle
的函数。(如果调用时不赋值,返回值将被丢弃。)
我只是展示了上面的代码,以显示敏捷性;大多数情况下,忽略返回值并不是很好的编程实践。特别是在这种情况下,你肯定会需要它进一步
如果调用未成功,则返回值为无效\u HANDLE\u value
,否则它将保留新创建文件的文件句柄。
即使不需要立即使用该文件,也需要句柄:在调用FileClose
函数释放句柄之前,无法访问该文件。因此,正确的最短答案变成
FileClose(FileCreate('filename.txt');
您可以在控制台应用程序中使用
TFileStream
,或WriteLn
,或者TStringList.SaveToFile
如果文件不是太大(低于几百兆)。这里有几十篇关于使用所有这些方法的帖子;进行一些搜索,并确定哪种方法最适合您的特定需求。对于简单的文本文件输出,通常不需要求助于低级API代码,如CreateFile
。好的,如果您写入文本文件(而不是控制台),您也可以在非控制台应用程序中使用Writeln。但我会使用缓冲流和临时写手,或者像安德烈亚斯的回答一样,使用TStringList。@joel_kruger:如果它有效,那么你应该回答。