Pascal:外部文件无法更新

时间:2016-04-08 04:25:15

标签: external pascal freepascal

我在重写我的.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)”时它不起作用。有什么想法吗?再次感谢。

1 个答案:

答案 0 :(得分:1)

没关系,我找到了答案。 exit()是保留的。对不起大家。 注:感谢@gammatester