我在重写我的.txt文件时遇到了问题,我犯了一些错误吗?程序运行顺利。这是我的图书馆的一部分。
//global variable
uses utheatre;
var loadUDT:TheatreUDT;
//utheatre library
type
TheatreUDT = record
Member:text;
end;
procedure load_main(var loadUDT : TheatreUDT);
begin
load_Member(loadUDT.Member);
end;
procedure load_Member(var Member:text);
begin
assign (Member,'Data/Member.txt');
end;
procedure regis(var loadUDT:TheatreUDT);
var
s:string;
begin
rewrite(loadUDT.Member);
write('> Input Username : ');
readln(s);
write(loadUDT.Member,s);
write(loadUDT.Member,' | ');
write('> Input Password : ');
readln(s);
write(loadUDT.Member,s);
writeln(loadUDT.Member,' | 100000');
writeln('> Registration Successful');
end;
procedure exit(var loadUDT:TheatreUDT; var bool_main:boolean);
begin
close(loadUDT.Member);
bool_main := False;
end;
我预计记事本中的输出将是
用户名|密码| 100000
但似乎没有更新Member.txt。谢谢。
编辑:这是我的主要计划
begin
bool_main := True;
while(bool_main) do begin
write('> ');
readln(input_main);
case input_main of
'load' : load_main(loadUDT);
'register' : regis(loadUDT);
'exit' : exit();
end;
end;
end.
N.B。我发现当我在“regis程序”中添加“close(loadUDT.Member)”时,它可以工作,但是当我在“退出程序”中插入“close(loadUDT.Member)”时它不起作用。有什么想法吗?再次感谢。
答案 0 :(得分:1)
没关系,我找到了答案。 exit()是保留的。对不起大家。 注:感谢@gammatester