如何在 Delphi 中创建文本文件

2guxujil  于 2023-10-18  发布在  其他
关注(0)|答案(4)|浏览(236)

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

7eumitmz

7eumitmz1#

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

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;
gjmwrych

gjmwrych2#

有几种方法可以将两行写入文本文件:
使用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;
ltskdhd1

ltskdhd13#

最短的答案:

FileCreate('filename.txt');

FileCreateSystem.SysUtils中声明,实际上是一个返回THandle的函数。(如果调用时没有赋值,返回值就会被丢弃。)我只是为了简洁而展示了上面的代码;大多数情况下,忽略返回值并不是一个好的编程实践。特别是在这种情况下,你肯定会需要它进一步。
如果调用不成功,则返回值为INVALID_HANDLE_VALUE,否则它将保存新创建文件的文件句柄。即使你不需要马上使用这个文件,你也需要这个句柄:文件将不可访问,直到通过调用FileClose函数释放句柄。所以,最短的正确答案是

FileClose(FileCreate('filename.txt');
jm81lzqq

jm81lzqq4#

另一种更简单的创建文件的方法(对于那些像我一样多年后才发现这个页面的人来说)是简单地使用AssignFile('FileName.TXT')。它会创建一个新的文件,您可以上传文本。
示例(我的Gr 10高中 Delphi 实践):

begin
  AssignFile(TFReceipt,'Receipt.TXT');
  redtEReceiptBod.Lines.SaveToFile('Receipt.TXT');
  Showmessage('Receipt generated');
end;

它获取任何字符串的内容并将其放置在文件中。要使文件可读(删除分页标记,如/par),您可以将RichEdit(或任何其他字符串容器)的属性更改为RichEdit.plaintext:=true;这将删除所有不必要的分页内容。

  • 警告 * 请记住,这是从我的高中项目,所以它不是很复杂,可能不会在所有情况下工作。

相关问题