FOR
operand1
|
[:]= |
|||||||||
|
||||||||||
STEP |
||||||||||
statement | ||||||||||
END-FOR
|
(structured mode only) | |||||||||
LOOP |
(reporting mode only) |
Dieses Dokument 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
|
Ende des FOR-Statements:
Im Structured Mode muss das für Natural reservierte Wort
Im Reporting Mode wird das |
LOOP |
** 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
.