Sauter la navigation

Documentation FlexPro 2025

For...End

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

Syntaxe

For Compteur = Début To Fin[ÉtapeIncrément] Do

   [Instructions]

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ément

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

Instructions

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

Une fois que toutes les instructions ont été exécutées lors du premier passage dans la boucle, le programme incrémente la valeur du Compteur d'un Incrément. 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 certes modifier la valeur de Compteur dans une boucle, mais cela complique la compréhension et le test du code.

Vous pouvez indiquer des grandeurs pour début, fin et incrément. Compteur reçoit l'unité de début. Fin et incrément, s'ils sont indiqués en tant que grandeurs, sont transformés dans cette unité avant le test ou l'addition. Sinon, ils sont traités comme étant présents dans l'unité de début.

Remarque :   Si vous utilisez le compteur de boucle pour indexer les valeurs des ensembles de données, vous devez spécifier début, fin et, le cas échéant, 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 :

 

For I = 1n To 10n Do

    For J = 1n To 10n Do

        For K = 1n To 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 d'isolation d'événements en combinaison avec l'opérateur Index. La boucle For Each Value...End est la plus rapide des boucles FPScript.

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, Result, n

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

n = NumberOfRows(Idx)

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

For i = 1n To n - 1n Do

    Result := Maximum(Data[Idx[i - 1n], Idx[i]])

End

Result

 

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

Instruction For Each Element...End

Instruction For Each Value...End

Instruction For Each Column...End

Instruction For Each Row...End

Instruction While...End

Instruction Do...While

Documentation FlexPro 2025

For...End

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

Syntaxe

For Compteur = Début To Fin[ÉtapeIncrément] Do

   [Instructions]

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ément

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

Instructions

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

Une fois que toutes les instructions ont été exécutées lors du premier passage dans la boucle, le programme incrémente la valeur du Compteur d'un Incrément. 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 certes modifier la valeur de Compteur dans une boucle, mais cela complique la compréhension et le test du code.

Vous pouvez indiquer des grandeurs pour début, fin et incrément. Compteur reçoit l'unité de début. Fin et incrément, s'ils sont indiqués en tant que grandeurs, sont transformés dans cette unité avant le test ou l'addition. Sinon, ils sont traités comme étant présents dans l'unité de début.

Remarque :   Si vous utilisez le compteur de boucle pour indexer les valeurs des ensembles de données, vous devez spécifier début, fin et, le cas échéant, 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 :

 

For I = 1n To 10n Do

    For J = 1n To 10n Do

        For K = 1n To 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 d'isolation d'événements en combinaison avec l'opérateur Index. La boucle For Each Value...End est la plus rapide des boucles FPScript.

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, Result, n

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

n = NumberOfRows(Idx)

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

For i = 1n To n - 1n Do

    Result := Maximum(Data[Idx[i - 1n], Idx[i]])

End

Result

 

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

Instruction For Each Element...End

Instruction For Each Value...End

Instruction For Each Column...End

Instruction For Each Row...End

Instruction While...End

Instruction Do...While