app/eudas/5.3/src/eudas.generator

Raw file
Back to index

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;