%W
|
Anmerkung:
Es empfiehlt sich sehr, statt des
%W
-Kommandos das DEFINE WINDOW
-Statement zu
verwenden.
Ein Natural-"Window" oder -Fenster ist der Ausschnitt einer von einem Natural-Programm erzeugten logischen Seite, der auf dem Bildschirm zu sehen ist.
Dieses Fenster kann mit dem Terminalkommando
%W
beeinflusst werden.
Das Kommando muss immer mit Parametern eingegeben werden, um die
einzelnen im folgenden beschriebenen Funktionen auszuführen. Sie können mehrere
Funktionen gleichzeitig ausführen, indem Sie mehrere Parameter mit einem
%W
-Kommando angeben. Zwischen Kommando und
Parametern dürfen keine Trennzeichen oder Leerzeichen stehen.
Das Fenster ist ständig vorhanden, auch wenn Sie sich dessen nicht
bewusst sind, da die Größe des Fensters — solange Sie sie nicht mit einem
DEFINE
WINDOW
-Statement oder %W
-Kommando
ändern — mit der Größe Ihres Bildschirms identisch ist.
Weitere Informationen über Fensterverarbeitung siehe auch
DEFINE
WINDOW
-Statement in der
Statements-Dokumentation.
Es gibt zwei Arten von Window-Kommandos:
Kommandos, mit denen Sie die Größe und Position des Fensters auf dem physischen Bildschirm Ihres Terminals verändern können.
Kommandos, mit denen Sie die Position des Fensters auf der vom Programm erzeugten logischen Seite verändern können.
Dieses Dokument behandelt folgende Themen:
Mit den folgenden Window-Kommandos bestimmen Sie die Größe und Position des Fensters auf dem physischen Bildschirm.
Wenn Sie die Position des Fensters auf dem physischen Bildschirm ändern, wird die Position des Fensters auf der logischen Seite dadurch nicht verändert:
Zu Informationen über mögliche Fenstergrößen siehe
DEFINE
WINDOW
-Statement.
Kommando | Funktion |
---|---|
%WB | Die Fenstergröße (ausschließlich Rahmen) wird auf Bildschirmgröße gesetzt. Falls ein Rahmen definiert ist, ist dieser nicht sichtbar. |
%WBlll/ccc | Die obere linke Ecke des Fensters wird in Zeile lll / Spalte ccc platziert (Zeilen und Spalten werden auf dem physischen Bildschirm gezählt). Die Größe des Fensters bleibt dabei gleich. Falls das Fenster zu groß ist, um an die angegebene Stelle platziert zu werden, wird es so nahe wie möglich an diese Stelle platziert. |
%WB0 | Das Fenster wird an die obere linke Bildschirmecke verschoben. Die Fenstergröße bleibt dabei unverändert. |
%W# | Die obere linke Ecke des Fensters wird an die Cursor-Position plaziert. Die Größe des Fensters bleibt dabei gleich. Falls das Fenster zu groß ist, um an die angegebene Stelle plaziert zu werden, wird es so nahe wie möglich an diese Stelle plaziert. |
%W? | Die untere rechte Ecke des Fensters wird an die Cursor-Position plaziert. Die obere linke Ecke des Fensters verschiebt sich dabei nicht, und die Größe des Fensters wird entsprechend angepasst. |
%WLnn | Die Zeilenlänge (horizontale Ausdehnung) des Fensters
(einschließlich Rahmen, falls angegeben) wird auf nn
Stellen gesetzt.
Wenn Sie nn nicht oder größer als auf den Bildschirm passend, angeben, wird die horizontale Ausdehnung auf größtmögliche Zeilenlänge gesetzt, d.h. bis zum rechten Bildschirmrand. |
%WCnn | Die Spaltenlänge (vertikale Ausdehnung) des Fensters
(einschließlich Rahmen, falls angegeben) wird auf nn
Zeilen gesetzt.
Wenn Sie nn nicht oder größer als auf den Bildschirm passend, angeben, wird die vertikale Ausdehnung auf größtmögliche Spaltenlänge gesetzt, d.h. bis zum unteren Bildschirmrand. |
Zeilen- und Spaltenangaben beziehen sich auf die physische Gesamtgröße des Fensters (einschließlich Rahmen, falls angegeben), nicht auf die Größe dessen, was innerhalb des Fensters logisch sichtbar ist.
Wird ein Fenster nicht korrekt definiert, so wird ein solches Kommando entweder ignoriert oder die Fenstergröße und -position im Rahmen der physischen Möglichkeiten angepasst.
Kommando | Funktion |
---|---|
%WF | Schaltet die Rahmung (Frame) ein.
Die Größe des Fensters wird durch einen Rahmen angezeigt.
Falls das Fenster kleiner als 4 Zeilen mal 12 Spalten ist, ist der Rahmen nicht sichtbar. |
%WM | Schaltet die Rahmung aus. Die Größe des Fensters wird nicht
durch einen Rahmen angezeigt.
Durch Ausschalten des Rahmens ändert sich die Größe des Fensters nicht (lediglich die Größe des im Fenster sichtbaren Seitenausschnitts). |
%WO | Die Anzeige von Funktionstastenleiste, Meldungszeile und
Statistikzeile wird unterdrückt. Dieses Kommando wirkt nur, falls das
betreffende Fenster ein "echtes" Fenster ist (d.h. kleiner als der
physische Bildschirm ist).
Um die Wirkung von |
%WP | Standardmäßig werden die Funktionstastenleiste, die
Meldungszeile und die Statistikzeile innerhalb eines Fensters angezeigt. Um sie
auf dem Schirm außerhalb des Fensters anzuzeigen, verwenden Sie
%WP .
Um die Wirkung von |
%WD | Schaltet die Wirkung von %WF ,
%WO und %WP sowie der
TITLE -Option
des DEFINE WINDOW -Statements aus.
|
%WX | Befindet sich außerhalb des Fensters ein
*COM -Feld,
so ist dieses Feld normalerweise nicht schreibgeschützt. Mit
%WX können Sie es schreibgeschützt machen.
|
%WY | Schaltet die Wirkung von %WX wieder
aus.
|
Mit den folgenden Window-Kommandos können Sie die Position des Fensters auf der aktuellen logischen Seite ändern, d.h. der vom Natural-Programm angezeigten Ausgabe oder Map. Die Größe dieser logischen Seite kann über die Größe Ihres Bildschirms hinausgehen.
Wenn Sie die Position des Fensters auf der logischen Seite ändern, bleibt die Position des Fensters auf dem physischen Bildschirm unverändert. Die logische Seite verschiebt sich also quasi "unter" dem Fenster:
Normalerweise — wenn Sie die Position nicht durch eines der folgenden Kommandos ändern — befindet sich das Fenster an der oberen linken Ecke der logischen Seite, d.h. Sie sehen durch das Fenster den oberen linken Ausschnitt der logischen Seite.
Kommando | Funktion |
---|---|
%W* | Der durch den Cursor auf der Seite markierte Punkt wird an die obere linke Fensterecke geschoben. |
%Wlll,ccc | Die Seite wird so verschoben, dass der durch Zeile lll /Spalte ccc definierte Punkt an der oberen linken Fensterecke ist. Zeilen und Spalten werden auf der logischen Seite gezählt. |
%W< | Die Seite verschiebt sich um eine Fensterbreite nach links. Die Verschiebung entspricht der Zeilenbreite (horizontale Ausdehnung) des Fensters. |
%W<< | Das Fenster wird bis zum linken Rand der Seite verschoben. |
%W<n | Das Fenster wird um n Stellen nach links verschoben (0 =< n =< Zeilenlänge der Seite). |
%W> | Die Seite verschiebt sich um eine Fensterbreite nach rechts. Die Verschiebung entspricht der Zeilenbreite (horizontale Ausdehnung) des Fensters. |
%W>> | Das Fenster wird bis zum rechten Rand der Seite verschoben. |
%W>n | Das Fenster wird um n Stellen nach rechts verschoben (0 =< n =< Zeilenlänge der Seite). |
%W+ | Die Seite verschiebt sich um eine Fensterhöhe nach unten. Die Anzahl der verschobenen Zeilen entspricht der Anzahl der Zeilen im Fenster. (*) |
%W++ | Das Fenster wird ans untere Ende der Seite verschoben. (*) |
%W+n | Das Fenster wird um n Zeilen nach unten verschoben (0 =< n =< Spaltenlänge der Seite). (*) |
%W- | Die Seite verschiebt sich um eine Fensterhöhe nach oben. Die Anzahl der verschobenen Zeilen entspricht der Anzahl der Zeilen im Fenster. |
%W-- | Das Fenster wird ans obere Ende der Seite verschoben. |
%W-n | Das Fenster wird um n Zeilen nach oben verschoben (0 =< n =< Spaltenlänge der Seite). |
%WH | Standardmäßig wird die Fenster-Position auf der logischen Seite
bei einer Bildschirm-Eingabe/Ausgabe wieder auf die obere linke Ecke
zurückgesetzt. %WH bewirkt, dass die gesetzte
Fenster-Position beim nächsten Eingabe/Ausgabe nicht zurückgesetzt wird,
sondern erhalten bleibt. %WH gilt jeweils nur für
den nächsten Eingabe/Ausgabe.
|
%WS | Die STAY -Option ist eingeschaltet; d.h. die
Kontrolle bleibt auf der aktuellen Seite, bis das Ende der Seite erreicht ist.
Wenn eine Seite in vertikaler Richtung noch nicht vollständig
angezeigt worden ist, wird Ihnen dies durch die Zeichenkette |
%WN | Die STAY -Option ist ausgeschaltet. Wenn Sie
EINGABE drücken, wird die Kontrolle an das Programm übergeben.
|
* Das Fenster kann höchstens bis zur letzten nicht leeren Zeile der Seite verschoben werden.
Anmerkungen:
SET
KEY
-Statement).
SET
CONTROL
-Statement angeben wollen, muss diesem ein
REINPUT
-Statement
folgen (d.h. es muss zwischen dem REINPUT
-Statement und dem
entsprechenden INPUT
-Statement stehen); sonst
kann Natural das Kommando nicht eindeutig einem bestimmten Fenster zuordnen
(und ignoriert es).
INPUT
-Statement mit
Option WINDOW='window-name'
und dem
dazugehörigen REINPUT
-Statement grundsätzlich kein SET
CONTROL ’W’
-Statement stehen.
Sie können die verschiedenen Parameter des
%W
-Kommandos auch miteinander kombinieren. Zum
Beispiel:
%W<<-- | Das Fenster wird an die obere linke Ecke der Seite geschoben. |
---|---|
%W>>++ | Das Fenster wird an die untere rechte Ecke der Seite geschoben. |
%W++- | Der (in vertikaler Richtung) vorletzte Fensterausschnitt der Seite wird gezeigt. |
%W+3>6 | Das Fenster verschiebt sich auf der Seite um 3 Zeilen nach unten und 6 Spalten nach rechts. |
%W10+> | Das Fenster wird an Zeile 10 der Seite geschoben, dann um ein Fenster nach unten und um ein Fenster nach rechts. |
%WL40C10++-3 | Das Fenster wird mit einer Zeilenlänge von 40 Stellen und einer Spaltenlänge von 10 Zeilen definiert, es wird ans untere Ende der logischen Seite und dann wieder 3 Zeilen nach oben geschoben. |
%WL30C10B3/15--<< | Das Fenster wird mit einer Zeilenlänge von 30 Stellen und einer Spaltenlänge von 10 Zeilen definiert, es wird in Zeile 3 und Spalte 15 des physischen Bildschirms platziert und an die obere linke Ecke der logischen Seite geschoben. |
%WFS | Um das Fenster wird ein Rahmen generiert, und die
STAY -Option wird eingeschaltet.
|
Die Parameter werden der Reihe nach ausgewertet, so dass unterschiedliche Reihenfolgen derselben Parameter zu unterschiedlichen Ergebnissen führen können.
Kommando | Funktion |
---|---|
%WA |
Mit Wenn das aktuelle Diese Funktion ermöglicht beispielsweise die Verwendung von Fenstern in PC-ähnlicher Form. Für ein bestimmtes Fenster können beliebig viele aufgerufene, "abhängige" Fenster gespeichert werden. All diese Fenster verschwinden vom Schirm, wenn das Haupteingabefenster wiederausgeführt wird. Der Inhalt des Puffers (d.h. die gespeicherten Schirme) wird
gelöscht, wenn Natural wieder einen ganzen Bildschirm ausgibt, wenn Natural in
den Kommandomodus ( |
%WZ | Mit %WZ deaktivieren Sie ein
vorhergegangenes %WA -Kommando.
|