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

时间:2018-08-08 12:12:22

标签: file delphi createfile

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

3 个答案:

答案 0 :(得分:2)

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

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;

答案 1 :(得分:2)

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

使用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

fn := 'out.txt';

sl := TStringList.Create;
try
  Add('Line1');
  Add('Line2');
  WriteToFile(fn);
finally
  sl.Free;
end;

答案 2 :(得分:1)

可能有最短的答案

FileCreate('filename.txt');

FileCreateSystem.SysUtils中声明,实际上是一个返回THandle的函数。 (当您未在调用时分配返回值时,该返回值将被简单地丢弃。) 我只是为了使上面的代码显示上面的代码;在大多数情况下,忽略返回值并不是一种好的编程习惯。特别是在这种情况下,您肯定会进一步需要它。

如果调用不成功,则返回值为INVALID_HANDLE_VALUE,否则它将保存新创建文件的文件句柄。 即使您不需要立即使用该文件,也将需要该句柄:只有通过调用FileClose函数释放该句柄后,该文件才可访问。因此,适当最短答案变为

FileClose(FileCreate('filename.txt');