INT VAR size, used; BOOL VAR einzeln, sparen, box, l3; TASK VAR ar; IF (pcb (9) AND 255) = 1 THEN errorstop ("Nicht für Single-User-Systeme geeignet") END IF; storage (size, used); einzeln := size - used < 500; soehne loeschen; forget ("eudas.generator", quiet); page; putline ("EUDAS - automatische Generierung"); putline ("Version 5.3 vom 06.02.89"); line; sparen := no ("Ausfuehrliche Hilfstexte installieren"); box := yes ("Mit IBM Grafikzeichen"); l3 := maxint DIV 2 > 17000; IF l3 THEN ar := /"EUMEL" ELSE ar := archive END IF; line; disable stop; do ("TEXT VARt:=additionalcommands"); IF is error THEN clear error; enable stop; gen ("dummy.text") END IF; enable stop; IF id (0) < 175 THEN gen ("pos.173") END IF; IF l3 THEN gen ("isub.replace") END IF; IF NOT einzeln THEN holen ("menues.1"); holen ("eudas.1"); holen ("eudas.2"); holen ("eudas.3"); holen ("eudas.4"); holen ("eudas.init.14"); IF box THEN holen ("boxzeichen") END IF; release (ar) END IF; check off; gen ("menues.1"); IF box THEN gen ("boxzeichen") END IF; gen ("eudas.1"); gen ("eudas.2"); gen ("eudas.3"); gen ("eudas.4"); IF anything noted THEN push (""27"q"); note edit; pause (100) END IF; holen ("eudas.init.14"); IF einzeln THEN release (ar) END IF; IF sparen THEN do ("menue loeschen (TRUE)") END IF; reorg ("eudas.init.14"); do ("menuedaten einlesen (""eudas.init.14"")"); forget ("eudas.init.14", quiet); check on; do ("global manager"); PROC reorg (TEXT CONST dateiname) : IF l3 CAND type (old (dateiname)) = 1003 THEN reorganize (dateiname) END IF END PROC reorg; PROC vom archiv (TEXT CONST datei): out (""""); out (datei); putline (""" wird geholt."); fetch (datei, ar) END PROC vom archiv; PROC holen (TEXT CONST datei) : IF NOT exists (datei) THEN vom archiv (datei) END IF END PROC holen; PROC gen (TEXT CONST datei) : holen (datei); cursor (1, 7); out (""4""); out (""""); out (datei); out (""" wird uebersetzt: "); reorg (datei); insert (datei); forget (datei, quiet) END PROC gen; PROC soehne loeschen : command dialogue (TRUE); access catalogue; TASK VAR sohn := son (myself); WHILE NOT is niltask (sohn) REP TASK CONST naechster := brother (sohn); IF yes ("Sohntask """ + name (sohn) + """ loeschen") THEN end (sohn) ELIF yes ("Generierung abbrechen") THEN errorstop ("") END IF; sohn := naechster END REP END PROC soehne loeschen;