summaryrefslogtreecommitdiff
path: root/app/gs.menugenerator/1.0/doc/menu-generator handbuch.6
blob: a0dd3b5f6e320b5529e32bfb470668073f5432d8 (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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
#block##pageblock# 
#pagenr("%",1)##setcount(1)##count per page# 
#headeven# 
gs-Menu-Generator 
#center#____________________________________________________________ 
 
#end# 
#headodd# 
#right#gs-Menu-Generator 
#center#____________________________________________________________ 
 
#end# 
#bottomeven# 
#center#____________________________________________________________ 
6 - % #right#ERGOS 
#end# 
#bottomodd# 
#center#____________________________________________________________ 
ERGOS #right# 6 - % 
#end# 
#ib#6  Einbinden der Datei- und Archivoperationen#ie# 
 
 
Sie haben bereits erfahren, wie Sie eine Menukarte generieren und ankoppeln kön­
nen. Im letzten Kapitel haben wir Ihnen die Möglichkeiten aufgezeigt, innerhalb des
Menus einen Dialog mit dem Benutzer zu führen. Sie sind somit in der Lage, Ihre
eigenen Anwendungen unter der Benutzeroberfläche gs-DIALOG zu erstellen. 
Wie sich gezeigt hat, treten eine Reihe von Verarbeitungsfunktionen in nahezu jeder
Anwendung auf. Im EUMEL-System benötigt man bei fast allen Anwendungspro­
grammen auch die Möglichkeiten, Dateien auf dem Archiv zu sichern oder von dort
zu holen; auch Umbenennen, Kopieren, Drucken, Reorganisieren ... von Dateien
zählen sicher zu den häufig benötigten Verarbeitungsfunktionen. Wünschenswert ist
es natürlich, daß in allen Programmen unter einer Benutzeroberfläche die "Stan­
dard-Verarbeitungsfunktionen" in immer gleicher Weise zur Verfügung stehen! 
 
Dieser Vorteil liegt sogar nicht nur auf der Seite des Anwenders - auch der Anwen­
dungsprogrammierer profitiert davon: Dann nämlich, wenn er diese Standard-Verar­
beitungsfunktionen nicht immer neu schreiben muß, sondern auf vorgefertigte
Prozeduren und natürlich auch auf die zugehörigen Informationstexte zurückgreift. 
 
Wir haben uns deshalb entschlossen, diese Standard-Verarbeitungsfunktionen zum
Datei- und Archivhandling bereits in das Basissystem gs-DIALOG zu integrieren und
Ihnen mit gs-Menu-Generator Dateien zur Verfügung zu stellen, in denen die
Programme zur Einbindung dieser Prozeduren in Ihre eigenen Programmsysteme
ebenso enthalten sind wie alle dazugehörigen Informationstexte. 
In diesem Kapitel soll nun beschrieben werden, wie Sie diese vorgefertigten Module in
Ihre Menukarten/Programme einbinden können und was Sie dabei beachten müs­
sen. 
 
 
#ib#6.1  Einbinden der Archivoperationen#ie# 
 
Auf der von uns gelieferten Diskette 'gs-Menu-Generator', befindet sich auch die
Datei 'Generatordatei: Archivmenu'. Darin ist das vollständige Menukarten-Generie­
rungs-Programm zur Generierung der Menukarte 'gs-MENUKARTE: Archiv' inclusive
aller Informationstexte enthalten. U.a. befindet sich darin eben das folgende Pro­
gramm: 
 
 
oeffne menukarte ("Archiv"); 
oeffne menu   ("ARCHIV", "", "menu archiv reservierung aufgeben"); 
 
 
oberbegriff  ("Dateien"); 
 
menufunktion ("v", "Verzeichnis",         "menu dateien verzeichnis", 
                                           dateiverzeichnistext); 
trennlinie; 
menufunktion ("l", "Löschen",             "menu dateien loeschen", 
                                           dateiloeschentext); 
menufunktion ("d", "Drucken",             "menu dateien drucken", 
                                           dateidruckentext); 
trennlinie; 
menufunktion ("k", "Kopieren",            "menu dateien kopieren", 
                                           dateikopierentext); 
menufunktion ("u", "Umbenennen",          "menu dateien umbenen­
                                           nen", 
                                           dateiumbenennentext); 
trennlinie; 
menufunktion ("s", "Speicherplatz",       "menu dateien speicherplatz", 
                                           dateispeicherplatztext); 
menufunktion ("a", "Aufräumen",           "menu dateien aufraeumen", 
                                           dateiaufraeumtext); 
 
 
oberbegriff  ("Archiv", "menu archiv grundeinstellung (4)", 
                         "menu archiv reservierung aufgeben"); 
 
menufunktion ("r", "Reservieren",         "menu archiv reservieren", 
                                           archivreserviertext); 
menufunktion ("n", "Neue Diskette",       "menu archiv neue diskette", 
                                           neuediskettetext); 
trennlinie; 
menufunktion ("s", "Schreiben",           "menu archiv schreiben", 
                                           archivschreibtext); 
menufunktion ("c", "Checken",             "menu archiv checken", 
                                           archivchecktext); 
menufunktion ("k", "Kombination",         "menu archiv schreibcheck", 
                                           archivkombinationstext); 
menufunktion ("h", "Holen/Lesen",         "menu archiv holen", 
                                           archivholtext); 
menufunktion ("l", "Löschen",             "menu archiv loeschen", 
                                           archivloeschtext); 
trennlinie; 
menufunktion ("v", "Verzeichnis",         "menu archiv verzeichnis", 
                                           archivverzeichnistext); 
menufunktion ("d", "Drucken",             "menu archiv verzeichnis
                                           drucken", 
                                           archivdruckentext); 
trennlinie; 
menufunktion ("i", "Initialisieren",      "menu archivinitialisieren", 
                                           archivinitialisiertext); 
menufunktion ("z", "Zieltask einstellen",  "menu archiv zieltask
                                            einstellen", 
                                            archivzieltasktext); 
schliesse menu; 
schliesse menukarte; 
 
 
Wie schon oben erwähnt, sind auch alle Informationstexte in der Datei enthalten, die
jeweils über den 4. Parameter der Prozeduren 'menufunktion' in die Menukarte
eingebunden werden. Wir haben Sie hier nicht extra abgedruckt; Sie können ja die
entsprechende Datei auf der Diskette einsehen! 
 
Zu dem Programm möchten wir jedoch noch einige wichtige Anmerkungen machen,
damit Sie die entsprechenden Verarbeitungsfunktionen in Ihre Menukarte einbinden
können. 
 
Wenden wir uns zunächst den Archivoperationen zu. gs-DIALOG stellt die folgenden
Verarbeitungsfunktionen bereit: 
 
 
          PROC #ib#menu archiv reservieren#ie#, 
          PROC #ib#menu archiv neue diskette#ie#, 
          PROC #ib#menu archiv schreiben#ie#, 
          PROC #ib#menu archiv checken#ie#, 
          PROC #ib#menu archiv schreibcheck#ie#, 
          PROC #ib#menu archiv holen#ie#, 
          PROC #ib#menu archiv loeschen#ie#, 
          PROC #ib#menu archiv verzeichnis#ie#, 
          PROC #ib#menu archiv verzeichnis drucken#ie#, 
          PROC #ib#menu archiv initialisieren#ie#, 
          PROC #ib#menu archiv zieltask einstellen#ie#, 
 
 
Durch diese elf Prozeduren werden die entsprechenden Menufunktionen ausgeführt. 
 
Außerdem werden noch folgende Prozeduren bereitgestellt: 
 
 
          PROC #ib#menu archiv grundeinstellung#ie# (INT CONST ort) 
          PROC #ib#menu archiv reservierung aufgeben#ie# 
 
 
Diesen beiden Prozeduren sollten Sie bei der Einbindung der Archivfunktionen in
Ihre Menukarten besondere Beachtung schenken. Wie Sie im Programm auf der Seite
zuvor sehen, taucht die Prozedur 'menu archiv reservierung aufgeben' gleich zweimal
auf: einmal als 3.Parameter der Prozedur 'oberbegriff' und einmal als 3.Parameter
der Prozedur 'oeffne menu' - und das aus folgendem Grund: 
 
Wenn der Benutzer die Archivoperationen verläßt, dann sollte automatisch das Archiv
freigegeben werden, um so - auch bei Multi-User-Betrieb - ein einwandfreies Archiv­
handling zu gewährleisten. Nun kann der Benutzer das Pull-Down-Menu 'Archiv' aber
eben auf zweierlei Weise verlassen: Einmal durch den Wechsel in ein anderes Pull-
Down-Menu der gleichen Menukarte - oder aber er verläßt insgesamt das Menu. Im
ersten Falle wird das Archiv abgemeldet, weil ja die als 3.Parameter bei 'oberbegriff'
eingetragene Prozedur ausgeführt wird - im zweiten Falle, weil die als 3.Parameter
bei 'oeffne menu' eingetragene Prozedur ausgeführt wird. Diese Eintragungen sollten
Sie auf keinen Fall bei der Einbindung der Archivoperationen vergessen. 
 
Die Prozedur 'menu archiv grundeinstellung (INT CONST ort)' sollte bei den Archiv­
operationen immer als 2. Parameter in der Prozedur 'oberbegriff' übergeben wer­
den. Nur wenn diese Prozedur beim Entfallten des Archiv-Pull-Down-Menus ausge­
führt wird, ist die einwandfreie Funktion des Archivsystems sichergestellt. Dadurch
geschieht nämlich folgendes: 
 
   1)  Als Zieltask wird das Archiv der eigenen Station eingestellt - unabhängig
       davon, mit welcher Einstellung das Menu zuvor verlassen wurde. 
 
   2)  Es wird die Zieltask auf dem Bildschirm angezeigt. 
 
   3)  Die entsprechenden Menupunkte werden aktiviert bzw. deaktiviert. 
 
   4)  Es wird festgelegt, an welcher Stelle innerhalb des Menus die Menunotiz zur
       Anzeige der Zieltask (und ggf. des Archivnamens) ausgegeben wird. 
 
Im Programm oben ist hierfür die Position 4 (rechts unten in der Ecke) gewählt. Wir
haben diese Festlegung deswegen so getroffen, weil das Archiv-Pull-Down-Menu
ziemlich weit links auf dem Bildschirm erscheint (es sind nur zwei Oberbegriffe
eingetragen!). So stören sich Archiv-Pull-Down-Menu und die Menunotiz nicht gegen­
seitig. In unseren Anwendungssystemen 'gs-Herbert und Robbi' und
'gs-MP-BAP' haben wir dagegen die Position '3' eingetragen, damit die Menunotiz
unten links in der Ecke erscheint, weil das Archiv-Pull-Down-Menu ganz rechts auf
dem Bildschirm entfaltet wird. 
 
Achtung! Uns ist es sehr, sehr wichtig, daß zumindest die Archivfunktionen in allen
Anwendungen unter gs-DIALOG in gleicher Weise zur Verfügung gestellt werden. Um
das sicherzustellen, sind die Funktionen so in gs-DIALOG integriert, daß das System
nur dann reibungslos funktioniert, wenn Sie sich an die eben aufgezeigten Regeln für
die Einbindung in Ihr Anwendungssystem halten! Für die korrekte Funktionsweise
muß im Archiv-Pull-Down-Menu auch immer exakt die Reihenfolge (der Aufbau) der
Verarbeitungsfunktionen eingehalten werden. Auch die Namen sollten immer gleich
gewählt werden! 
 
Wir hoffen, daß Sie als Programmierer für diese doch etwas rigorose Maßnahme
Verständnis haben - dafür versichern wir Ihnen, daß wir sehr viel Gedanken und
Arbeit in die Konstruktion des Archivsystems investiert haben! 
 
Auf eine Einschränkung muß allerdings noch hingewiesen werden:Das Archiv-
Pull-Down-Menu kann aus technischen Gründen nicht das erste, ganz links in einem
Menu stehende sein; es kann frühestens unter dem zweiten Oberbegriff in das Menu
aufgenommen werden! Es ist z.Z. nicht möglich, im ganz links stehenden Pull-
Down-Menu deaktivierte Menupunkte zu behandeln. 
 
 
#ib#6.2  Einbinden der Dateiopertionen#ie# 
 
gs-DIALOG stellt neben den Archivoperationen standardmäßig auch einige Dateiope­
rationen bereit. Folgende Prozeduren stehen zur Verfügung: 
 
 
          PROC #ib#menu dateien verzeichnis#ie#, 
          PROC #ib#menu dateien loeschen#ie#, 
          PROC #ib#menu dateien drucken#ie#, 
          PROC #ib#menu dateien kopieren#ie#, 
          PROC #ib#menu dateien umbenennen#ie#, 
          PROC #ib#menu dateien speicherplatz#ie#, 
          PROC #ib#menu dateien aufraeumen#ie#. 
 
 
Die Prozeduren bedürfen in Ihrer Wirkung sicher kaum einer Erklärung. Die Wir­
kungsweise können Sie einfach ausprobieren, indem Sie die entsprechenden Ver­
arbeitungsfunktionen im Archiv-Menu einfach einmal aktivieren.