在filecreate后,你应该要再fileclose掉procedure TForm1.Button1Click(Sender: TObject); var txt :TextFile; i: Integer; begin i:= filecreate('D:\bb.txt'); FileClose(i); AssignFile(txt, 'D:\bb.txt'); Append(txt); Writeln(txt,'ErrorTime:'); CloseFile(txt); end;
procedure TForm1.Button1Click(Sender: TObject); var txt :TextFile; begin AssignFile(txt,'D:\bb.txt'); if FileExists('D:\bb.txt') then Append(txt) else ReWrite(txt); Writeln(txt,'ErrorTime:'); CloseFile(txt); end;
try if FileExists('D:\bb.txt') = False then begin i :=FileCreate('D:\bb.txt'); FileClose(i); end; AssignFile(txt,'D:\bb.txt'); Append(txt); Writeln(txt,'ErrorTime:'); finally CloseFile(txt); end;
帮助里这么写 Do not use AssignFile on a file variable that is already open
但如果手工创建文件用代码打开就没有问题!
var
txt :TextFile;
i: Integer;
begin
i:= filecreate('D:\bb.txt');
FileClose(i);
AssignFile(txt, 'D:\bb.txt');
Append(txt);
Writeln(txt,'ErrorTime:');
CloseFile(txt);
end;
var
txt :TextFile;
begin
AssignFile(txt,'D:\bb.txt');
if FileExists('D:\bb.txt') then
Append(txt)
else
ReWrite(txt);
Writeln(txt,'ErrorTime:');
CloseFile(txt);
end;
if FileExists('D:\bb.txt') = False then
begin
i :=FileCreate('D:\bb.txt');
FileClose(i);
end;
AssignFile(txt,'D:\bb.txt');
Append(txt);
Writeln(txt,'ErrorTime:');
finally
CloseFile(txt);
end;
Do not use AssignFile on a file variable that is already open