大家帮我看看这段代码

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
大家帮忙看看啊!
...全文
52 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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换一个名称。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧