我将如何在 Delphi 中创建文本文件

How would I create a text file in Delphi

我有一个程序,用户可以在其中注册我的程序并为他们创建一个文本文件。 我试过使用 CreateFile 函数,但不确定参数。当每个用户使用此功能或任何其他功能注册时,我将如何为他们创建一个文本文件?

也许您可以创建一个字符串列表并将其保存到文件中:

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;

有几种方法可以将两行写入文本文件:

使用TFile:

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');

FileCreateSystem.SysUtils 中声明,实际上是一个函数 returning a THandle。 (如果您不在调用时分配 return 值,它就会被简单地丢弃。) 我只是展示上面的代码是为了活泼;大多数时候忽略 return 值并不是好的编程习惯。特别是在这种情况下,您肯定会进一步需要它。

如果调用不成功,return值为INVALID_HANDLE_VALUE,否则保存新建文件的文件句柄。 即使您不需要立即使用该文件,您也需要句柄:在通过调用 FileClose 函数释放句柄之前,将无法访问该文件。所以,正确的最短答案变成

FileClose(FileCreate('filename.txt');