Aneinanderhängen von Textfiles in PASCAL




PROGRAM FileAppend;
(* kopiert Textfile A an das Ende von Textfile T.        *)
(* Dabei wird angenommen, dass die Files A.txt und T.txt *)
(* bereits im aktuellen Laufwerk existieren.             *)
(* Falls dies nicht der Fall ist, muessen sie zuerst     *)
(* angelegt werden.                                      *)

VAR A,T: Text;
   
PROCEDURE Append1(VAR A,T : Text);
(* kopiert A buchstabenweise an das Ende von T *)

VAR c : CHAR;
BEGIN
   reset(A);
   append(T);

   WHILE not(eof(A)) DO
   BEGIN
      WHILE not(eoln(A)) DO
      BEGIN
	 read(A,c);
	 write(T,c)
      END;
      readln(A);
      writeln(T)
   END
END; (* Append1 *)

PROCEDURE Append2(VAR A,T : Text);
(* kopiert A zeilenweise an das Ende von T. *)
(* Dabei wird angenommen, dass keine Zeile  *)
(* von A mehr als 80 Zeichen enthaelt.      *)

VAR zeile : String[80];
BEGIN
   reset(A);
   append(T);

   WHILE not(eof(A)) DO
   BEGIN
      readln(A,zeile);
      writeln(T,zeile)
   END
END; (* Append2 *)

BEGIN (* Hauptprogramm *)
   assign(A,'A.txt');
   assign(T,'T.txt');

   Append1(A,T);
   Append2(A,T);
   
   close(A);
   close(T)
END.