INT VAR size, used; BOOL VAR einzeln,sparen; 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 4.3 vom 31.07.87"); line; sparen := no ("Ausfuehrliche Hilfstexte installieren"); 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 NOT einzeln THEN holen ("eudas.1"); holen ("eudas.2"); holen ("eudas.3"); holen ("eudas.4"); holen ("eudas.init"); release (archive) END IF; check off; 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"); IF einzeln THEN release (archive) END IF; IF sparen THEN do ("menue loeschen (TRUE)") END IF; do("menuedaten einlesen (""eudas.init"")"); forget ("eudas.init", quiet); check on; do ("global manager"); PROC vom archiv (TEXT CONST datei): out (""""); out (datei); putline (""" wird geholt."); fetch (datei, archive) 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); out (""""); out (datei); out (""" wird uebersetzt: "); 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;