0
私の.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は更新されていないようです。前にありがとう。
EDIT:これは私のメインプログラム
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.です私は私の "レジスプロシージャ"の中に "close(loadUDT.Member)"を追加すると、 "exit procedure"の中に "close(loadUDT.Member)"を挿入すると動作しないことがわかりました。なぜどんなアイデア?もう一度ありがとう。
あなたの手続きの呼び出しを見せてください。さもなければ、I/Oが実際に行われないことがあります。ファイルが常に書き換えられるため、 '更新された'場合でも間違っている可能性があります。あなたは 'data'サブディレクトリを確認してもよろしいですか? – gammatester
@gammatesterが編集しました。実際に私は "データ"サブディレクトリをチェックして、そこにMember.txtを作成しましたが、何もありませんでした(0バイト)。 –
なぜパラメータのない 'exit()'の呼び出し?これは実際にコンパイルして動作しますか? BTWの「exit」は標準的な手順です。パラメータなしで 'system.exit'が呼び出され、終了せずにプロシージャを終了します。 – gammatester