Dieses Dokument behandelt folgende Systemvariablen:
| Format/Länge: | P3 |
| Inhalt modifizierbar | Ja (aber es darf kein negativer Wert zugewiesen werden). |
Diese Systemvariable enthält die Nummer der Spalte, in der sich der Cursor zur Zeit befindet.
Die Cursor-Position bezieht sich auf das aktive Natural-Bildschirmfenster, unabhängig von seiner physischen Platzierung auf dem Bildschirm. Die Position des Cursors wird ausgehend von Zeile 1 / Spalte 1 der logischen Seite bestimmt.
Wenn *CURS-COL einen negativen Wert enthält, bedeutet dies,
dass der Cursor außerhalb des aktiven Fensters steht. Wenn
*CURS-COL negativ ist, enthält auch *CURS-LINE einen negativen
Wert. In diesem Fall bestimmen die absoluten Werte beider Systemvariablen die Position des
Cursors auf dem physischen Bildschirm.
Anmerkung
Meldungszeile, Funktionstastenleiste und Statistikzeile/Infoline werden nicht als
Zeilen mitgezählt.
Siehe auch Dialog-Gestaltung, Spalten-sensitive Verarbeitung im Leitfaden zur Programmierung.
| Format/Länge: | I4 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable gibt eine Identifikation des Feldes zurück, in dem sich der Cursor zur Zeit befindet. Der zurückgegebene Wert ist die interne Darstellung der Feldadresse.
*CURS-FIELD kann nicht alleine, sondern nur in Verbindung
mit der Systemfunktion POS verwendet werden. Sie können beide zusammen
benutzen, um zu prüfen, ob sich der Cursor gerade in einem bestimmten Feld befindet, und
die weitere Verarbeitung von dieser Bedingung abhängig machen. Nähere Informationen siehe
SystemfunktionPOS.
Wenn der Cursor nicht in einem Feld steht oder wenn kein REINPUT möglich ist,
enthält *CURS-FIELD den Wert 0.
In Natural for Ajax-Anwendungen dient *CURS-FIELD zur
Identifikation des Operanden, der den Wert des Control darstellt, welches den Eingabefokus
hat. Sie können *CURS-FIELD in Verbindung mit der
POS-Funktion benutzen, um eine Prüfung auf das Control, das den
Eingabefokus hat, zu veranlassen und die Verarbeitung in Abhängigkeit von diesem Zustand
durchzuführen.
Anmerkung
Die Systemvariable *CURS-FIELD kann nicht zwischen zwei
verschiedenen Variablen unterscheiden, die am selben Speicherplatz beginnen (REDEFINE-Variablen),
weil die in *CURS-FIELD zurückgegebene Feldadresse für beide
Variablen dieselbe ist.
Der Wert von *CURS-FIELD dient nur zur internen
Identifikation des Feldes und kann nicht für arithmetische Operationen verwendet werden.
Wenn *CURS-FIELD eine Ausprägung eines X-Arrays (ein Array, für das wenigstens eine
Dimension als erweiterbar spezifiziert ist) identifiziert, kann sich der Wert von
*CURS-FIELD ändern, nachdem die Anzahl der Ausprägungen für
eine Dimension des Arrays mittels eines der Statements EXPAND, RESIZE oder REDUCE geändert wurde.
Siehe auch Dialog-Gestaltung, Feld-sensitive Verarbeitung im Leitfaden zur Programmierung.
| Format/Länge: | P3 |
| Inhalt modifizierbar | Ja (aber es darf kein negativer Wert oder 0 zugewiesen werden). |
Diese Systemvariable enthält die Nummer der Zeile, in der sich der Cursor zur Zeit befindet.
Die Cursor-Position bezieht sich auf das aktive Natural-Bildschirmfenster, unabhängig von seiner physischen Platzierung auf dem Bildschirm. Die Position des Cursors wird ausgehend von Zeile 1 / Spalte 1 der logischen Seite bestimmt.
Anmerkung
Meldungszeile, Funktionstastenleiste und Statistikzeile/Infoline werden nicht als
Zeilen mitgezählt.
*CURS-LINE kann auch einen der folgenden Werte
enthalten:
| Wert | Cursor-Position |
|---|---|
| 0 | Auf der oberen oder unteren horizontalen Rahmenzeile eines Bildschirmfensters. |
| -1 | Auf der Natural-Meldungszeile. |
| -2 | Auf der Natural-Statistikzeile/Infoline. |
| -3 | Auf der oberen (Tastennummern)-Funktionstastenzeile. |
| -4 | Auf der unteren (Tastennamen)-Funktionstastenzeile. |
Wenn *CURS-COL
einen negativen Wert enthält — was bedeutet, dass der Cursor außerhalb des aktiven
Fensters steht —, dann enthält auch *CURS-LINE einen
negativen Wert. In diesem Fall bestimmen die absoluten Werte beider
Systemvariablen die Position des Cursors auf dem physischen Bildschirm.
Siehe auch Dialog-Gestaltung, Zeilen-sensitive Verarbeitung im Leitfaden zur Programmierung.
| Format/Länge: | N6 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die Position des Cursors auf dem Eingabebildschirm, wenn die EINGABE-Taste oder eine Funktionstaste gedrückt wird.
Anmerkung
Es empfiehlt sich, anstelle von *CURSOR die
Systemvariablen *CURS-LINE und *CURS-COL zu verwenden.
*CURSOR ist nur noch aus Gründen der Kompatibilität zu
früheren Natural-Versionen verfügbar.
| Format/Länge: | P5 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die Zeilennummer der aktuellen, d.h. zuletzt ausgegebenen Zeile.
Natural benutzt diese Variable, um die Zeilennummer für die nächste Zeile eines Reports zu bestimmen.
Der Wert von *LINE-COUNT erhöht sich jedesmal, wenn ein
WRITE-, SKIP-, DISPLAY-, PRINT- oder INPUT-Statement ausgeführt
wird. Der Wert erhöht sich mit jeder ausgegebenen Zeile um 1;
*LINE-COUNT enthält also die Nummer der zuletzt
ausgegebenen Zeile auf der aktuellen Seite.
Mit jedem EJECT-
und NEWPAGE-Statement wird
*LINE-COUNT wieder auf 1 gesetzt (außer bei NEWPAGE
WITH TITLE, wo sich der Wert von *LINE-COUNT aus der
Anzahl der Zeilen der mit WITH TITLE ausgegebenen Seitenüberschrift
ergibt).
Die höchstmögliche Zeilennummer ist 250.
Erzeugt ein Programm mehrere Reports, können Sie mit der Notation
(rep) hinter
*LINE-COUNT den Report bestimmen, dessen aktuelle
Zeilennummer Sie wünschen.
| Format/Länge: | N7 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die physische Zeilenlänge des Eingabe/Ausgabe-Geräts, von dem aus Natural aufgerufen wurde (falls das eingesetzte TP-System diese Informationen liefern kann).
| Format/Länge: | N3 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die Zeilenlänge der logischen Seite, die mit dem Primär-Report ausgegeben wird.
*LOG-LS gilt nur für den Primär-Report, nicht für etwaige
weitere Reports.
| Format/Länge: | N3 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die Seitenlänge der logischen Seite, die mit dem Primär-Report ausgegeben wird.
*LOG-PS gilt nur für den Primär-Report, nicht für etwaige
weitere Reports.
| Format/Länge: | P5 |
| Inhalt modifizierbar | Ja |
Diese Systemvariable enthält die Nummer der gerade ausgegebenen Seite eines Reports.
Erzeugt ein Programm mehrere Reports, können Sie mit der Notation
(rep) hinter
*PAGE-NUMBER den Report bestimmen, auf den sich
*PAGE-NUMBER beziehen soll.
Natural initialisiert diese Variable erst, wenn die Formatierung des Reports erfolgt,
d.h. sie wird erst relevant, wenn das erste FORMAT-, WRITE- oder DISPLAY-Statement ausgeführt wird. Diese Variable kann von
einem Natural-Programm modifiziert werden.
Natural benutzt diese Variable, um die Seitennummer für die nächste Seite eines Reports
zu bestimmen. Der Wert von *PAGE-NUMBER erhöht sich jedesmal
um 1, wenn mit einem DISPLAY-,
WRITE-, SKIP- oder NEWPAGE-Statement eine neue Seite
erzeugt wird. Ein EJECT-Statement
hat keinen Einfluss auf *PAGE-NUMBER.
| Format/Länge: | N7 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die physische Seitenlänge des Eingabe/Ausgabe-Geräts, von dem aus Natural aufgerufen wurde (falls das eingesetzte TP-System diese Informationen liefern kann).
| Format/Länge: | A4 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die Identifikation der Funktionstaste, die zuletzt gedrückt wurde.
*PF-KEY kann einen der folgenden Werte enthalten:
| Wert | Beschreibung |
|---|---|
| PA1 bis PA3 | PA-Tasten 1 bis 3 |
| PF1 bis PF48 | PF-Tasten 1 bis 48 |
| ENTR | ENTER- bzw. EINGABE-Taste |
| CLR | CLEAR- bzw. LÖSCH-Taste |
| PEN | Lichtstift |
| PGDN | PAGE DOWN-Taste |
| PGUP | PAGE UP-Taste |
*PF-KEY enthält die Identifikation der Taste nur, falls die
Taste auf der jeweiligen Stufe aktiviert ist; falls nicht, enthält
*PF-KEY den Wert ENTR.
Anmerkungen:
*PF-KEY nach ENTR. Dies gilt für alle
Umgebungen (Terminal oder Nicht-Terminal).
*PF-KEY innerhalb
eines bestimmten Wertebereichs liegt, berücksichtigen Sie bitte, dass der Wert von
*PF-KEY alphanumerisch ist.
Siehe auch
SET
KEY-Statement (in Bezug auf Auswirkungen auf den Inhalt von
*PF-KEY).
Verarbeitung aufgrund von Funktionstasten − Systemvariable *PF−KEY im Leitfaden zur Programmierung.
| Format/Länge: | A10 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält den Namen der Funktionstaste, die zuletzt gedrückt wurde.
Dies ist der Name, der der Taste mit der NAMED-Klausel eines SET KEY-Statements
zugewiesen wurde.
Damit haben Sie die Möglichkeit, die Verarbeitung von einem bestimmten Funktionsnamen
abhängig zu machen, anstatt von einer bestimmten Taste. Wollen Sie beispielsweise
erreichen, dass Benutzer Hilfe durch Drücken von wahlweise PF1 oder
PF13 anfordern können, weisen Sie beiden Tasten den Namen HILFE
zu und knüpfen das Aufrufen der Hilfe an die Bedingung *PF−NAME='HILFE': die
Hilfe wird dann aufgerufen, ganz gleich ob der Benutzer sie mit PF1 oder
PF13 angefordert hat.
Siehe auch Dialog-Gestaltung, Verarbeitung aufgrund der Namen von Funktionstasten im Leitfaden zur Programmierung.
| Format/Länge: | N3 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die logische Zeilenlänge (ohne Rahmen) des aktiven
Natural-Windows. Siehe DEFINE
WINDOW-Statement.
| Format/Länge: | N6 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die logische Position der oberen linken Ecke des aktiven
Natural-Windows. Siehe DEFINE
WINDOW-Statement.
Die logische Position wird über mehrere Zeilen hinweg ab der Position 0 (obere linke Ecke) in Zeichen gezählt.
| Format/Länge: | N3 |
| Inhalt modifizierbar | Nein |
Diese Systemvariable enthält die logische Seitenlänge (ohne Rahmen) des aktiven
Natural-Windows. Siehe DEFINE
WINDOW-Statement.