summaryrefslogtreecommitdiff
path: root/app/eudas/4.3/src/eudas.generator
blob: 96269e9fe0af408ed101ac517efd93e2043853ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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;