{****************************************************************************} {* 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 - Include-Files werden ausgedruckt'); writeln('A - Absaetze werden zusammengehalten'); writeln('V - druckt Verschachtelungstiefe'); writeln('C - generiert Crossreferenzliste'); 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;