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.