Delphi7,I / O错误102,分配文件时

时间:2013-05-12 11:28:00

标签: file delphi assign

我的老师指派我创建一个简单的项目:创建一个用户必须完成的表单,当他按下提交按钮时,程序应该将所有信息写入不同的文本文件中(例如,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

你觉得我应该怎么做?感谢

1 个答案:

答案 0 :(得分:1)

Rewrite的第二个参数不应该是字符串。它甚至编译? IIRC根本不应该有第二个论点。你有对目录的写权限吗?目录是否存在?我不认为RTL会为你创建它。如果这确实是您的问题,只需执行

ForceDirectories(ExtractFilePath(FileName)); // FileName=Firstname

在致电Assign之前。