Eingabe/Ausgabebezogene Systemvariablen

Dieses Dokument behandelt folgende Systemvariablen:


*CURS-COL

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.

*CURS-FIELD

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.

*CURS-LINE

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.

*CURSOR

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.

*LINE-COUNT

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.

*LINESIZE

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).

*LOG-LS

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.

*LOG-PS

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.

*PAGE-NUMBER

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.

*PAGESIZE

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).

*PF-KEY

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:

  1. Wenn ein Seitenumbruch auftritt, ändert sich der Wert von *PF-KEY nach ENTR. Dies gilt für alle Umgebungen (Terminal oder Nicht-Terminal).
  2. Wenn Sie abfragen, ob der Wert von *PF-KEY innerhalb eines bestimmten Wertebereichs liegt, berücksichtigen Sie bitte, dass der Wert von *PF-KEY alphanumerisch ist.

Siehe auch

*PF-NAME

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.

*WINDOW-LS

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.

*WINDOW-POS

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.

*WINDOW-PS

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.