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.
Anmerkung:
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.