For…End-Anweisung (FPScript)

09.03.2021

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

For Each Column...End-Anweisung

For Each Row...End-Anweisung

While...End-Anweisung

Do...While-Anweisung

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren