大家帮我看看这段代码

luosha80 2003-04-05 09:33:59
var
Form1: TForm1;
MyTextFile: TextFile; //声明一个可以引用文本文件的变量
name: String;
sex: String;
age: String;

implementation

{$R *.dfm}

//写入文件
procedure TForm1.Button1Click(Sender: TObject);
begin
name:=edtName.Text;
sex:=edtSex.Text;
age:=edtAge.Text;
AssignFile(MyTextFile,'MyTextFile.txt'); //使文件和变量关键起来
Rewrite(MyTextFile); //创建并打开文件,若文件已存在,则覆盖原有文件
try
Writeln(MyTextFile,name,sex,age);
finally
CloseFile(MyTextFile); //关闭一个打开的文件
end;

end;

//读出文件
procedure TForm1.Button2Click(Sender: TObject);
{var
name:String;
sex:String;
age:String;}
begin
AssignFile(MyTextFile,'MyTextFile.txt');
Reset(MyTextFile);
try
while not Eof(MyTextFile) do
begin
ReadLn(MyTextFile,name,sex,age);
edtname.Text:=name;
edtsex.Text:=sex;
edtage.Text:=age;
end;
finally
CloseFile(MyTextFile);
end;
end;

大家帮我看看,怎么会报这一句:ReadLn(MyTextFile,name,sex,age);一个错啊:[Error] CreateText_pas.pas(68): Left side cannot be assigned to
大家帮忙看看啊!
...全文
9 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
luosha80 2003-04-05
谢谢了!
回复
sysu 2003-04-05
因为WriteLn把三个字段都写在一起了,分开读写吧:
Writeln(MyTextFile,unit1.name);
Writeln(MyTextFile,sex);
Writeln(MyTextFile,age);

Readln(MyTextFile,unit1.name);
Readln(MyTextFile,sex);
Readln(MyTextFile,age);
回复
luosha80 2003-04-05
多谢,但是还有点问题,我在三个EDIT中分别输入了名字(luosha),性别(male),年龄(23)后去看我的那个MyTextFile.txt文件中的内容是luoshamale23,
当我用ReadLn(MyTextFile,unit1.name,sex,age);去读时,在名字栏中出现了luoshamale23,而后面的性别栏和年龄栏都空着,这个问题应该怎么解决,请高手再指教一下!谢谢
回复
sysu 2003-04-05
同样你上面的
Writeln(MyTextFile,name,sex,age);
虽然没报错,但指的也是Form1.Name
要改成
Writeln(MyTextFile,unit1.name,sex,age);
回复
sysu 2003-04-05
ReadLn(MyTextFile,name,sex,age);
这句里的name指的是Form1.Name,不是你定义的Name
前面要加上单元名,改成:
ReadLn(MyTextFile,unit1.name,sex,age);

最好name换一个名称。
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4923

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2003-04-05 09:33
社区公告
暂无公告