IF/IFNOT

#### Search Results

Search

# IF/IFNOT

#### Beschreibung

`IF` überprüft eine Bedingung. `IFNOT` ist die Kurzschreibweise für `IF *SCREEN NE`.

Wenn die Bedingung wahr ist, wird die Anweisung ausgeführt. Wenn die Bedingung falsch ist, wird die nächste Anweisung ausgeführt.

Text in einfachen oder doppelten Anführungszeichen wird auf Groß- und Kleinschreibung überprüft.

#### Syntax

    IF [variable] [operator] variable befehl

    IFNOT variable befehl

Für variable können Sie alle Variablen von Entire Connection benutzen (z.B. `#PARM1` oder `#CNT1`). Bei einer Großrechneranwendung ist die Variable `*SCREEN` hilfreich (Syntax siehe unten). Damit können Sie feststellen, welcher Bildschirm gerade übertragen wird, ohne ihn anzuzeigen. Sie können dann entsprechend reagieren.

operator ist einer der folgenden Werte:

`EQ` | gleich
`NE` | ungleich
`GE` | größer gleich
`LE` | kleiner gleich
`GT` | größer als
`LT` | kleiner als

Für befehl können Sie jeden Befehl von Entire Connection, außer den Folgenden, benutzen:

`IF`
`IFNOT`
`WAITFOR`

Wenn Sie die optionalen Operanden variable und operator bei der `IF`-Anweisung weglassen, wird die Variable `*SCREEN` (gesamter Bildschirm) und der Operator `EQ` benutzt.

#### Syntax für `*SCREEN`

Die Variable `*SCREEN` kann nur einmal pro `IF`/`IFNOT` benutzt werden.

    *SCREEN [zeile spalte[länge]]

zeile ist ein Wert zwischen 1 und der maximalen Zeilenanzahl + 1.

spalte ist ein Wert zwischen 1 und der maximalen Zeilenlänge.

länge ist ein Wert zwischen 1 und der Bildschirmgröße.

Zum Beispiel:

`*SCREEN` steht für: gesamter Bildschirm.

`*SCREEN 2 1` steht für: ab Zeile 2, Spalte 1 bis zum Ende des Bildschirms.

`*SCREEN 2 1 80` steht für: ab Zeile 2, Spalte 1 die nächsten 80 Positionen.

#### Beispiele

- Den gesamten Bildschirm nach `NEXT` durchsuchen. Wenn `NEXT` vorkommt, zur Sprungmarke `NEXT` verzweigen:

      IF 'NEXT' GOTO NEXT

- Den gesamten Bildschirm nach `NEXT` durchsuchen. Wenn `NEXT` nicht vorkommt, zur Sprungmarke `WEITER` verzweigen:

      IFNOT 'NEXT' GOTO WEITER

- Ab Zeile 2, Spalte 1 die nächsten vier Positionen nach `NEXT` durchsuchen:

      IF *SCREEN 2 1 4 EQ 'NEXT' GOTO WEITER

- Ab Zeile 2, Spalte 1 die nächsten 80 Positionen nach `NEXT` durchsuchen:

      IF *SCREEN 2 1 80 EQ 'NEXT' GOTO WEITER

- Ab der in der Variable `+ROW` enthaltenen Zeile und der in `+COL` enthaltenen Spalte nach dem Inhalt der lokalen Variable `#PARM1` suchen; die Anzahl der zu durchsuchenden Positionen wird durch den Wert in der Variable `#CNT3` festgelegt:

      IF *SCREEN +ROW +COL #CNT3 EQ #PARM1
      GOTO WEITER

- Die definierte Tastatureingabe an den Host senden, wenn der Inhalt der lokalen Variable `#PARM1` nicht leer ist:

      IF #PARM1 NE ' ' TYPE '*NAT' CR

#### Prozedurdateibeispiele

Findfile.ncp, Copyscr.ncp

#### Zurückgegebene Variablen

Wenn die Bedingung für den Befehl `IF *SCREEN EQ` wahr ist, wird die Bildschirmposition der Zeichenkette in den folgenden lokalen Variablen zurückgegeben:

`#ROW` - die gültigen Werte liegen zwischen 1 und der maximalen Zeilenanzahl + 1

`#COL` - die gültigen Werte liegen zwischen 1 und der maximalen Zeilenlänge

#### Verwandte Befehle

`WAITFOR`

#### Benutzung

Prozedurdatei: | Ja
Befehlszeile: | Nein
Taste: | Nein
API: | Ja