program append(input,output); { ============================================================== } { } { Programm testet die APPEND Prozedur unter CP/M 80 TURBO PASCAL } { Copyright (C) Werner Cirsovius } { Hohe Weide 44 } { D-2000 Hamburg 20 } { Tel.: 040-4223247 } { Version 1.0 von Juli 1988 } { } { ============================================================== } type zeile = string [80]; dateiname = string [14]; var datei : text; name : dateiname; eingabe : zeile; nummer : integer; {$i append.inl } { Einlesen der neuen Prozedur APPEND } function Tastatur(cTRUE,cFALSE:char):boolean; var Taste : char; begin repeat read(Kbd,Taste); Taste:=upcase(Taste); until Taste in [cTRUE,cFALSE]; writeln(Taste); Tastatur:=Taste=cTRUE; end; BEGIN repeat write('Dateiname : '); readln(name); until length(name)>0; assign(datei,name); {$I-} reset(datei); {$I+} if IOResult<>0 then rewrite(datei) else begin writeln('Die Datei existiert bereits'); write('[A]nhaengen oder [L]oeschen : '); if Tastatur('A','L') then begin write('Inhalt ausgeben (J/N) : '); if Tastatur('J','N') then begin nummer:=1; while not eof(datei) do begin readln(datei,eingabe); writeln('Zeile ',nummer:4,' > ',eingabe); nummer:=succ(nummer); end; end; append(datei); end else rewrite(datei); end; writeln; writeln('Eingabe beenden durch Leerzeile'); writeln; repeat write('>> '); readln(eingabe); if length(eingabe)>0 then writeln(datei,eingabe); until length(eingabe)=0; close(datei); END.