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
.