我的老师指派我创建一个简单的项目:创建一个用户必须完成的表单,当他按下提交按钮时,程序应该将所有信息写入不同的文本文件中(例如,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;
我在google上搜索了这个错误:
I / O错误102,
我发现,由于某些原因,delphi没有分配文件。但我仍然不明白为什么,代码对我来说看起来绝对正确和合乎逻辑,也许我尝试过:
F:Textfile的数组[1..20]错了,我尝试它的唯一原因是因为我想开始写f1,f2,...,f20
你觉得我应该怎么做?感谢
答案 0 :(得分:1)
Rewrite
的第二个参数不应该是字符串。它甚至编译? IIRC根本不应该有第二个论点。你有对目录的写权限吗?目录是否存在?我不认为RTL会为你创建它。如果这确实是您的问题,只需执行
ForceDirectories(ExtractFilePath(FileName)); // FileName=Firstname
在致电Assign
之前。