我的老师分配我创建一个简单的项目:创建一个表单,用户必须填写该表单,当他按下提交按钮时,程序应该将所有信息写入不同的文本文件中(例如,1 个文本文件代表他们的名字) ,另一个是他们的姓氏等)(我知道这听起来很疯狂,但项目就是项目)。无论如何,我尝试过这个:
procedure TForm1.Button1Click(Sender: TObject); //On Click
var
F:Array[1..20]of textfile; //20 fields, 1 txt each one
Firstname,Fname:string; //Location,Field
Begin
Firstname:=ExtractFilePath(Paramstr(0))+'User\Identity\FirstName.txt'; //Location
Fname:=Edit1.text;
AssignFile(f[1],Firstname);
Rewrite(f[1],Firstname);
writeln(f[1],Fname);
closefile(f[1]);
end;
我在谷歌上搜索了这个错误:
I/O 错误 102,
我发现Delphi由于某些原因没有分配该文件。但我仍然不明白为什么,代码对我来说看起来绝对正确且符合逻辑,也许我尝试过:
F:Array[1..20]of Textfile 是错误的,我尝试它的唯一原因是因为我想开始写 f1,f2,...,f20
你认为我应该做什么?
Rewrite
的第二个参数不应该是字符串。它甚至可以编译吗? IIRC,根本不应该有第二个争论。您对该目录有写权限吗?该目录是否存在?我认为 RTL 不会为您创建它。如果这确实是您的问题,只需这样做
ForceDirectories(ExtractFilePath(FileName)); // FileName=Firstname
致电
Assign
之前。