{***************************************************************************} {* Eingabe von Programmnamen und Optionen *} {***************************************************************************} PROCEDURE LiesFileName; VAR n : STRING[14]; BEGIN readln(n); MainFileName:=gross(n); writeln END; PROCEDURE LiesOptions; VAR i : 1..6; o : STRING[6]; BEGIN writeln('L - Zeilennummern werden mitgedruckt'); writeln('M - Reservierte Woerter werden markiert'); writeln('I - Included-Files werden ausgedruckt'); writeln('A - Absaetze werden zusammengehalten'); writeln('V - druckt Verschachtelungstiefe'); writeln('C - generiert Crossrefernzliste'); writeln; write('L, M, I, A, V, C, LM, LI, MI, LMI ... LMIAVC : '); readln(o); Options:=[]; FOR i:=1 TO length(o) DO CASE o[i] OF 'L','l' : Options:=Options+[LNummer]; 'M','m' : Options:=Options+[RMark]; 'I','i' : Options:=Options+[FIncl]; 'A','a' : Options:=Options+[AutoBlock]; 'V','v' : Options:=Options+[Versch]; 'C','c' : Options:=Options+[Cross] END; AutoBlockFlag:=AutoBlock IN Options; IF Cross IN Options THEN REPEAT {$I-} write('Spaltenzahl : '); readln(SpaltenZahl) {$I+} UNTIL IOresult=0; write('Warten nach jeder Seite (J/N) ? '); readln(o); WarteFlag:=(o='J') OR (o='j') END; FUNCTION FileExists ( x : filetype ) : boolean; {Falls das File existiert, wird es zugleich eroeffnet.} BEGIN CASE x OF main : BEGIN assign(MainFile,MainFileName); {$I-}; reset(MainFile); {$I+}; END; include : BEGIN assign(InclFile,InclFileName); {$I-}; reset(InclFile); {$I+}; END; END; FileExists:=(IOresult=0) END; PROCEDURE SchliessIncludeFile; BEGIN close(InclFile); IncludeFlag:=false END;