FOR
operand1
|
|
[:]= |
|
|||||||
|
|
|
|
|
|||||||
|
|
STEP |
|
|
|||||||
|
statement
|
||||||||||
END-FOR
|
[(r)] | (structured mode only) | ||||||||
LOOP |
[(r)] | (reporting mode only) | ||||||||
Dieser Abschnitt behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: REPEAT |
ESCAPE
Gehört zur Funktionsgruppe: Schleifenverarbeitung
Mit dem Statement FOR wird eine Verarbeitungsschleife ausgelöst und
gleichzeitig die Anzahl der Schleifendurchläufe gesteuert.
Bevor die FOR-Schleife zum erstenmal durchlaufen wird, wird geprüft, ob
die Werte der Operanden konsistent sind (d.h. ob es möglich ist, dass durch wiederholtes
Addieren von operand4 zu operand2
der Wert von operand3 erreicht werden kann); ist dies nicht
der Fall, wird die FOR-Schleife nicht durchlaufen (ohne dass eine
Fehlermeldung ausgegeben wird; Ausnahme: wenn der STEP-Wert Null ist, wird
eine Meldung ausgegeben).
Operanden-Definitionstabelle:
| Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1
|
S | N | P | I | F | ja | ja | |||||||||||||
operand2
|
C | S | N | N | P | I | F | ja | nein | |||||||||||
operand3
|
C | S | N | N | P | I | F | ja | nein | |||||||||||
operand4
|
C | S | N | N | P | I | F | ja | nein | |||||||||||
Syntax-Element-Beschreibung:
| Syntax-Element | Beschreibung |
|---|---|
operand1
|
Schleifenkontrollvariable (operand1)
und Ausgangswert (operand2):
operand1 kann ein Datenbankfeld oder eine
Benutzervariable sein und steuert die Anzahl der Schleifendurchläufe. Der nach
dem Schlüsselwort Die Kontrollvariable kann während der Ausführung der Verarbeitungsschleife referenziert werden, um den aktuellen Wert der Kontrollvariablen zu erhalten. |
operand2
|
|
operand3
|
TO-Wert:
Die Verarbeitungsschleife wird beendet, sobald
operand1 einen Wert enthält, der größer ist als der
Wert von operand3 (oder kleiner, falls der
|
operand4
|
STEP-Wert:
Der Wert von operand4 kann positiv oder negativ
sein. Ist kein Wert angegeben, wird ein Wert von Je nach dem Vorzeichen des operand4 darf nicht Null (0) sein. |
(arithmetic-expression) |
Arithmetischer Ausdruck:
Anstelle von operand2, operand3 oder operand4 kann ein beliebiger arithmetischer Ausdruck angegeben werden. Der arithmetische Ausdruck muss in Klammern angegeben werden. Vorangehende Schlüsselwörter dürfen nicht weggelassen werden. Weitere Informationen siehe arithmetic-expression in der
Beschreibung des |
END-FOR (r)
|
Ende des FOR-Statements:
Im Structured Mode muss das für Natural reservierte Wort Im Structured Mode können Sie bei Im Reporting Mode wird das Im Reporting Mode können Sie bei |
LOOP
(r)
|
** Example 'FOREX1S': FOR (structured mode) ************************************************************************ DEFINE DATA LOCAL 1 #INDEX (I1) 1 #ROOT (N2.7) END-DEFINE * FOR #INDEX 1 TO 5 COMPUTE #ROOT = SQRT (#INDEX) WRITE NOTITLE '=' #INDEX 3X '=' #ROOT END-FOR * SKIP 1 FOR #INDEX 1 TO 5 STEP 2 COMPUTE #ROOT = SQRT (#INDEX) WRITE '=' #INDEX 3X '=' #ROOT END-FOR * END
Ausgabe des Programms FOREX1S:
#INDEX: 1 #ROOT: 1.0000000
#INDEX: 2 #ROOT: 1.4142135
#INDEX: 3 #ROOT: 1.7320508
#INDEX: 4 #ROOT: 2.0000000
#INDEX: 5 #ROOT: 2.2360679
#INDEX: 1 #ROOT: 1.0000000
#INDEX: 3 #ROOT: 1.7320508
#INDEX: 5 #ROOT: 2.2360679
Äquivalentes Reporting-Mode-Beispiel: FOREX1R.