summaryrefslogtreecommitdiff
path: root/hamster/ls-Herbert und Robbi-gen
blob: 6104fe3332c6d55c0ca23b641c271f6ccda4fcde (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
(* 
        
          ********************************************************* 
          ********************************************************* 
          **                                                     ** 
          **                 ls-Herbert und Robbi                ** 
          **                  GENERATORPROGRAMM                  ** 
          **                     Version 1.1                     ** 
          **                                                     ** 
          **                  (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",
    datei1      = "ls-Herbert und Robbi 1",
    datei2      = "ls-Herbert und Robbi 2",
    datei3      = "ls-Herbert und Robbi 3",
    menukarte   = "ls-MENUKARTE:Herbert und Robbi";
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, mit erweiterung :: FALSE;
storage (size, used);
einzeln := size - used < 500;
forget ("ls-Herbert und Robbi/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-Herbert und Robbi - Automatische Generierung "14"");

  line (2);
  putline ("  Bitte beantworten Sie noch die folgende Frage:");
  line;
  put("  Sollen neben den 'Standardtests' auch die folgenden 'Tests':");
  line (2);
  putline("          Für den Hamster:                   Für den Roboter:");
  putline("           links frei                         links frei");
  putline("           rechts frei                        rechts frei");
  putline("           hinten frei                        hinten frei");
  putline("           korn vorn                          werkstueck vorn");

  putline("           korn links                         werkstueck links");
  putline("           korn rechts                        werkstueck rechts");
  putline("           korn hinten                        werkstueck hinten");
  line;
  IF yes("  zur Verfügung gestellt werden")
     THEN mit erweiterung := TRUE
  FI.
hole die dateien:
  IF     NOT exists (datei 1)
     COR NOT exists (datei 3)
     COR NOT exists (menukarte)
     THEN hole dateien vom archiv; LEAVE hole die dateien

  FI;
  IF mit erweiterung AND NOT exists (datei 2)
     THEN hole dateien vom archiv
  FI.
hole dateien vom archiv:
  cursor (1,3); out (""4"");
  IF yes ("Ist das Archiv angemeldet und die 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 3);
           hole (menukarte);
           IF mit erweiterung
              THEN hole (datei 2)
           FI;
           cursor (1, 3); out(""4"");
           out ("                  "15"Die Diskette wird nicht mehr benötigt! "14"");
           release (archive)
  FI.
insertiere die dateien:
  check off;
  cursor (1, 3); out(""4"");
  out ("                  "15"Die Diskette wird nicht mehr benötigt! "14"");
  in (datei 1);
  IF mit erweiterung
     THEN in (datei 2)

  FI;
  in (datei 3);
  schicke (menukarte);
  IF einzeln THEN release (archive) FI;
  check on.
mache global manager aus der task:
  global manager.