summaryrefslogtreecommitdiff
path: root/app/gs.menugenerator/1.0/doc/menu-generator handbuch.8
blob: 66eb6cfd756ea6ade78945b296c7f933bafd1e28 (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
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
#block##pageblock# 
#pagenr("%",1)##setcount(1)##count per page# 
#headeven# 
gs-Menu-Generator 
#center#____________________________________________________________ 
 
#end# 
#headodd# 
#right#gs-Menu-Generator 
#center#____________________________________________________________ 
 
#end# 
#bottomeven# 
#center#____________________________________________________________ 
8 - % #right#ERGOS 
#end# 
#bottomodd# 
#center#____________________________________________________________ 
ERGOS #right# 8 - % 
#end# 
#ib#8  Kurzbeschreibung der Befehle #ie# 
 
 
Durch #u#(*)#e# gekennzeichnete Prozeduren stehen (zumindest in der hier dokumentier­
ten Form) erst ab gs-DIALOG Version 1.1 zur Verfügung! 
 
 
#ib#activate#ie# 
PROC activate (TEXT CONST punktname): 
 
Zweck:   Mit der Prozedur kann ein (deaktivierter) Menupunkt im aktuellen
         Pull-Down-Menu aktiviert, d.h. zur Ausführung freigegeben werden. Das
         '-'-Zeichen vor der Punktbezeichnung verschwindet auf dem Bildschirm,
         statt dessen erscheint das Zeichen, über den die Menufunktion direkt
         aktivierbar ist. 'punktname' muß eine Punktbezeichnung sein, die genau
         in der angegebenen Schreibweise im aktuellen Pull-Down-Menu vorhan­
         den ist (über den 2. Parameter der Prozedur 'menufunktion' in die
         Menukarte eingetragen wurde) - ansonsten wird diese Anweisung igno­
         riert. Die Prozedur "zeigt nur dann Wirkung", wenn sie aus einer Verar­
         beitungsfunktion des aktuell entfalteten Pull-Down-Menus heraus oder
         durch die "Startprozedur"/"Leaveprozedur" des aktuellen Pull-Down-
         Menus (sehen Sie auch 'oberbegriff') aufgerufen wird. 
         Die Veränderung wird nicht sofort auf dem Bildschirm angezeigt, sondern
         erst, wenn das Pull-Down-Menu das nächste Mal vom System regeneriert
         wird; ansonsten muß das Kommando 'refresh submenu' gegeben werden. 
 
 
PROC activate (INT CONST punktposition):#u#(*)#e# 
Zweck:   arbeitet wie obiges 'activate', allerdings werden die Menupunkte nicht
         über ihre Bezeichnung, sondern über ihre Position im (aktuellen) Pull-
         Down-Menu identifiziert. Die Positionen sind von oben nach unten durch­
         numeriert. Beachten Sie, daß Trennlinien eine Position belegen und
         mitgezählt werden. Die Prozedur arbeitet schneller als obige! 
 
 
#ib#anwendungstext#ie# 
TEXT PROC anwendungstext (INT CONST zeilennummer): 
 
Zweck:   Mit diesem Befehl können Texte angesprochen (geholt) werden, die in die
         Menukarte ausgelagert wurden. Es wird der Text aus der angekoppelten
         Menukarte geliefert, der bei der "Einlagerung" in der Zeile 'zeilen­
         nummer' stand. 
Fehler:  Kein Text vorhanden! (In der angekoppelten Menukarte ist unter der
         'zeilennummer' kein Anwendungstext eingetragen.) 
         Bitte achten Sie auf folgendes: Wenn Sie eine neue Menukarte generiert
         haben, muß diese erst an die aktuelle Task gekoppelt werden, bevor Sie
         auf die dort eingetragenen (Anwendungs-)Texte zugreifen können (z.B.
         mit 'testinstallation'). 
 
 
#ib#areax#ie# 
INT PROC areax (WINDOW VAR w)  
Zweck:   Liefert den Wert 'x' des Fensters w. 
 
 
#ib#areaxsize#ie# 
INT PROC areaxsize (WINDOW VAR w)  
Zweck:   Liefert den den Wert 'xsize' des Fensters w. 
 
 
#ib#areay#ie# 
INT PROC areay (WINDOW VAR w)  
Zweck:   Liefert den den Wert 'y' des Fensters w. 
 
 
#ib#areaysize#ie# 
INT PROC areaysize (WINDOW VAR w)  
Zweck:   Liefert den den Wert 'ysize' des Fensters w. 
 
 
#ib#balken links#ie# 
TEXT PROC balken links: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als "linker
       Balken" (̄) ausgegeben wird. 
 
 
PROC balken links (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als "linker Balken" ausgegeben werden soll. 
 
 
#ib#balken oben#ie# 
TEXT PROC balken oben: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als "oberer
         Balken" (�) ausgegeben wird. 
 
 
PROC balken oben (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als "oberer Balken" ausgegeben werden soll. 
 
 
#ib#balken rechts#ie# 
TEXT PROC balken rechts: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als "rechter
         Balken" (̃) ausgegeben wird. 
 
 
PROC balken rechts (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als "rechter Balken" ausgegeben werden soll. 
 
 
#ib#balken unten#ie# 
TEXT PROC balken unten: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als "unterer
         Balken" (̂) ausgegeben wird. 
 
 
PROC balken unten (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als "unterer Balken" ausgegeben werden soll. 
 
 
#ib#boxalternative#ie# 
INT PROC boxalternative (WINDOW VAR w, 
                         TEXT CONST infotext, 
                                    auswahlliste, 
                                    zusatztasten, 
                         INT  CONST position, 
                         BOOL CONST mit abbruch): 
 
Zweck:   Vergl. 'menualternative'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menualternative' automatisch gesetzt wird. Der 'infotext' muß
         den gs-DIALOG-Syntax-Regel gehorchen! Die 'auswahlliste' muß nach
         festen Regeln erstellt werden (sehen Sie Kap. 5.7) 
 
 
#ib#boxanswer#ie# 
TEXT PROC boxanswer (WINDOW VAR w, 
                     TEXT CONST infotext, 
                                vorgabe, 
                     INT CONST  position): 
 
Zweck:   Vergl. 'menuanswer'. Hier wird nur zusätzlich das Fenster festgelegt, das
         bei 'menuanswer' automatisch gesetzt wird. Der 'infotext' muß den
         gs-DIALOG-Syntax-Regel gehorchen! 
 
 
#ib#boxanswerone#ie# 
TEXT PROC boxanswerone (WINDOW VAR w, 
                        TEXT CONST infotext, 
                                   vorgabe, 
                        THESAURUS CONST thes, 
                        TEXT CONST ueberschrift, 
                                   hinweis, 
                        BOOL CONST mit reinigung): 
 
Zweck:   Vergl. 'menuanswerone'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuanswerone' automatisch gesetzt wird. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#boxanswersome#ie# 
THESAURUS PROC boxanswersome (WINDOW VAR w, 
                       TEXT CONST infotext, 
                                  vorgabe, 
                       THESAURUS CONST thes, 
                       TEXT CONST ueberschrift, 
                                  hinweis, 
                       BOOL CONST mit reinigung): 
 
Zweck:   Vergl. 'menuanswersome'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuanswersome' automatisch gesetzt wird. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#boxinfo#ie# 
PROC boxinfo (WINDOW VAR w, TEXT CONST infotext, 
              INT CONST position, timelimit): 
 
Zweck:   Vergl. 'menuinfo'. Hier wird nur zusätzlich das Fenster festgelegt, das bei
         'menuinfo' automatisch gesetzt wird. Der 'infotext' muß den gs-DIALOG-
         Syntax-Regel gehorchen! 
 
 
PROC boxinfo (WINDOW VAR w, TEXT CONST infotext): 
 
  wirkt wie: boxinfo (w, infotext, 5, maxint) 
 
 
#ib#boxno#ie# 
BOOL PROC boxno (WINDOW VAR w, 
                 TEXT CONST frage, 
                 INT CONST  position): 
 
  wirkt wie: NOT boxyes (w, frage, position) 
 
 
#ib#boxnotice#ie# 
PROC boxnotice (WINDOW VAR w, 
                TEXT CONST infotext, 
                INT CONST  position 
                INT VAR x, y, xsize, ysize): 
 
Zweck:   Mit 'w' wird das aktuelle Fenster festgelegt. In 'infotext' wird der Text
         übergeben, der als Notiz ausgegeben werden soll, der Text muß den
         gs-DIALOG-Syntax-Regeln entsprechen. Mit 'position' wird die relative
         Lage innerhalb des Fensters 'w' bestimmt. Über die letzten vier Parameter
         werden die Position/Maße der Box geliefert. Weder Text noch Position
         werden vermerkt. 
 
 
#ib#boxone#ie# 
TEXT PROC boxone (WINDOW VAR w, 
                  THESAURUS CONST thes, 
                  TEXT CONST ueberschrift, 
                             hinweis, 
                  BOOL CONST mit reinigung): 
 
Zweck:   Vergl. 'menuone'. Hier wird nur zusätzlich das Fenster festgelegt, das bei
         'menuone' automatisch gesetzt wird. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#boxsome#ie# 
THESAURUS PROC boxsome (WINDOW VAR w, 
                        THESAURUS CONST thes, 
                        TEXT CONST ueberschrift, 
                                   hinweis, 
                        BOOL CONST mit reinigung): 
 
Zweck:   Vergl. 'menusome'. Hier wird nur zusätzlich das Fenster festgelegt, das
         bei 'menusome' automatisch gesetzt wird. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#boxyes#ie# 
BOOL PROC boxyes (WINDOW VAR w, 
                  TEXT CONST frage, 
                  INT CONST  position): 
 
Zweck:   Vergl. 'menuyes'. Hier wird nur zusätzlich das Fenster festgelegt, das bei
         'menuyes' automatisch gesetzt wird. Die 'frage' muß den gs-DIALOG-
         Syntax-Regel gehorchen! 
 
 
#ib#center#ie# 
TEXT PROC center (WINDOW VAR w, TEXT CONST text): 
 
Zweck:   Vergl. 'menuwindowcenter'. Hier wird nur zusätzlich das Fenster festge­
         legt, das bei 'menuwindowcenter' automatisch gesetzt wird. 
 
 
TEXT PROC center (INT CONST laenge, 
                  TEXT CONST text): 
 
Zweck:   "Ummantelt" 'text' mit Leerzeichen, so daß 'text' etwa in der Mitte zu
         stehen kommt. Der gelieferte Text hat die Länge 'laenge'. 
 
 
TEXT PROC center (TEXT CONST text): 
 
  wirkt wie: center (79, text) 
 
 
#ib#clear buffer#ie# 
PROC clear buffer 
 
Zweck:   Leert den Zeichenpuffer 
 
 
#ib#clear buffer and count#ie# 
INT PROC clear buffer and count (TEXT CONST 
                                 zeichen): 
 
Zweck:   Leert den Zeichenpuffer und liefert die Häufigkeit des Vorkommens von
         'zeichen' im Zeichenpuffer. 
 
 
#ib#current menuwindow#ie# 
WINDOW PROC current menuwindow: 
 
Zweck:   liefert das aktuelle Menufenster (die Einzelwerte können dann mit
         'areax', 'areay', 'areaxsize' und 'areaysize' erfragt werden). 
 
 
#ib#cursor#ie# 
PROC cursor (WINDOW VAR w, INT CONST spalte, 
                                     zeile): 
 
Zweck:   Vergl. 'menuwindowcursor'. Hier wird nur zusätzlich das Fenster festge­
         legt, das bei 'menuwindowcursor' automatisch gesetzt wird. 
 
 
#ib#cursor off#ie# 
PROC cursor off: 
 
Zweck:   Sofern die EUMEL-Installation die Möglichkeit bietet, wird der Cursor aus
         dem Bildschirm ausgeblendet. 
         Wenn neue Verarbeitungsfunktionen entwickelt werden, sollte zu Beginn
         der Cursor eingeschaltet und nach Abschluß der Cursor wieder ausge­
         schaltet werden (sehen Sie auch Kap. 5.1). 
 
 
PROC cursor off (TEXT CONST zeichenkette): 
 
Zweck:   Neufestlegung der 'zeichenkette', die ausgegeben werden soll, um bei der
         aktuellen EUMEL-Installation den Cursor auf den Befehl 'cursor off' hin
         auszuschalten. 
 
 
#ib#cursor on#ie# 
PROC cursor on: 
 
Zweck:   Sofern die EUMEL-Installation die Möglichkeit bietet, wird der Cursor auf
         dem Bildschirm angezeigt. Wenn neue Verarbeitungsfunktionen entwik­
         kelt werden, sollte zu Beginn der Cursor eingeschaltet und nach Abschluß
         der Cursor wieder ausgeschaltet werden (sehen Sie auch Kap. 5.1). 
 
 
PROC cursor on (TEXT CONST zeichenkette): 
 
Zweck:   Neufestlegung der 'zeichenkette', die ausgegeben werden soll, um bei der
         aktuellen EUMEL-Installation den Cursor auf den Befehl 'cursor on' hin
         anzuschalten. 
 
 
#ib#deactivate#ie# 
PROC deactivate (TEXT CONST punktname): 
 
Zweck:   Vergl. 'activate (TEXT CONST punktname)'. 
         Im Gegensatz zu der Prozedur wird hier 'punktname' deaktiviert und
         beim (nächsten) Erscheinen der Menupunktbezeichnung ein '-'Zeichen
         vorangestellt. Es gelten die gleichen Einschränkungen wie bei 'activate'! 
 
 
PROC deactivate (INT CONST punktposition):#u#(*)#e# 
Zweck:   arbeitet wie obiges 'deactivate', allerdings werden die Menupunkte nicht
         über ihre Bezeichnung, sondern über ihre Position im (aktuellen) Pull-
         Down-Menu identifiziert. Die Positionen sind von oben nach unten durch­
         numeriert. Beachten Sie, daß Trennlinien eine Position belegen und
         mitgezählt werden. Die Prozedur arbeitet schneller als obige! 
 
 
#ib#direktstart#ie# 
PROC direktstart (TEXT CONST prozedurname, 
                  BOOL CONST mit loeschen):#u#(*)#e# 
Zweck:   Macht aus der aktuellen Task eine Manager-Task ('global manager').
         Werden neue Sohntasks eingerichtet, so melden sich diese nicht - wie
         gewohnt - mit der 'gib kommando:'-Ebene. Statt dessen wird die Prozedur
         'prozedurname' ausgeführt. Das Kommando ist dann sinnvoll, wenn sich
         die Sohntask gleich mit einem Menu melden soll. In der Prozedur
         'prozedurname' muß dann die entsprechende Menukarte angekoppelt
         und das gewünschte Menu zur Ausführung gebracht werden. Hat 'mit
         loeschen den Wert 'TRUE', so wird nach Verlassen der Menuebene die
         Task automatisch gelöscht; bei 'FALSE' wird noch angefragt, ob die Task
         gelöscht werden soll. Wird die Frage bejaht, wird gelöscht; sonst wird die
         Task abgekoppelt (break) und kann durch 'continue' wieder angekoppelt
         werden. 
         In der Task, in der das Kommando 'direktbefehl' gegeben wurde, sollte
         nicht das Kommando 'monitor' gegeben werden, da dadurch auch die­
         se Task zu einer Task gemacht würde, die sich direkt mit dem Menu
         meldet und ggf. bei Verlassen des Menus automatisch gelöscht wird! Die
         'gib kommando:'-Ebene ist dadurch unzugänglich! 
 
 
#ib#ecke oben links#ie# 
TEXT PROC ecke oben links: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" links oben in der
         Ecke (ω) ausgegeben wird. 
 
 
PROC ecke oben links (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" links oben in der Ecke ausgegeben werden soll. 
 
 
#ib#ecke oben rechts#ie# 
TEXT PROC ecke oben rechts: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" rechts oben in
         der Ecke (�) ausgegeben wird. 
 
 
PROC ecke oben rechts (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" rechts oben in der Ecke ausgegeben werden soll. 
 
 
#ib#ecke unten links#ie# 
TEXT PROC ecke unten links: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" links unten in
         der Ecke (�) ausgegeben wird. 
 
 
PROC ecke unten links (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" links unten in der Ecke ausgegeben werden soll. 
 
 
#ib#ecke unten rechts#ie# 
TEXT PROC ecke unten rechts: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" rechts unten in
         der Ecke (�) ausgegeben wird. 
 
 
PROC ecke unten rechts (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" rechts unten in der Ecke ausgegeben werden soll. 
 
 
#ib#edit#ie# 
PROC edit (WINDOW VAR w, TEXT CONST dateiname): 
 
Zweck:   Vergl. 'menuwindowedit'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowedit' automatisch gesetzt wird. 
 
 
PROC edit (WINDOW VAR w, FILE VAR f): 
 
Zweck:   Vergl. 'menuwindowedit'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowedit' automatisch gesetzt wird. 
 
 
#ib#editget#ie# 
PROC editget (WINDOW VAR w, TEXT VAR text):#u#(*)#e# 
Zweck:   Eingabe mit Editiermöglichkeit von 'text'. 'text' wird ausgegeben. Die
          Eingabe wird mit RETURN beendet. 'text' darf höchstens 79 Zeichen
         lang sein! Fehler:  Text nicht initialisiert. 
 
 
PROC editget (WINDOW VAR w, TEXT VAR text, 
              INT CONST max laenge, scroll, 
              TEXT CONST sep, res, 
              TEXT VAR exit char):#u#(*)#e# 
Zweck:   Wie oben. Über 'max laenge' kann festgelegt werden , wie lang der einzu­
         gebende Text ('text') maximal sein darf. Über 'scroll' wird die Breite des
         Zeilenfensters festgelegt, bevor gerollt wird (jedoch nicht über die rech­
         te Fenstergrenze hinaus). Über 'sep' können Zeichen bestimmt werden,
         bei denen die Eingabe (zusätzlich zu RETURN) beendet werden soll. Über
         'res' können reservierte Tasten angegeben werden. Wird eine dieser
         Tasten mit ESC betätigt, wird die Eingabe beendet. In 'exit char' steht
         dann ESC und das Zeichen, mit dem der Editor verlassen wurde. 
Fehler:  Text nicht initialisiert. 
 
 
#ib#erase#ie# 
PROC erase (WINDOW VAR fenster): 
 
Zweck:   Der durch 'fenster' beschrieben Bildschirmbereich wird gelöscht - ein­
         schließlich des Rahmens, der den Fensterbereich umgibt (vergl. Sie auch
         'page')! 
 
 
#ib#erase footnote#ie# 
PROC erase footnote (WINDOW VAR fenster): 
 
Zweck:   Die letzten beiden Zeilen in 'fenster' (in der die Fußnote nebst Trennlinie
         eingetragen sind) werden gelöscht (vergl. Sie auch 'out footnote')! 
 
 
#ib#erase menunotice#ie# 
PROC erase menunotice: 
 
Zweck:   Sofern zuvor mit 'write menunotice' (sehen Sie auch dort) eine Menunotiz
         gesetzt wurde, wird diese gelöscht, ansonsten hat die Prozedur keine
         Wirkung. 
 
 
#ib#get#ie# 
PROC get (WINDOW VAR w, TEXT CONST eingabe): 
 
Zweck:   Vergl. 'menuwindowget'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowget' automatisch gesetzt wird. 
 
 
PROC get (WINDOW VAR w, INT CONST wert): 
 
Zweck:   Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Der eingelesene Wert
         wird anschließend entsprechend konvertiert. 
 
 
 
PROC get (WINDOW VAR w, REAL CONST wert): 
 
Zweck:   Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Der eingelesene Wert
         wird anschließend entsprechend konvertiert. 
 
 
PROC get (WINDOW VAR w, TEXT CONST eingabe, 
                        INT CONST laenge): 
 
Zweck:   Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Zusätzlich wird die
         Eingabe beendet, wenn der eingegebene Text die Länge 'laenge' erreicht
         hat. 
 
 
PROC get (WINDOW VAR w, TEXT CONST eingabe, 
                        TEXT CONST separator): 
 
Zweck:   Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Zusätzlich werden
         über 'separtor' die Zeichen festgelegt, die zusätzlich zu den Positionie­
         rungszeichen die Eingabe beenden. 
 
 
#ib#get cursor#ie# 
PROC get cursor (WINDOW VAR w, INT VAR spalte, 
                                       zeile): 
 
Zweck:   Vergl. 'get menuwindowcursor'. Hier wird nur zusätzlich das Fenster
         festgelegt, das bei 'get menuwindowcursor' automatisch gesetzt wird. 
 
 
#ib#getline#ie# 
PROC getline (WINDOW VAR w, TEXT CONST eingabe): 
 
Zweck:   Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe). Nur wird hier die
         Eingabe ausschließlich über die Positionierungstasten - nicht aber über
         das Leerzeichen beendet. 
 
 
#ib#get menuwindowcursor#ie# 
PROC get menuwindowcursor (INT VAR spalte, zeile): 
 
Zweck:   Mit der Prozedur wird die aktuelle Cursorposition innerhalb des Menu­
         fensters erfragt. 
 
 
#ib#handle menu#ie# 
PROC handle menu (TEXT CONST menuname): 
 
Zweck:   Bringt das in der angekoppelten Menukarte enthaltene Menu mit dem
         Namen 'menuname' zur Ausführung, d.h. das entsprechende Menu wird
         auf dem Bildschirm präsentiert und kann mit den üblichen Tastenfunk­
         tionen gehandhabt werden. 
         (Anmerkung: Die Menufunktionen können natürlich nur dann ausge­
         führt werden, wenn die zugehörigen Programme in der aktuellen Task
         zuvor insertiert wurden - ansonsten erscheint auf dem Bildschirm jeweils
         der Hinweis 'unbekanntes Kommando'!) 
Fehler:  Das Menu 'menuname' ist nicht in der angekoppelten Menukarte! 
 
 
#ib#infix namen#ie# 
THESAURUS PROC infix namen (THESAURUS CONST thes, 
                            TEXT CONST infix): 
 
Zweck:   Die Prozedur liefert einen Thesaurus, in dem alle Namen enthalten sind,
         die in 'thes' übergeben wurden und die den Wortbestandteil 'infix' enthal­
         ten (gleichgültig an welcher Position). 
 
 
THESAURUS PROC infix namen (THESAURUS CONST thes, 
                            INT CONST dateityp): 
 
Zweck:   Die Prozedur liefert einen Thesaurus, in dem alle Dateinamen enthalten
         sind, die in 'thes' übergeben wurden und die den Dateityp 'dateityp'
         haben. 
 
 
THESAURUS PROC infix namen (THESAURUS CONST thes, 
                            TEXT CONST infix, 
                            INT CONST dateityp): 
 
  wirkt wie: infix namen (infix namen (thes, infix), dateityp) 
 
 
#ib#install menu#ie# 
PROC install menu (TEXT CONST menukartenname, 
                   BOOL CONST mit emblem): 
 
Zweck:   Mit diesem Befehl wird die Menukarte mit dem Namen 'menukarten­
         name' aus der Task 'gs-MENUKARTEN' in die aktuelle Task kopiert. Die
         Menukarte wird als unbenannter Datenraum an die Task gekoppelt. Der
         benannte Datenraum wird gelöscht. Der Name der angekoppelten Menu­
         karte wird vermerkt. 
         Stimmt der Name der angekoppelten Menukarte mit dem Namen der
         angeforderten Menukarte überein, dann wird nicht erneut eine Kopie
         angefordert, sondern auf der bereits angekoppelten Menukarte gearbeitet. 
         Hat 'mit emblem' den Wert 'TRUE', dann wird unser 'Software-Emblem'
         während des Ankoppelvorgangs auf dem Bildschirm ausgegeben, bei
         'FALSE' nicht. 
Fehler:  Die Menukarte 'menukartenname' existiert nicht in der Task
         'gs-MENUKARTEN'. 
 
 
PROC install menu (TEXT CONST menukartenname): 
 
  wirkt wie: install menu (TEXT CONST menukartenname, TRUE) 
 
 
#ib#invers#ie# 
TEXT PROC invers (TEXT CONST text): 
 
Zweck:   Liefert den Text 'text' invers dargestellt. An den Text wird zuvor ein Leer­
         zeichen angehängt. 
 
 
#ib#kreuz#ie# 
TEXT PROC kreuz: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als "Kreuz" (̗)
         ausgegeben wird. 
 
 
PROC kreuz (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als "Kreuz" ausgegeben werden soll. 
 
 
#ib#line#ie# 
PROC line (WINDOW VAR w, INT CONST anzahl): 
 
Zweck:   Vergl. 'menuwindowline'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowline' automatisch gesetzt wird. 
 
 
PROC line (WINDOW VAR w): 
 
  wirkt wie: line (w, 1) 
 
 
#ib#menualternative#ie# 
INT PROC menualternative (TEXT CONST infotext, 
                                     auswahlliste, 
                                     zusatztasten, 
                          INT  CONST position, 
                          BOOL CONST mit abbruch): 
 
Zweck:   Mit der Prozedur können dem Benutzer innerhalb des Menubildschirms
         mehrere Alternativen zur Entscheidung angeboten werden, von denen er
         sich für eine entscheiden kann. 
         Auf dem Bildschirm wird innerhalb des Menus eine Box ausgegeben.
         Boxbreite und -höhe werden vom System automatisch anhand des über­
         gebenen 'infotext'es (bzw. der 'auswahlliste') festgelegt. Der in 'infotext'
         übergebene Text wird innerhalb der Box angezeigt. Der Text muß den
         gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen - er dient
         ausschließlich der Information des Benutzers. 
         In der letzten Zeile der Box wird die 'auswahlliste' angeboten. Zwischen
         jeder notierten Alternative muß in 'auswahlliste' der code "13" eingetra­
         gen sein. In der Box werden zwischen den Alternativen je drei Leerzei­
         chen eingefügt. Es können maximal 10 Alternativen angegeben werden,
         die aber incl. der eingefügten Leerzeichen eine Gesamtbreite von 64
         Zeichen nicht überschreiten dürfen. Über diese Liste erfolgt durch Posi­
         tionierung und anschließendem <RETURN> die Entscheidung für eine
         Alternative. Die Prozedur liefert dann als Zahlenwert die Position der
         gewählten Alternative in der übergebenen Auswahlliste. 
         Über 'mit abbruch' wird festgelegt, ob die Alternativentscheidung durch
         die Tastenfolge <ESC><h> abgebrochen werden kann oder nicht. Ist
         das zulässig und geschehen, dann wird der Wert 0 geliefert. 
         Über 'zusatztasten' kann noch festgelegt werden, ob die Entscheidung
         auch durch Tippen bestimmter Tasten angegeben werden kann. Sind hier
         Zeichen angegeben und erfolgt die Entscheidung über das Tippen einer
         zugelassenen Taste, dann wird die Position der getippten Taste in der
         unter 'zusatztasten' übergebenen Zeichenkette ermittelt und der Wert 100
         hinzuaddiert (sehen Sie dazu auch Kap. 5.7). 
         Nach der Entscheidung wird der Menubildschirm automatisch in den
         Ausgangszustand versetzt. 
 
 
#ib#menuanswer#ie# 
TEXT PROC menuanswer (TEXT CONST infotext, 
                                 vorgabe, 
                      INT CONST position): 
 
Zweck:   Die Prozedur ermöglicht den Dialog mit dem Benutzer innerhalb des
         Menus. Sie liefert einen vom Benutzer eingegebenen (bzw. modifizierten)
         Text/Namen. 
         Auf dem Bildschirm wird innerhalb des Menus eine Box ausgegeben.
         Boxbreite und -höhe werden vom System automatisch anhand des über­
         gebenen 'infotext'es festgelegt. Der in 'infotext' übergebene Text wird
         innerhalb der Box angezeigt. Der Text muß den gs-DIALOG-Syntax-Regeln
         (sehen Sie Kap. 5.13) entsprechen. 
         In der letzten Zeile der ausgegebenen Box erscheint der Text "Eingabe:".
         Über 'vorgabe' kann dem Benutzer ein Text zum Editieren angeboten
         werden. Mit 'position' wird die relative Lage der Box innerhalb des Menu­
         bildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). 
         Die Eingabe kann durch <RETURN> abgeschlossen oder durch
         <ESC><h> abgebrochen werden, in letzterem Falle wird niltext ("")
         geliefert. 
         Der gelieferte Wert ist von führenden und folgenden Leerzeichen befreit
         (compress). Es ist nicht möglich, den Namen 'break' einzugeben (sehen
         Sie dazu Kap.5.1). 
 
 
#ib#menuanswerone#ie# 
TEXT PROC menuanswerone (TEXT CONST infotext, 
          vorgabe, THESAURUS CONST thesaurus, 
          TEXT CONST ueberschrift, hinweis, 
          BOOL CONST mit reinigung): 
 
Zweck:   Die Prozedur ist aus den zwei Prozeduren 'menuanswer' und 'menuone'
         zusammengesetzt (sehen Sie auch dort). In einer Box innerhalb des
         Menus wird der 'infotext' ausgegeben und eine Eingabe erwartet; ggf.
         kann ein Text in 'vorgabe' zum Editieren ausgegeben werden. Wird die
         Eingabe mit <RETURN> abgeschlossen, wird der eingegebene Text
         geliefert. Statt der Eingabe kann der Benutzer sich durch die Tastenfolge
         <ESC><z> auch die in 'thesaurus' übergebenen Namen zur Auswahl
         anbieten lassen. Wird ein Name angekreuzt, wird dieser geliefert; wird die
         Auswahl durch <ESC><h> abgebrochen, wird niltext ("") geliefert. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#menuanswersome#ie# 
THESAURUS PROC menuanswersome (TEXT CONST 
               infotext, vorgabe, 
               THESAURUS CONST thesaurus, 
               TEXT CONST ueberschrift, hinweis, 
               BOOL CONST mit reinigung): 
 
Zweck:   Die Prozedur ist aus den zwei Prozeduren 'menuanswer' und 'menusome'
         zusammengesetzt (sehen Sie auch dort). In einer Box innerhalb des
         Menus wird der 'infotext' ausgegeben und eine Eingabe erwartet; ggf.
         kann ein Text in 'vorgabe' zum Editieren ausgegeben werden. Wird die
         Eingabe mit <RETURN> abgeschlossen, wird der eingegebene Text in
         einem Thesaurus geliefert. Statt der Eingabe kann der Benutzer sich
         durch die Tastenfolge <ESC><z> auch die in 'thesaurus' übergebenen
         Namen zur Auswahl anbieten lassen. Werden Namen angekreuzt, werden
         diese in einem Thesaurus geliefert; wird die Auswahl durch
         <ESC><h> abgebrochen, wird ein leerer Thesaurus geliefert. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#menu archiv checken#ie# 
PROC menu archiv checken: 
 
Zweck:   Über diese Prozedur kann das "Checken" von Dateien auf dem Archiv in
         das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­
         dingt Kap. 6.1! 
 
 
#ib#menu archiv grundeinstellung#ie# 
PROC menu archiv grundeinstellung (INT CONST ort): 
 
Zweck:   Hierüber wird die Grundeinstellung des Archivpakets vorgenommen: Dazu
         wird als Zieltask das Archiv der eigenen Station eingestellt. Dieses wird
         auch über eine Menunotiz im Menu angezeigt. Die entsprechenden Menu­
         punkte werden aktiviert bzw. deaktiviert. Sehen Sie dazu unbedingt Kap.
         6.1! 
         Über 'ort' wird festgelegt, an welcher Stelle innerhalb des Menus die
         Menunotiz zur Anzeige der Zieltask (und ggf. des Archivnamens) ausge­
         geben wird (sehen Sie dazu Kap. 5.12). 
 
 
#ib#menu archiv holen#ie# 
PROC menu archiv holen: 
 
Zweck:   Über diese Prozedur kann das Holen von Dateien vom Archiv in das
         Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt
         Kap. 6.1! 
 
 
#ib#menu archiv initialisieren#ie# 
PROC menu archiv initialisieren: 
 
Zweck:   Über diese Prozedur kann das Formatieren/ Initialisieren eines Archivs in
         das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­
         dingt Kap. 6.1! 
 
 
#ib#menu archiv loeschen#ie# 
PROC menu archiv loeschen: 
 
Zweck:   Über diese Prozedur kann das Löschen von Dateien auf dem Archiv in das
         Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt
         Kap. 6.1! 
 
 
#ib#menu archiv neue diskette#ie# 
PROC menu archiv neue diskette: 
 
Zweck:   Über diese Prozedur kann das Anmelden einer neuen Diskette bei schon
         reserviertem Archiv in das Archiv-Pull-Down-Menu eingebunden werden.
         Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv reservieren#ie# 
PROC menu archiv reservieren: 
 
Zweck:   Über diese Prozedur kann die Archivreservierung in das Archiv-Pull-
         Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv reservierung aufgeben#ie# 
PROC menu archiv reservierung aufgeben: 
 
Zweck:   Über diese Prozedur kann eine bestehende Archivreservierung aus dem
         Menu heraus aufgegeben werden. Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv schreibcheck#ie# 
PROC menu archiv schreibcheck: 
 
Zweck:   Über diese Prozedur kann das Schreiben von Dateien auf das Archiv und
         das sich automatisch daran anschließende "Checken" der zuvor geschrie­
         benen Dateien in das Archiv-Pull-Down-Menu eingebunden werden.
         Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv schreiben#ie# 
PROC menu archiv schreiben: 
 
Zweck:   Über diese Prozedur kann das Schreiben von Dateien auf das Archiv in
         das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­
         dingt Kap. 6.1! 
 
 
#ib#menu archiv verzeichnis#ie# 
PROC menu archiv verzeichnis: 
 
Zweck:   Über diese Prozedur kann die Ausgabe eines Inhaltsverzeichnisses des
         Archivs auf dem Bildschirm in das Archiv-Pull-Down-Menu eingebunden
         werden. Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv verzeichnis drucken#ie# 
PROC menu archiv verzeichnis drucken: 
 
Zweck:   Über diese Prozedur kann die Ausgabe eines Inhaltsverzeichnisses des
         Archivs über den Drucker in das Archiv-Pull-Down-Menu eingebunden
         werden. Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu archiv zieltask einstellen#ie# 
PROC menu archiv zieltask einstellen: 
 
Zweck:   Über diese Prozedur kann die Festlegung der Zieltask, mit der die Inter­
         taskkommunikation abgewickelt werden soll, in das Archiv-Pull-Down-
         Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! 
 
 
#ib#menu dateien aufraeumen#ie# 
PROC menu dateien aufraeumen: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der
         Datei erfragt, die aufgeräumt, d.h. reorganisiert werden soll. Existiert
         keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf.
         Statt der Eingabe des Dateinamens kann auch die Tastenfolge
         <ESC><z> getippt werden. Daraufhin werden alle Dateinamen der
         Task zur Auswahl angeboten. Hier können die gewünschten Dateinamen
         angekreuzt werden. Anschließend werden die angekreuzten Dateien
         reorganisiert. Der Vorgang wird auf dem Bildschirm protokolliert. Am
         Ende des Vorgangs wird der Menubildschirm automatisch regeneriert. Es
         können natürlich nur Dateien des Typs 1003 (Textfiles) reorganisiert
         werden; sofern andere Dateien ausgewählt werden, erfolgt ein Hinweis
         darauf. 
 
 
#ib#menu dateien drucken#ie# 
PROC menu dateien drucken: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus (auch bei
         geschachtelten(!)) der Name der Datei erfragt, die gedruckt werden soll.
         Anschließend wird die Datei mit dem angegebenen Namen gedruckt.
         Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis
         darauf. 
         Statt der Eingabe des Dateinamens kann auch die Tastenfolge
         <ESC><z> getippt werden. Daraufhin werden alle Dateinamen der
         Task zur Auswahl angeboten. Alle angekreuzten Dateien werden an­
         schließend gedruckt. Der Vorgang wird auf dem Bildschirm protokolliert.
         Am Ende wird der Menubildschirm automatisch regeneriert. 
 
 
#ib#menu dateien kopieren#ie# 
PROC menu dateien kopieren: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der
         Datei erfragt, die kopiert werden soll. Existiert keine Datei mit dem
         angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des
         Dateinamens kann auch die Tastenfolge <ESC><z> getippt werden.
         Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Hier
         kann ein Dateiname angekreuzt werden. Nun wird der Name erfragt, den
         die Kopie erhalten soll. Existiert der Name bereits, erfolgt ein Hinweis
         darauf, sonst wird die Datei kopiert. Der Menubildschirm wird automa­
         tisch regeneriert. 
 
 
#ib#menu dateien loeschen#ie# 
PROC menu dateien loeschen: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der
         Datei erfragt, die gelöscht werden soll. Anschließend wird die Datei mit
         dem angegebenen Namen gelöscht, sofern die Sicherheitsabfrage zum
         Löschen mit 'Ja' beantwortet wurde. Existiert keine Datei mit dem ange­
         gebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des
         Dateinamens kann auch die Tastenfolge <ESC><z> getippt werden.
         Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Alle
         angekreuzten Dateien werden anschließend (nach jeweiliger Sicherheits­
         anfrage) gelöscht. Der Vorgang wird auf dem Bildschirm protokolliert. Am
         Ende wird der Menubildschirm automatisch regeneriert. 
 
 
#ib#menu dateien speicherplatz#ie# 
PROC menu dateien speicherplatz: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der
         Datei erfragt, deren Speicherplatz ermittelt werden soll. Existiert keine
         Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt
         der Eingabe des Dateinamens kann auch die Tastenfolge <ESC><z>
         getippt werden. Daraufhin werden alle Dateinamen der Task zur Aus­
         wahl angeboten. Hier können die gewünschten Dateinamen angekreuzt
         werden. Anschließend wird der Speicherplatz der angekreuzten Datei(en)
         ermittelt und im Menufenster ausgegeben. Im Anschluß an die Anzeige
         wird der Menubildschirm automatisch regeneriert. 
 
 
#ib#menu dateien umbenennen#ie# 
PROC menu dateien umbenennen: 
 
Zweck:   Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der
         Datei erfragt, die umbenannt werden soll. Existiert keine Datei mit dem
         angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des
         Dateinamens kann auch die Tastenfolge <ESC><z> getippt werden.
         Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Hier
         kann ein Dateiname angekreuzt werden. Nun wird der Name erfragt, den
         die Datei anschließend erhalten soll. Existiert der Name bereits, erfolgt ein
         Hinweis darauf, sonst wird die Datei umbenannt. Der Menubildschirm
         wird automatisch regeneriert. 
 
 
#ib#menu dateien verzeichnis#ie# 
PROC menu dateien verzeichnis 
 
Zweck:   Mit der Prozedur kann innerhalb des aktuellen Menus ein Verzeichnis der
         Dateien der eigenen Task ausgegeben werden. Nach Verlassen des Ver­
         zeichnisses durch <ESC><q> wird der Menubildschirm automatisch
         regeneriert. 
 
 
#ib#menufootnote#ie# 
PROC menufootnote (TEXT CONST fussnotentext): 
 
Zweck:   Mit der Prozedur kann der Text in der "Fußzeile" des aktuellen Menubild­
         schirms (zumeist Hinweise an den Benutzer) ersetzt werden. Der vorhan­
         dene Text wird gelöscht und stattdessen 'fussnotentext' notiert. Der Text
         bleibt so lange erhalten, bis er durch eine andere selbstgesetzte Fußnote
         ('menufootnote') oder durch die alte vom System gesetzte Fußnote ('old
         menufootnote'; sehen Sie auch dort) überschrieben wird. Sofern
         gs-DIALOG-Prozeduren aufgerufen werden, die selbst Ausgaben in der
         Fußzeile machen, wird die durch 'menufootnote' gesetzte Fußnote eben­
         falls überschrieben. Wenn der Text länger als die aktuelle Menubild­
         schirmbreite ist,wird der Text abgeschnitten. Damit der Text auch in
         geschachtelten Menus vollständig ausgegeben werden kann, sollte er nicht
         länger als 69 Zeichen sein. 
 
 
#ib#menufunktion#ie# 
PROC menufunktion (TEXT CONST kuerzel, 
                              punktbezeichnung, 
                              prozedurname, 
                              infotext): 
 
Zweck:   Der Befehl wird für die Generierung von Menukarten benötigt. Mit diesem
         Befehl wird in das aktuell geöffnete Menu unter dem aktuellen Oberbe­
         griff eine Verarbeitungsfunktion eingetragen. Mit 'kuerzel' wird die Taste
         bestimmt, über die die Verarbeitungsfunktion direkt aktiviert werden
         kann. 'kuerzel' muß innerhalb eines Pull-Down-Menus eindeutig gewählt
         sein! Unter 'punktbezeichnung' wird der Text eingetragen, der im Pull-
         Down-Menu ausgegeben werden soll. In 'prozedurname' steht der Name
         der Prozedur (als Text(!)), die bei Aktivierung des Menupunktes ausge­
         führt werden soll. In 'infotext' steht der Text, der als Information zu
         diesem Menupunkt bei Tippen der <?>-Taste angezeigt werden soll. 
Fehler:  Menupunkt-Kürzel ist länger als ein Zeichen. 
         Menupunktkürzel kommt mehrfach vor. 
         Menupunktbezeichnung ist zu lang (> 60 Zeichen). 
         Zu viele Menupunkte in einem Pull-Down-Menu (> 15). 
 
 
#ib#menuinfo#ie# 
PROC menuinfo (TEXT CONST infotext, INT CONST 
               position, timelimit): 
 
Zweck:   Die Prozedur ermöglicht es, innerhalb des Menus einen Hinweis (Infor­
         mationstext) auszugeben. Im Menubildschirm erscheint der 'infotext' in
         einer Box. Boxbreite und -höhe werden vom System automatisch anhand
         des übergebenen 'infotext'es festgelegt. 'infotext' muß den gs-DIALOG-
         Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen. Mit 'position' wird die
         relative Lage der Box innerhalb des Menubildschirms festgelegt (1, 2, 3,
         4, 5: sehen Sie dazu Kap. 5.12). Mit 'timelimit' kann die Zeitdauer (in
         Zehntelsekunden) festgelegt werden, für die der Hinweis höchstens er­
         scheint. Die Anzeige kann vom Benutzer durch Tippen einer beliebigen
         Taste abgebrochen werden. 
 
 
PROC menuinfo (TEXT CONST infotext, 
               INT CONST position): 
 
  wirkt wie: menuinfo (infotext, position, maxint) 
 
 
PROC menuinfo (TEXT CONST infotext): 
 
  wirkt wie: menuinfo (infotext, 5) 
 
 
#ib#menukartenname#ie# 
TEXT PROC menukartenname:#u#(*)#e# 
Zweck:   Liefert den Namen der zur zeit angekoppelten Menukarte. Ist keine
         Menukarte angekoppelt, wird niltext ("") geliefert. 
 
 
#ib#menuno#ie# 
BOOL PROC menuno (TEXT CONST frage, 
                  INT CONST position): 
 
  wirkt wie: NOT menuyes (frage, position) 
 
 
#ib#menuone#ie# 
TEXT PROC menuone (THESAURUS CONST thesaurus, 
                   TEXT CONST ueberschrift, 
                              hinweis, 
                   BOOL CONST mit reinigung): 
 
Zweck:   Durch die Prozedur werden dem Benutzer innerhalb des Menubild­
         schirms Namen zur Auswahl angeboten. Nach Ankreuzen eines Namens
         wird die Auswahl automatisch verlassen. Der angekreuzte Name wird
         geliefert. Wird die Auswahl durch <ESC><h> abgebrochen, so wird
         niltext ("") geliefert. In 'thesaurus' wird ein THESAURUS mit den Namen
         übergeben, die zur Auswahl angeboten werden sollen (sehen Sie dazu
         auch Kap. 5.14). Die beiden Texte 'ueberschrift' und 'hinweis' erscheinen
         zur Kennzeichnung im Kopf der Auswahlliste: 'ueberschrift' zentriert und
         invers dargestellt, 'hinweis' nur zentriert. Hat 'mit reinigung' den Wert
         TRUE, so wird nach der Auswahl der Menubildschirm automatisch wie­
         deraufgebaut, bei FALSE wird darauf verzichtet. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#menusome#ie# 
THESAURUS PROC menusome (THESAURUS CONST 
                         thesaurus, 
                   TEXT CONST ueberschrift, 
                              hinweis, 
                   BOOL CONST mit reinigung): 
 
Zweck:   Durch die Prozedur werden dem Benutzer innerhalb des Menubild­
         schirms Namen zur Auswahl angeboten. Die Auswahl kann durch die
         Tastenfolge <ESC><q> verlassen werden. Der/ die angekreuzte(n)
         Name(n) wird/werden in einem Thesaurus geliefert. Wird die Auswahl
         durch die Tastenfolge <ESC><h> abgebrochen oder wurde kein Name
         angekreuzt, dann wird ein leerer Thesaurus geliefert. In 'thesaurus' wird
         ein Thesaurus mit den Namen übergeben, die zur Auswahl angeboten
         werden sollen (sehen Sie dazu auch Kap. 5.14). Die beiden Texte
         'ueberschrift' und 'hinweis' erscheinen zur Kennzeichnung im Kopf der
         Auswahlliste: 'ueberschrift' zentriert und invers dargestellt, 'hinweis' nur
         zentriert. Hat 'mit reinigung' den Wert TRUE, so wird nach der Auswahl
         der Menubildschirm automatisch wiederaufgebaut, bei FALSE wird darauf
         verzichtet. 
Fehler:  Fenster für Auswahl zu klein (x < 56, y < 15) 
 
 
#ib#menuwindowcenter#ie# 
TEXT PROC menuwindowcenter (TEXT CONST text): 
 
Zweck:   Die Prozedur liefert einen Text, der so lang ist, wie das aktuelle Menufen­
         ster breit ist. Dazu wird 'text' so mit Leerzeichen "ummantelt" daß 'text'
         etwa in der Mitte zu stehen kommt. Steht der Cursor bei Ausgabe dieses
         Textes am Anfang der Zeile, erscheint der Text zentriert in der Zeile
         (vorhandene Zeileninhalte werden dadurch überschrieben (der Cursor
         steht dann auf dem rechten Fensterrand!). 
 
 
#ib#menuwindowcursor#ie# 
PROC menuwindowcursor (INT CONST spalte, zeile): 
 
Zweck:   Mit diesem Befehl kann der Cursor innerhalb des aktuellen Menufensters
         positioniert werden. Ein "normales" Menufenster ist 77 Zeichen breit und
         20 Zeichen hoch; ein Menufenster in einem geschachtelten Menu ist 71
         Zeichen breit und 16 Zeichen hoch). (Sehen Sie auch die Informations­
         prozeduren 'get menuwindowcursor' und 'remaining menuwindowlines'). 
Fehler:  Wird außerhalb des aktuellen Menufensters positioniert, wird der Fenster­
         inhalt gelöscht und die Fensterposition (1,1) angenommen. 
 
 
#ib#menuwindowedit#ie# 
PROC menuwindowedit (TEXT CONST dateiname): 
 
Zweck:   Durch den Befehl wird innerhalb des Menus ein umrandetes Fenster
         geöffnet und die Datei mit dem Namen 'dateiname' zum Editieren ausge­
         geben. Auf die Größe des Menufensters kann kein Einfluß genommen
         werden - sie wird selbständig vom System gesetzt ("normales" Menu: 77
         Zeichen breit und 20 Zeichen hoch; geschachteltes Menu 71 Zeichen
         breit und 16 Zeichen hoch). 
Fehler:  Die Datei mit dem Namen 'dateiname' existiert nicht. 
 
 
PROC menuwindowedit (FILE VAR f): 
 
Zweck:   Vergl. obige 'menuwindowedit'-Prozedur. Die Datei 'f' muß mit der Verar­
         beitungsart 'modify' assoziiert worden sein. 
 
 
#ib#menuwindoweditget#ie# 
PROC menuwindoweditget (TEXT VAR text):#u#(*)#e# 
Zweck:   Vergl. 'menuwindowget (TEXT VAR text)' Zusätzlich kann hier in 'text' ein
         Text zum Editieren vorgegeben werden. 
Fehler:  Text nicht initialisiert. 
 
 
#ib#menuwindowget#ie# 
PROC menuwindowget (TEXT VAR text): 
 
Zweck:   Mit der Prozedur können Texte innerhalb des Menufensters eingelesen
         werden (INTEGER- und REAL-Werte müssen ggf. "von Hand" konvertiert
         werden). Die Eingabe wird durch <RETURN> abgeschlossen. Es muß
         mindestens ein Zeichen (ungleich Leerzeichen) eingegeben werden. Von
         der Eingabe werden die führenden Leerzeichen abgeschnitten. Ist der
         einzugebende Text länger als die noch verbleibende Restzeile, so wird der
         Text in der Restzeile gescrollt. Sind in der aktuellen Zeile weniger als 7
         Zeichenpositionen für die Eingabe vorhanden, so wird automatisch für die
         Eingabe an den Anfang der nächsten Zeile positioniert. 
 
 
#ib#menuwindowline#ie# 
PROC menuwindowline (INT CONST anzahl): 
 
Zweck:   Die Prozedur 'menuwindowline' hat innerhalb des Menubildschirms eine
         ähnliche Wirkung wie die Prozedur 'line' auf dem Gesamtbildschirm. Es
         werden 'anzahl' Zeilenwechsel vorgenommen. Wird allerdings die untere
         Grenze des Menubildschirms überschritten, dann rollt (scrollt) der Bild­
         schirm nicht die entsprechende Anzahl Zeilen nach oben, statt dessen
         wird der Fensterinhalt gelöscht und die Operation oben im Fenster fort­
         gesetzt. 
 
 
PROC menuwindowline: 
 
  wirkt wie: menuwindowline (1) 
 
 
#ib#menuwindowout#ie# 
PROC menuwindowout (TEXT CONST text): 
 
Zweck:   Mit der Prozedur können innerhalb des aktuellen Menufensters Texte
         ausgegeben werden. Sollen INTEGER- oder REAL-Werte ausgegeben wer­
         den, müssen diese zunächst in Texte konvertiert werden. Ist der Text
         länger als die verbleibende Restzeile innerhalb des aktuellen Menufen­
         sters, so wird der Text bis zum Fensterende (rechts) ausgegeben und die
         Ausgabe am Anfang der nächsten Zeile fortgesetzt. Sobald die letzte Posi­
         tion des aktuellen Menufensters (unten rechts in der Fensterecke) be­
         schrieben wurde, wird der Fensterinhalt gelöscht und die Ausgabe an der
         Position (1,1) des Fensters fortgesetzt. 
 
 
#ib#menuwindowpage#ie# 
PROC menuwindowpage: 
 
Zweck:   Durch den Befehl 'menuwindowpage' wird der Inhalt des Fensters inner­
         halb des aktuellen Menus gelöscht (das "Menufenster") (vergleichen Sie
         auch 'show menuwindow'). Der Rahmen des Fensters (der bei 'show
         menuwindow' ausgegeben wurde), bleibt bestehen, da er nicht mit zum
         eigentlichen Fenster gehört. Durch den Befehl wird der Menubildschirm
         nicht rekonstruiert! Soll das Fenster geschlossen werden, ist der Befehl
         'regenerate menuscreen' zu geben. 
 
 
#ib#menuwindowshow#ie# 
PROC menuwindowshow (TEXT CONST dateiname): 
 
Zweck:   Vergl. 'menuwindowedit'-Prozedur. Die Datei 'dateiname' kann nicht
         schreibend verändert werden. 
 
 
PROC menuwindowshow (FILE VAR f): 
 
Zweck:   Vergl. obige 'menuwindowshow'-Prozedur. Die Datei 'f' muß mit der
         Verarbeitungsart 'modify' assoziiert worden sein. 
 
 
#ib#menuwindowstop#ie# 
PROC menuwindowstop (INT CONST zeilenzahl): 
 
Zweck:   Innerhalb des Menufensters werden 'zeilenzahl' Zeilenwechsel vorge­
         nommen und der Text " Zum Weitermachen bitte irgendeine Taste tip­
         pen!" ausgegeben. Danach wird so lange gewartet, bis eine Taste getippt
         wird. 
 
 
PROC menuwindowstop: 
 
  wirkt wie: menuwindowstop (2) 
 
 
#ib#menuyes#ie# 
BOOL PROC menuyes (TEXT CONST frage, 
                   INT CONST position): 
 
Zweck:   Die Prozedur dient dazu, innerhalb des Menus eine Ja/Nein-Entscheidung
         des Benutzers einzuholen. Im Gegensatz zur Standardprozedur 'yes'
         arbeitet diese Prozedur unabhängig davon, ob der Kommandodialog ein-
         oder ausgeschaltet ist. Auf dem Bildschirm wird innerhalb des Menus eine
         Box ausgegeben. Boxbreite und -höhe werden vom System automatisch
         anhand der übergebenen 'frage' festgelegt. Der in 'frage' übergebene Text
         wird um ein Fragezeichen (?) ergänzt und innerhalb der Box angezeigt.
         Der Text muß den gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13)
         entsprechen. In der letzten Zeile der ausgegebenen Box erscheint der Text
         "Ja    Nein". Die Prozedur 'menuyes' liefert TRUE, wenn mit 'Ja' geantwor­
         tet wurde und FALSE, wenn mit 'Nein' geantwortet wurde (durch Tippen
         der Anfangsbuchstaben oder Positionierung auf die Antwort und ab­
         schließendes <RETURN>). Der Menubildschirm wird automatisch
         regeneriert. Mit 'position' wird die relative Lage der Box innerhalb des
         Menubildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). 
 
 
#ib#no#ie# 
BOOL PROC no (WINDOW VAR w, TEXT CONST frage): 
 
  wirkt wie: NOT yes (w, frage). 
 
 
#ib#not empty#ie# 
BOOL PROC not empty (THESAURUS CONST thes): 
 
Zweck:   Dient der Prüfung, ob ein Thesaurus Namen enthält oder nicht. Die
         Prozedur liefert TRUE, wenn Namen in 'thes' enthalten sind, sonst FALSE. 
 
 
#ib#oberbegriff#ie# 
PROC oberbegriff (TEXT CONST punktname, 
                             startprocname, 
                             leaveprocname): 
 
Zweck:   Der Befehl wird bei der Generierung von Menukarten benötigt. Mit diesem
         Befehl wird die Bezeichnung 'punktname' in die Kopfzeile des aktuell
         geöffneten Menus eingetragen. Die in 'startprocname' übergebene Proze­
         dur wird ausgeführt, bevor das zugehörige Pull-Down-Menu auf dem
         Bildschirm "ausgeklappt" wird; die in 'leaveprocname' übergebene Pro­
         zedur, wenn in ein anderes Pull-Down-Menu gewechselt wird (beachten
         Sie, daß die Prozedurnamen als Texte(!) übergeben werden). 
Fehler:  Menukarte noch nicht geöffnet ('oeffne menukarte' fehlt). 
         Menu noch nicht geöffnet ('oeffne menu' fehlt). 
         Zu viele Oberbegriffe im Menu (> 10). 
         Die Kopfzeile ist zu lang (> 70 Zeichen). 
 
 
PROC oberbegriff (TEXT CONST punktname): 
 
  wirkt wie: oberbegriff (punktname, "", "") 
 
 
#ib#oeffne menu#ie# 
PROC oeffne menu (TEXT CONST menuname, 
                  einstiegsproc, 
                  ausstiegsproc, infotext1, 
                  infotext2, infotext3): 
 
Zweck:   Der Befehl wird für die Generierung von Menukarten benötigt. Durch den
         Befehl wird innerhalb der Menukarte ein Menu mit dem Namen
         'menuname' angelegt. Über diesen Namen kann das Menu auch später
         angesprochen werden (mit 'handle menu'). Die unter 'einstiegsproc'
         übergebene Prozedur wird bei der Aktivierung des Menus ausgeführt, die
         unter 'ausstiegsproc' übergebene Prozedur, wenn das Menu (mit
         <ESC><q>) verlassen wird (beachten Sie, daß die Prozedurnamen als
         Texte(!) übergeben werden!). In 'infotext1', 'infotext2' und 'infotext3'
         können Hinweise eingetragen werden, die bei Erscheinen des Menus auf
         dem Bildschirm für kurze Zeit in einer Box rechts unten angezeigt wer­
         den. Die Erstellung der Boxtexte ist an genaue Regeln gebunden (sehen
         Sie dazu Kap. 5.13). Sehen Sie auch bei 'schliesse menu'. 
 
 
PROC oeffne menu (TEXT CONST menuname, 
                             einstiegsproc, 
                             ausstiegsproc): 
 
  wirkt wie: oeffne menu (menuname, einstiegsproc, 
                         ausstiegsproc, "", "", "") 
 
 
PROC oeffne menu (TEXT CONST menuname): 
 
  wirkt wie: oeffne menu (menuname, "", "") 
 
 
#ib#oeffne menukarte#ie# 
PROC oeffne menukarte (TEXT CONST menukartenname): 
 
Zweck:   Der Befehl wird bei der Generierung von Menukarten benötigt. Ein Pro­
         gramm zur Erstellung einer Menukarte muß immer mit diesem Befehl
         beginnen. Durch den Befehl wird ein Datenraum mit dem Namen
         'gs-MENUKARTE:menukartenname' eingerichtet; der Wortbestandteil
         'gs-MENUKARTE:' wird dabei automatisch vor den angegebenen Namen
         gesetzt (sehen Sie auch 'schliesse menukarte'). 
Fehler:  Eine Menukarte mit dem angegebenen Namen existiert bereits in der
         Task. Bei der Generierung wird dann angefragt, ob die alte Menukarte
         gelöscht werden darf. 
 
 
#ib#ohne praefix#ie# 
THESAURUS PROC ohne praefix (THESAURUS CONST thes, 
                             TEXT CONST praefix): 
 
Zweck:   Liefert in einem Thesaurus alle Namen aus dem übergebenen Thesaurus
         'thes', die mit  dem Wortbestandteil 'praefix' beginnen. Bei den gelie­
         ferten Namen ist dieser führende Wortbestandteil entfernt. 
 
 
#ib#old menufootnote#ie# 
PROC old menufootnote: 
 
Zweck:   Der aktuelle Text in der Fußzeile des aktuellen Menubildschirms wird
         durch den hier zuletzt vom System gesetzten Text überschrieben. Die
         Prozedur wird benutzt, um eine selbstgesetzte Fußnote (sehen Sie auch
         'write menunotice') zu löschen. 
 
 
#ib#out#ie# 
PROC out (WINDOW VAR w, TEXT CONST text): 
 
Zweck:   Vergl. 'menuwindowout'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowout' automatisch gesetzt wird. 
 
 
#ib#out frame#ie# 
PROC out frame (WINDOW VAR fenster): 
 
Zweck:   Um den durch 'fenster' angegebenen Bildschirmbereich wird ein Rahmen
         gezogen. 
 
 
#ib#out footnote#ie# 
PROC out footnote (WINDOW VAR fenster, 
                   TEXT CONST textzeile): 
 
Zweck:   In der untersten Zeile des Fensters 'fenster' wird 'textzeile' ausgegeben, in
         der vorletzten Zeile eine Trennzeile. Sehen Sie auch 'erase footnote'. 
 
 
#ib#page#ie# 
PROC page (WINDOW VAR fenster, 
           BOOL CONST mit rahmen): 
 
Zweck:   Der durch 'fenster' beschriebene Fensterbereich wird gelöscht. Hat 'mit
         rahmen' den Wert TRUE, wird der Rahmenbereich ebenfalls gelöscht. 
 
 
PROC page (WINDOW VAR fenster): 
 
  wirkt wie: page (fenster, FALSE). 
 
 
#ib#put#ie# 
PROC put (WINDOW VAR w, TEXT CONST text): 
 
  wirkt wie: out (w, text + " ") 
 
 
PROC put (WINDOW VAR w, INT CONST zahl): 
 
  wirkt wie: put (w, text (zahl)) 
 
 
PROC put (WINDOW VAR w, REAL CONST zahl): 
 
  wirkt wie: put (w, text (zahl)) 
 
 
#ib#putline#ie# 
PROC putline (WINDOW VAR w, TEXT CONST text): 
 
  wirkt wie: put (w, text); line (w) 
 
 
#ib#regenerate menuscreen#ie# 
PROC regenerate menuscreen: 
 
Zweck:   Der Befehl wird verwendet, um den Menubildschirm (z.B. nach der
         Nutzung für anwendungsbezogene Ausgaben) in seinem letzten Zustand
         zu reproduzieren. Der Bildschirm wird gelöscht. Anschließend wird der
         aktuelle Menubildschirm vollständig neu aufgebaut - auch bei geschach­
         telten Menus. (sehen Sie auch 'refresh submenu') 
 
 
#ib#refresh submenu#ie# 
PROC refresh submenu: 
 
Zweck:   Der Befehl dient dazu, das aktuelle Pull-Down-Menu (z.B. nach Über­
         schreiben) und ggf. eine gesetzte Menunotiz erneut auf den Bildschirm zu
         schreiben. Betroffen ist nur der Bereich zwischen den Trennlinien der
         Kopf- und Fußzeile. Für das vorausgehende Löschen verwendeter Bild­
         schirmbereich ist der Programmierer verantwortlich. Im Gegensatz zu
         'regenerate menuscreen' findet hier kein kompletter Bildschirmaufbau
         statt. Wenn möglich, dann ist dieser Befehl dem Befehl 'regenerate
         menuscreen' wegen des geringeren Zeitaufwandes vorzuziehen. 
 
 
#ib#remaining lines#ie# 
INT PROC remaining lines (WINDOW VAR w): 
 
Zweck:   Die Prozedur liefert die Anzahl der Zeilen im Fenster 'w', die noch
         zwischen Cursor und unterer Fenstergrenze vorhanden sind. 
 
 
#ib#remaining menuwindowlines#ie# 
INT PROC remaining menuwindowlines 
 
Zweck:   Die Prozedur liefert die Anzahl der Zeilen im aktuellen Menufenster, die
         noch zwischen Cursor und unterer Fenstergrenze vorhanden sind. 
 
 
#ib#reset dialog#ie# 
PROC reset dialog: 
 
Zweck:   Das Menusystem wird in den Anfangszustand versetzt. (Keine Menukarte
         angekoppelt; Anzahl der geöffneten Menus: 0) 
 
 
#ib#schliesse menu#ie# 
PROC schliesse menu: 
 
Zweck:   Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den
         Befehl wird ein Menu in einer Menukarte abgeschlossen (sehen Sie auch
         'oeffne menu') 
 
 
#ib#schliesse menukarte#ie# 
PROC schliesse menukarte 
 
Zweck:   Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den
         Befehl wird eine Menukarte abgeschlossen (sehen Sie auch 'oeffne
         menukarte') 
 
 
#ib#senkrecht#ie# 
TEXT PROC senkrecht: 
 
 Zweck:  Liefert das Zeichen, das bei der Darstellung der "Kästen" als senkrechter
         Strich (�) ausgegeben wird. 
 
 
PROC senkrecht (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als senkrechter Strich ausgegeben werden soll. 
 
 
#ib#show#ie# 
PROC show (WINDOW VAR fenster): 
 
Zweck:   Das Fenster 'fenster' wird auf dem Bildschirm angezeigt (das Fenster
         muß zuvor durch 'window' initialisiert worden sein). Um den angegebe­
         nen Fensterbereich wird automatisch ein Rahmen gezogen. Der Rahmen
         gehört nicht zum Fenster dazu! (Soll das Fenster ohne Rahmen ausgege­
         ben werden, dann muß der Befehl 'page' verwendet werden.) Der Bereich
         innerhalb des Rahmens (Fensterbereich) wird gelöscht. 
 
 
#ib#show#ie# 
PROC show (WINDOW VAR w, TEXT CONST dateiname): 
 
Zweck:   Vergl. 'menuwindowshow'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowshow' automatisch gesetzt wird. 
 
 
PROC show (WINDOW VAR w, FILE VAR f): 
 
Zweck:   Vergl. 'menuwindowshow'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowshow' automatisch gesetzt wird. 
 
 
#ib#show menuwindow#ie# 
PROC show menuwindow: 
 
Zweck:   Durch den Befehl 'show menuwindow' wird ein entsprechender Rahmen
         innerhalb des Menubildschirms ausgegeben und der Bereich innerhalb
         dieses Rahmens (das Fenster) gelöscht (sehen Sie auch 'menuwindow­
         page'). Innerhalb des Fensters können anschließend verschiedene Opera­
         tionen ausgeführt werden. Auf die Größe des Menufensters kann kein
         Einfluß genommen werden - sie wird selbständig vom System gesetzt
         ("normales" Menu: 77 Zeichen breit und 20 Zeichen hoch; geschachteltes
         Menu 71 Zeichen breit und 16 Zeichen hoch). 
 
 
#ib#stdinfoedit#ie# 
PROC stdinfoedit (TEXT CONST dateiname):#u#(*)#e# 
Zweck:   Löscht den Bildschirm und bietet die Datei 'dateiname' in einem festge­
         legten zum Editieren an. In der Fußzeile wird die Information "Info:
         <ESC><?>  Verlassen: <ESC><q>" angezeigt. Nach Tippen von
         <ESC><?> werden Editorinformationen in den Bildschirm einge­
         blendet. 
 
 
PROC stdinfoedit (FILE VAR f):#u#(*)#e# 
Zweck:   Wie obige 'stdinfoedit'-Prozedur'. Die Datei 'f' muß mit der Verarbei­
         tungsart 'modify' assoziiert worden sein. 
 
 
PROC stdinfoedit (TEXT CONST dateiname, 
                  INT CONST oberste zeile):#u#(*)#e# 
Zweck:   Wie obige Prozedur (die wie 'stdwinfoedit (w, 1)' wirkt). Allerdings kön­
         nen bis zu zwei Zeilen oben auf dem Bildschirm unbenutzt bleiben (z.B.
         um die Kopfzeile des Menus weiterhin anzuzeigen). 'oberste zeile' gibt an,
         welche Bildschirmzeile die erste von dieser Prozedur benutzte ist
         (1<= oberste zeile<=3). 
 
 
PROC stdinfoedit (FILE VAR f, 
                  INT CONST oberste zeile):#u#(*)#e# 
Zweck:   Wie obige 'stdinfoedit'-Prozedur'. Die Datei 'f' muß mit der Verarbei­
         tungsart 'modify' assoziiert worden sein. 
 
 
#ib#stop#ie# 
PROC stop (WINDOW VAR w, INT CONST zeilenzahl): 
 
Zweck:   Vergl. 'menuwindowstop'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowstop' automatisch gesetzt wird. 
 
 
PROC stop (WINDOW VAR w): 
 
  wirkt wie: stop (w, 1). 
 
 
#ib#testinstallation#ie# 
PROC testinstallation (TEXT CONST menutafelname): 
 
Zweck:   Die Menutafel mit dem Namen 'menutafelname' (muß mit dem
         'gs-MENUKARTE:' beginnen!) wird als aktuelle Menutafel an gs-DIALOG
         gekoppelt. Durch den Befehl wird die angegebene Menutafel zur Task
         'gs-MENUAKRTEN' geschickt. Dem Namen wird zur Kennzeichnung noch
         der Taskname der Sendertask angehängt (dadurch können sich bei
         Multi-User-Betrieb verschiedene Anwender mit gleichen Menukarten­
         namen nicht stören). Die Menukarte wird anschließend in jedem Fall
         "frisch" angekoppelt. Außerdem bleibt die Menukarte (als benannter
         Datenraum) in der Task erhalten! 
         (Mit dem Befehl 'handle menu' kann nun ein Menu aus der Menukarte
         zur Ausführung gebracht werden oder mit 'anwendungstext' auf in die
         Menukarte ausgelagerte Texte zugegriffen werden.) 
         Hinweis: Von Zeit zu Zeit muß der Systembetreuer die überflüssigen
         Menukarten aus der Task 'gs-MENUKARTEN' entfernen, da die Anwender
         aus Ihrer Task die Karten nicht löschen können! 
Fehler:  'menutafelname' gibt es nicht! 
         'menutafelname' hat falsche(n) Typ/Bezeichnung (keine
         gs-MENUKARTE)! 
 
 
#ib#trennlinie#ie# 
PROC trennlinie: 
 
Zweck:   Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den
         Befehl wird unter dem aktuellen Oberbegriff eine Trennlinie zur opti­
         schen Trennung einzelner Menupunkte eingetragen. Die Trennlinie belegt
         den gleichen Platz wie eine Verarbeitungsfunktion. 
Fehler:  Zu viele Menupunkte in einem Pull-Down-Menu (maximal 15 incl. der
         Trennlinien!). 
 
 
#ib#textprozedur#ie# 
PROC textprozedur (TEXT CONST dateiname, 
                              prozedurname): 
 
Zweck:   Der Befehl wird benötigt, um Texte entsprechend der gs-DIALOG-Syntax
         aufzuarbeiten. Der in die Datei 'dateiname' geschrieben Text wird bear­
         beitet. Die Prozedur eignet sich insbesondere dafür, Informationstexte
         aufzuarbeiten, die zu den einzelnen Menufunktionen ausgegeben werden,
         wenn der Benutzer die Tastenfolge <ESC><?> tippt (sehen Sie auch
         'textzeile'). Der aufbereitete Text steht anschließend in der Datei 'datei­
         name.a'. Der Text ist in eine Textprozedur "verpackt", die den Namen hat,
         der als zweiter Parameter übergeben wird. 
         Die Zeilen werden dabei so zugeschnitten, daß Sie in einer Box in das
         aktuelle Menu eingeblendet werden können. Boxbreite und -höhe werden
         automatisch gesetzt (max. 65 Zeichen breit und 14 Zeichen hoch)); die
         Zeilen werden geblockt, sofern in der Datei keine Absatzmarkierung
         (<RETURN>) am Ende der Zeile vorhanden ist. Soll eine Zeile zentriert
         werden, so muß als erstes Zeichen der Zeile das Zeichen '%' notiert sein -
         die Zeile muß durch eine Absatzmarke abgeschlossen sein. Textpassagen,
         die invers (markiert) dargestellt werden sollen, müssen duch das Zeichen
         '$' eingeleitet und durch das Zeichen '&' abgeschlossen werden. Markier­
         te Textpassagen dürfen (nach dem Zuschnitt!) nicht über Zeilengrenzen
         hinausgehen! 
Fehler:  Datei 'dateiname' existiert nicht! 
         Fonttabelle 'fonttab.gs-Menu-Generator' existiert nicht! (Fonttabelle von
         gs-Menu-Generator-Diskette in die Task 'configurator' laden!) 
         Text ist zu lang - bitte kürzen! (Text darf in aufbereiteter Form maximal
         14 Zeilen umfassen!) 
         Zeilenformatierung mit <ESC> abgebrochen! 
 
 
 
#ib#textzeile#ie# 
PROC textzeile (TEXT CONST dateiname): 
 
Zweck:   Der Befehl wird benötigt, um Texte entsprechend der gs-DIALOG-Syntax
         aufzuarbeiten. Der in die Datei 'dateiname' geschrieben Text wird bear­
         beitet. Die Prozedur eignet sich insbesondere dafür, anwendungsbezogene
         Texte aufzuarbeiten, die in die Menukarte ausgelagert werden sollen
         (sehen Sie auch 'textprozedur'). Der aufbereitete Text steht anschließend
         in der Datei 'dateiname.a' in einer Zeile notiert. 
 
 
#ib#waagerecht#ie# 
TEXT PROC waagerecht: 
 
Zweck:   Liefert das Zeichen, das bei der Darstellung der "Kästen" als waagerechter
         Strich (̇) ausgegeben wird. 
 
 
PROC waagerecht (TEXT CONST zeichen): 
 
Zweck:   Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­
         stellung der "Kästen" als waagerechter Strich ausgegeben werden soll. 
 
 
#ib#window#ie# 
WINDOW PROC window (INT CONST x, y, xsize, ysize): 
 
Zweck:   Einer Fenstervariablen (WINDOW VAR name) wird die Lage und Größe
         zugeordnet (über den Zuweisungsoperator ':='). Gleichzeitig wird das
         Fenster initialisiert. 
         Mit den ersten beiden Parametern wird die Lage der linken oberen Ecke
         des Fensters bestimmt (x: Spalte; y: Zeile). Mit 'xsize' wird die Fenster­
         breite, mit 'ysize' die Fensterhöhe festgelegt. 
         Das Fenster wird noch nicht(!) angezeigt (sehen Sie dazu 'show' und
         'page'). Ein Rahmen wird nicht zum Fenster gezählt; er kann aber mit
         der Prozedur 'show' ausgegeben werden. Ein Fenster darf nicht breiter als
         80 und höher als 24 Zeichen sein. Umrahmte Fenster unterliegen weite­
         ren Einschränkungen (sehen Sie auch 'show'). Ein Fenster muß min­
         destens 6 Zeichen breit und 3 Zeichen hoch sein. 
Fehler:  'Window' ungültig 
 
 
#ib#write menunotice#ie# 
PROC write menunotice (TEXT CONST notiztext, 
                       INT CONST position): 
 
Zweck:   Die Prozedur dient dazu, innerhalb des Menus in einer Box einen "dauer­
         haften Informationstext" auszugeben. Die Box bleibt nämlich so lange
         bestehen, bis sie explizit gelöscht (sehen Sie auch 'erase menunotice')
         oder durch einen neuen Notiztext überschrieben wird. Wenn der Bild­
         schirm durch gs-DIALOG-Prozeduren überschrieben wird, wird die
         Menunotiz ebenfalls ständig mitaufgefrischt und auch, wenn der Befehl
         'regenerate menuscreen' oder 'refresh submenu' gegeben wird (Sehen Sie
         im Gegensatz dazu auch 'menuinfo' ("kurzzeitiger Informationstext"). 
         Im Menubildschirm erscheint der 'infotext' in einer Box. Boxbreite und
         -höhe werden vom System automatisch anhand des übergebenen 'notiz­
         text'es festgelegt. 'notiztext' muß den gs-DIALOG-Syntax-Regeln (sehen Sie
         Kap. 5.13) entsprechen. Mit 'position' wird die relative Lage der Box
         innerhalb des Menubildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu
         Kap. 5.12). In einem Menu kann zu einem Zeitpunkt nur eine Menunotiz
         abgelegt werden. Durch ein erneutes 'write menunotice' wir eine beste­
         hende Menunotiz überschrieben. 
 
 
#ib#yes#ie# 
BOOL PROC yes (WINDOW VAR w, TEXT CONST frage): 
 
Zweck:   Vergl. 'menuwindowyes'. Hier wird nur zusätzlich das Fenster festgelegt,
         das bei 'menuwindowyes' automatisch gesetzt wird.