summaryrefslogtreecommitdiff
path: root/doc/eudas/eudas.ref.9
blob: dc2dd0d35faa7eb4b153cbd1a5fa21f0b8788846 (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
#limit (11.0)##pagelength (16.5)##block#                                   
#start (2.0,0.0)# 
#page (93)# 
#headodd# 
#center#EUDAS#right#% 
 
#end# 
#headeven# 
%#center#EUDAS 
 
#end# 
#center#1 
 
9 Anzeige 
 
 
 
9.1 Fensterverwalter 
 
Funktionen, die einen Teil des Bildschirms in einem rechteckigen
Fenster beschreiben, werden über den Fensterverwalter untereinan­
der koordiniert. Jede Funktion fordert für ihren Fensterbereich eine
Variable vom Typ FENSTER an. Vor jedem Bildschirmzugriff kann die
Funktion erfahren, ob andere Programme den Bildschirm im Fenster­
bereich überschrieben haben. Gleichzeitig meldet sie damit Verän­
derungen an anderen Fenstern an, die sich mit dem eigenen über­
schneiden. 
 
 
PROC fenster initialisieren (FENSTER VAR neu) 
 
    Jede Fenstervariable muß vor Benutzung initialisiert werden. 
 
 
PROC fenstergroesse setzen (FENSTER VAR fenster, 
                            INT CONST x anf, y anf, 
                                      x laenge, y laenge) 
 
    Die Fenstergröße des Fensters wird gesetzt. 'x anf' und 'y anf'
    werden von 1..n gezählt. Die Größe eines 24x80-Bildschirms
    entspricht den Angaben (1, 1, 79, 24). Da das letzte Zeichen
    einer Zeile wegen Rollgefahr nicht benutzt werden kann, werden
    nur 79 Spalten angegeben. 
 
    FEHLER: 
 
    #on("i")#zu viele Fenster#off("i")# 
    Es sind nur 16 verschiedene Fenstergrößen möglich. 
 
 
PROC fenstergroesse (FENSTER CONST fenster, 
                     INT VAR x anf, y anf, 
                             x laenge, y laenge) 
 
    Meldet die eingestellte Größe des Fensters. 
 
 
PROC fensterzugriff (FENSTER CONST mein fenster, 
                     BOOL VAR veraendert) 
 
    Ein Zugriff auf 'mein fenster' wird angemeldet. 'veraendert' gibt
    an, ob das Fenster seit dem letzten Zugriff durch einen über­
    schneidenden Zugriff verändert wurde. Beim ersten Zugriff ist
    'veraendert' immer TRUE. 
 
 
PROC fenster veraendert (FENSTER CONST fenster) 
 
    Falls ein Unterprogramm eine FENSTER-Variable des Hauptpro­
    grammes benutzt, kennzeichnet das Unterprogramm das Fenster
    mit dieser Prozedur als benutzt, damit das Hauptprogramm das
    Bild neu ausgibt. 
 
 
PROC bildschirm neu 
 
    Gibt an, daß der Bildschirm von einer Funktion benutzt wurde,
    die ihre Zugriffe nicht über den Fensterverwalter anmeldet.
    Alle Fenster werden als verändert gekennzeichnet. 
 
 
9.2 Anzeigegrundfunktionen 
 
Sämtliche Anzeigefunktionen werden in einem Fenster abgewickelt,
dessen Größe durch 'anzeigefenster' bestimmt wird. 
    Die Funktion 'bildausgeben' übernimmt die eigentliche Ausgabe.
Dabei kann durch Parameter mitgeteilt werden, ob sich an der Datei
außer der Markierung etwas geändert hat. Hat sich nichts geändert,
wird zur Optimierung unter Umständen nur die Markierung neu
ausgegeben. Das Bild wird jedoch auf jeden Fall ganz ausgegeben,
wenn das Fenster von anderer Seite verändert wurde. Auch das
Öffnen einer neuen Datei wird automatisch erkannt und richtig
behandelt. 
    Welche Felder dargestellt werden sollen, kann durch 'feldaus­
wahl' angegeben werden. Dabei ist für jeden Anzeigemodus eine
eigene Feldauswahl möglich. Die Darstellung kann durch 'rollen' in
vertikaler Richtung verschoben werden. 
    Mit 'uebersicht' kann die Übersicht ausgegeben werden. Ihre
Größe wird durch 'uebersichtsfenster' angegeben. 
 
 
PROC anzeigefenster (INT CONST x anf, y anf, 
                               x laenge, y laenge) 
 
    Das Anzeigefenster wird in der entsprechenden Größe reser­
    viert. 
 
    FEHLER: 
 
    #on("i")#Anzeigefenster zu klein#off("i")# 
    Das Fenster ist zu schmal (< 40 Zeichen), um eine sinnvolle
    Anzeige zuzulassen. 
 
 
PROC bild ausgeben (BOOL CONST datei veraendert) 
 
    Im Anzeigefenster wird das Bild je nach eingestelltem Modus
    ausgegeben, wenn das Fenster verändert wurde oder 'satz ver­
    aendert' TRUE ist. 'satz veraendert' muß immer dann angegeben
    werden, wenn am Inhalt der virtuellen Datei etwas verändert
    wurde. 
 
 
PROC feldauswahl (TEXT CONST feldcode) 
 
    Die im aktuellen Modus anzuzeigenden Felder und ihre Reihen­
    folge werden ausgewählt. Dabei enthält 'feldcodes' an der i-ten
    Stelle den Code der Feldnummer des Feldes, das an i-ter Posi­
    tion erscheinen soll. 
 
 
PROC rollen (INT CONST anzahl) 
 
    Die Darstellung wird um die angegebene Anzahl von Zeilen
    gerollt. Bei einer positiven Angabe wird zu höheren Feld- bzw.
    Satznummern gerollt (Bild bewegt sich umgekehrt). Beim ersten
    bzw. letzten Feld bzw. Satz hört das Rollen automatisch auf. 
 
 
PROC uebersichtsfenster (INT CONST x anf, y anf, 
                                   x laenge, y laenge) 
 
    Legt die Größe des Übersichtsfensters fest. 
 
 
PROC uebersicht (TEXT CONST feldauswahl) 
 
    Ruft eine Übersicht der aktuellen Datei auf, in der geblättert
    und markiert werden kann. In 'feldauswahl' steht an der Stelle
    i der Code der Feldnummer, die als i-tes in der Aufzählung
    erscheinen soll. 
 
 
9.3 Editorfunktionen 
 
Es stehen drei Funktionen zur Verfügung, die den Editor im Anzei­
gemodus benutzen. Sie dienen zum Einfügen und Ändern sowie zum
Eingeben eines Suchmusters. 
    Der Editor wird durch ESC 'q' verlassen. Weitere ESC-Funk­
tionen, die zum Verlassen führen sollen, können durch 'exit zeichen'
angegegeben und nach Funktionsausführung mit 'exit durch' abge­
fragt werden. 
 
 
PROC aendern (PROC hilfe) 
 
    Bietet den aktuellen Satz zum Ändern an. Steht die virtuelle
    Datei am Ende, wird automatisch 'einfuegen' durchgeführt. Bei
    ESC '?' wird 'hilfe' aufgerufen. 
 
 
PROC einfuegen (PROC hilfe) 
 
    Fügt vor dem aktuellen Satz einen Satz ein, dessen Inhalt im
    Editor angegeben wird. Bei ESC '?' wird 'hilfe' aufgerufen. 
 
 
PROC suchen (PROC hilfe) 
 
    Im Editor wird eine neue Suchbedingung eingegeben. Bei ESC '?'
    wird 'hilfe' aufgerufen. 
 
 
PROC exit durch (TEXT CONST zeichenkette) 
 
    Gibt die Zeichen an, die beim Drücken nach ESC zum Verlassen
    des Editors führen sollen. Die eingegebenen Daten werden je­
    doch vorher auf jeden Fall noch verarbeitet. 
 
 
TEXT PROC exit durch 
 
    Gibt an, durch welches Zeichen der Editor verlassen wurde.