按顺序添加数字到.txt文件名

时间:2014-03-21 11:25:52

标签: delphi delphi-7

我需要帮助为文本文件添加数字。文件夹中的txt文件应如下所示:

Ref1.txt
Ref2.txt
Ref3.txt
... 

这是我的代码:

var
  RefNumber : Integer;
  newFile : TextFile;
  RefA, RefB, RefC : String;
begin
  RefA := edtRefA.text;
  RefB := edtRefB.text;
  RefC := edtRefC.Text;
  RefNumber := 1;
  inc(RefNumber);
  System.AssignFile(newFile + RefNumber, 'C:\Users\Files\newFile.txt');
  System.Rewrite(newFile + refNumber);
  WriteLn(newFile, RefA + RefB + RefC);
  System.CloseFile(newFile + RefNumber);
end;

我知道System.AssignFile(NewFile + Refnumber, '');不正确。

如果有可能,我将如何实现这一目标?

由于

2 个答案:

答案 0 :(得分:4)

您应该更改文本文件名字符串而不是文件变量:

  System.AssignFile(newFile, 'C:\Users\Files\Ref'+IntToStr(refNumber)+'.txt');
  System.Rewrite(newFile);
  WriteLn(newFile, RefA + RefB + RefC);
  System.CloseFile(newFile);

答案 1 :(得分:1)

您会混淆文件句柄及其关联的文件名。

    Var
  lFilename : String;
  lRefNumber : Integer;
  lTextFile : TextFile;
Begin
  lRefNumber := 1;
  lFileName := Format('Ref%d.Txt',[lRefNumber]);
  System.AssignFile(lTextFile, lFileName);
  System.Rewrite(lTextFile);
  WriteLn(NewFile, RefA + RefB + RefC);
  System.CloseFile(lTextFile);
End;

请注意,使用旧的Textfile文件处理方式已被TFileStream及其后代取代。