Eingabe/Ausgabebezogene Systemvariablen

#### Search Results

Search

# Eingabe/Ausgabebezogene Systemvariablen

Dieses Dokument behandelt folgende Systemvariablen:

- *CURS-COL

- *CURS-FIELD

- *CURS-LINE

- *CURSOR

- *LINE-COUNT

- *LINESIZE

- *LOG-LS

- *LOG-PS

- *PAGE-NUMBER

- *PAGESIZE

- *PF-KEY

- *PF-NAME

- *WINDOW-LS

- *WINDOW-POS

- *WINDOW-PS

## *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 Systemfunktion`POS`.

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

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

- `SET KEY`-Statement (in Bezug auf Auswirkungen auf den Inhalt von `*PF-KEY`).

- Verarbeitung aufgrund von Funktionstasten − Systemvariable *PF−KEY im Leitfaden zur Programmierung.

## *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.

### On this page

- *CURS-COL
- *CURS-FIELD
- *CURS-LINE
- *CURSOR
- *LINE-COUNT
- *LINESIZE
- *LOG-LS
- *LOG-PS
- *PAGE-NUMBER
- *PAGESIZE
- *PF-KEY
- *PF-NAME
- *WINDOW-LS
- *WINDOW-POS
- *WINDOW-PS