summaryrefslogtreecommitdiff
path: root/menugenerator/ls-Menu-Generator-gen
blob: ca26366feac7ff4d9ceee66045e875cadabf8f83 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
(* 
        
          ********************************************************* 
          ********************************************************* 
          **                                                     ** 
          **                  ls-Menu-Generator                  ** 
          **                  GENERATORPROGRAMM                  ** 
          **                     Version 1.0                     ** 
          **                                                     ** 
          **                  (Stand: 30.03.88)                  ** 
          **                                                     ** 
          **                                                     ** 
          **         Autor: Wolfgang Weber, Bielefeld            ** 
          **                                                     ** 
          **                                                     ** 
          ** Copyright (C) 1987, 1988 Eva Latta-Weber, Bielefeld ** 
          **                                                     ** 
          ** Copyright (C) 1988 ERGOS GmbH, Siegburg             ** 
          **                                                     ** 
          ********************************************************* 
          ********************************************************* 
 
                                                                           *) 
 
LET mm taskname =  "ls-MENUKARTEN",
    datei 1     =  "Generatordatei: Archivmenu",
    datei 2     =  "ls-MENUBASISTEXTE",
    datei 3     =  "ls-Menu-Generator 1",
    datei 4     =  "ls-Menu-Generator 2";
PROC stelle existenz des mm sicher:
  cursor (1, 5); out (""4"");
  IF NOT exists (task (mm taskname))
     THEN errorstop ("Unbedingt erst den 'MENUKARTEN-MANAGER' generieren!");
  FI
END PROC stelle existenz des mm sicher;
PROC vom archiv (TEXT CONST datei):
  cursor (1,5); out (""4"");

  out ("  """); out (datei); putline (""" wird geholt.");
  fetch (datei, archive)
END PROC vom archiv;
PROC hole (TEXT CONST datei):
  IF NOT exists (datei) THEN vom archiv (datei) FI
END PROC hole;
PROC in (TEXT CONST datei):
  hole (datei);
  cursor (1, 5); out (""4"");
  out ("  """); out (datei); out (""" wird übersetzt: ");
  insert (datei);
  forget (datei, quiet);
END PROC in;
PROC schicke (TEXT CONST datei):
  cursor (1, 5); out (""4"");
  out ("  """); out(datei);
  out (""" wird zum MENUKARTEN-MANAGER geschickt!");

  command dialogue (FALSE);
  save (datei, task (mm taskname));
  command dialogue (TRUE);
  forget (datei, quiet)
END PROC schicke;
INT VAR size, used;
BOOL VAR einzeln;
storage (size, used);
einzeln := size - used < 500;
forget ("ls-Menu-Generator/gen", quiet);
wirf kopfzeile aus;
stelle existenz des mm sicher;
hole die dateien;
insertiere die dateien;
mache global manager aus der task.
wirf kopfzeile aus:
  page;
  putline ("                  "15"ls-Menu-Generator - Automatische Generierung "14"").

hole die dateien:
  IF     NOT exists (datei 1) COR NOT exists (datei 2)
     COR NOT exists (datei 3) COR NOT exists (datei 4)
     THEN hole dateien vom archiv
  FI.
hole dateien vom archiv:
  cursor (1,3);
  say ("Ist das Archiv angemeldet und die "); line;
  IF yes ("'ls-Menu-Generator'-Diskette eingelegt")
     THEN lese ein
     ELSE line (2);
          errorstop ("Ohne die Diskette kann ich das System nicht generieren!")
  FI.
lese ein:
  cursor (1, 3); out (""4"");
  out ("                      "15"Bitte die Diskette eingelegt lassen! "14"");

  IF NOT einzeln
     THEN hole (datei 1);
          hole (datei 2);
          hole (datei 3);
          hole (datei 4);
          cursor (1, 3); out(""4"");
          out ("                     "15"Die Diskette wird nicht mehr benötigt! "14"");
          release (archive)
  FI.
insertiere die dateien:
  check off;
  schicke (datei 2);
  in (datei 3);
  in (datei 4);
  IF einzeln THEN release (archive) FI;
  check on.
mache global manager aus der task:
  global manager.