For…End-Anweisung (FPScript)
Wiederholt mehrmals eine Reihe von Anweisungen, bis ein Schleifenzähler einen bestimmten Wert erreicht.
Syntax
For Zähler = Anfang To Ende [Step Schrittweite] Do
[Anweisungen]
End
Die Syntax der For...End-Anweisung besteht aus folgenden Teilen:
Teil |
Beschreibung |
---|---|
Zähler |
Variable, die als Schleifenzähler verwendet wird. Den Schleifenzähler müssen Sie nicht mit Dim deklarieren. |
Anfang |
Startwert von Zähler. |
Ende |
Endwert von Zähler. |
Schrittweite |
Die optionale Schrittweite für den Zähler. Die Vorgabe ist 1. |
Anweisungen |
Eine oder mehrere Anweisungen zwischen For und End, die so oft wiederholt werden, bis der Zähler den Endwert überschreitet. |
Anmerkungen
Nachdem im ersten Schleifendurchlauf alle Anweisungen ausgeführt wurden, inkrementiert das Programm den Wert von Zähler um Schrittweite. Die Anweisungen in der Schleife werden dann entweder erneut ausgeführt (aufgrund desselben Tests, der auch zu Beginn des ersten Durchlaufs durchgeführt wurde), oder das Programm beendet die Schleife und setzt die Ausführung mit der Anweisung fort, die auf die End-Anweisung folgt.
Eine rückwärts laufende Schleife erhalten Sie, wenn Sie eine negative Schrittweite verwenden und einen Endwert angeben, der kleiner ist als der Anfangswert.
Sie können den Wert von Zähler zwar innerhalb einer Schleife ändern, dies erschwert jedoch das Verständnis und das Testen des Codes.
Für Anfang, Ende und Schrittweite können Sie Größen angeben. Zähler erhält die Einheit von Anfang. Ende und Schrittweite werden, sofern als Größen angegeben, vor dem Test bzw. der Addition in diese Einheit transformiert. Andernfalls werden diese als in der Einheit von Anfang vorliegend betrachtet.
Hinweis Wenn Sie den Schleifenzähler zum Indizieren von Werten aus Datensätzen verwenden, sollten Sie Anfang, Ende und ggf. Schrittweite als Ganzzahlen angeben (Suffix 'n' anhängen).
Sie können For...End-Schleifen verschachteln, indem Sie eine For...End-Schleife innerhalb einer anderen positionieren. Verwenden Sie für jede Schleife einen eindeutigen Variablennamen als Zähler. Die folgende Konstruktion ist korrekt:
For I = 1n To 10n Do
For J = 1n To 10n Do
For K = 1n To 10n Do
. . .
End
End
End
Hinweis Sie sollten Schleifen über einzelne Werte eines Datensatzes nach Möglichkeit vermeiden. FPScript bietet Ihnen die Möglichkeit, komplette Datensätze in einer einzigen Anweisung zu verrechnen. Schleifen lassen sich meistens durch Funktionen zur Ereignisisolation in Verbindung mit dem Index-Operator ersetzen. Die For Each Value...End-Schleife ist die schnellste FPScript-Schleife.
Verfügbarkeit
FlexPro View, Basic, Professional, Developer Suite
Beispiele
Das folgende Beispiel berechnet Amplitude für einzelne Wellen in einem Sinussignal und übergibt diese als Datenreihe:
Arguments Data
Dim Idx, Result, n
Idx = LevelCrossings(Data, 0, 0, EVENT_INDEX + EVENT_POSITIVE)
n = NumberOfRows(Idx)
Result = 0. # 0 // Leere Datenreihe
For i = 1n To n - 1n Do
Result := Maximum(Data[Idx, Idx])
End
Result
Das folgende Beispiel zeigt eine Schleife, die Einheiten verwendet:
For s = 0 km To 100 km Step 250 m Do
...
End
Das folgende Beispiel zeigt eine rückwärts laufende Schleife:
For i = 100n To 0n Step -1n Do
...
End
Siehe auch
For Each Element...End-Anweisung
For Each Value...End-Anweisung