Déclaration For…End (FPScript)

09.03.2021

Répète une série d'instructions plusieurs fois jusqu'à ce qu'un compteur de boucle atteigne une certaine valeur.

Syntaxe

Pour Compteur = Début à Fin [Étape Incrémenter]Do

   [Statements]

End

La syntaxe de l'instruction For...End se compose des éléments suivants :

Élément

Description

Compteur

Variable qui est utilisée comme compteur de boucle. Il n'est pas nécessaire de déclarer le compteur de boucle avec Dim.

Début

Valeur de départ du compteur.

Fin

Valeur de fin du compteur.

Incrémenter

L'incrément optionnel pour le compteur. La valeur par défaut est 1.

Déclarations

Une ou plusieurs instructions entre For et End qui sont répétées jusqu'à ce que le compteur dépasse la valeur finale.

Remarques

Après que toutes les instructions aient été exécutées dans le premier cycle de la boucle, le programme incrémente la valeur de Counter par Increment. Les instructions de la boucle sont alors soit exécutées à nouveau (sur la base du même test que celui effectué au début du premier cycle), soit le programme termine la boucle et poursuit l'exécution avec l'instruction qui suit l'instruction End.

Vous obtenez une boucle inverse lorsque vous utilisez un incrément négatif et que vous spécifiez une valeur finale inférieure à la valeur de départ.

Vous pouvez modifier la valeur de Counter à l'intérieur d'une boucle, mais cela rend la compréhension et les tests du code plus difficiles.

Pour le début, la fin et l'incrément, vous pouvez spécifier les quantités. Lecompteur obtient l'unité de Start. Lafin et l'incrément sont transformés en cette unité avant le test ou l'addition, tant que les quantités sont spécifiées. Sinon, ils sont traités comme étant présents dans l'unité de départ.

Remarque :   Si vous utilisez le compteur de boucle pour indexer les valeurs des ensembles de données, vous devez spécifier le début, la fin et, le cas échéant, l'incrément sous forme d'entiers (ajoutez le suffixe 'n').

Vous pouvez imbriquer des boucles For...End en positionnant une boucle For...End à l'intérieur d'une autre. Utilisez un nom de variable unique comme compteur pour chaque boucle. La construction suivante est correcte :

 

Pour I = 1n à 10n Do

    Pour J = 1n à 10n Do

        Pour K = 1n à 10n Do

        . . .

        End

    End

End

Remarque :   Dans la mesure du possible, vous devez éviter les boucles sur les valeurs individuelles d'un ensemble de données. FPScript vous permet de calculer des ensembles de données complets en une seule instruction. Les boucles peuvent généralement être remplacées par des fonctions pour l'isolation d'événements en conjonction avec l'opérateur Opérateur d'indexation. For Each Value...End est la boucle FPScript la plus rapide.

Disponible dans

FlexPro View, Basic, Professional, Developer Suite

Exemples

L'exemple suivant calcule les amplitudes des différentes ondes d'un signal sinusoïdal et les renvoie sous forme de série de données :

Arguments Données

Dim Idx, Resultat, n

Idx = LevelCrossings(Data, 0, 0, EVENT_INDEX + EVENT_POSITIVE)

n = Nombre de lignes (Idx)

Result = 0. # 0 // Série de données vides 

Pour i = 1n à n - 1n Do

    Résultat := Maximum(Données[Idx, Idx])

End

Résultat

 

L'exemple suivant montre une boucle qui utilise des unités :

For s = 0 km To 100 km Step 250 m Do

    ...

End

 

L'exemple suivant montre une boucle inverse :

For i = 100n To 0n Step -1n Do

    ...

End

Voir aussi

For Each Element...End Statement

For Each Value...End Statement

For Each Column...End Statement

For Each Row...End Statement

While...End Statement

Déclaration Do...While

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :