Sauter la navigation

Documentation FlexPro 2025

For Each Value...End

Répète une série d'instructions et, ce faisant, parcourt toutes les valeurs d'un ensemble de données.

Syntaxe

For Each Value Y[[, X], Z] In Données Do

  [Instructions]

End

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

Élément

Description

Y, X, Z

Variables qui adoptent les valeurs de l'ensemble des données. Vous pouvez omettre les variables à droite. Il n'est pas nécessaire de déclarer les variables avec Dim.

Données

L'ensemble de données dont les valeurs doivent être prises. L'ensemble de données ne peut pas être une valeur scalaire.

Instructions

Une ou plusieurs instructions qui sont exécutées pour chaque valeur de Données.

Remarques

Le bloc For Each Value est exécuté s'il y a au moins une valeur dans Données. La boucle est répétée pour toutes les valeurs de Données où X, Y et Z adoptent les valeurs de l'ensemble de données. Le programme quitte alors la boucle et poursuit l'exécution avec l'instruction qui suit l'instruction End.

Les colonnes d'un ensemble de données à deux dimensions sont parcourues l'une après l'autre. Si une variable est utilisée pour un composant qui n'est pas présent dans l'ensemble de données, elle reçoit des valeurs intégrales croissantes de 64 bits qui commencent par 0.

Si une composante traversée de Données est une grandeur, son unité est reprise dans la variable d'exécution correspondante.

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

Exemple

L'exemple suivant collecte toutes les valeurs d'un signal qui sont supérieures ou égales à 5.0 :

Arguments Signal

Dim SY, SX

For Each Value Y, X In Signal Do

    If Y >= 5 Then

        SY := Y

  SX := X

    End

End

Signal(SY, SX)

En utilisant l'isolation des événements, l'exemple ci-dessus peut être écrit beaucoup plus facilement et efficacement :

Arguments Signal

Signal[ValuesAboveLevel(Signal, 5)]

 

Voir aussi

Instruction For Each Column...End

Instruction For Each Row...End

Instruction For Each Element...End

Instruction For...End

Instruction While...End

Instruction Do...While

Documentation FlexPro 2025

For Each Value...End

Répète une série d'instructions et, ce faisant, parcourt toutes les valeurs d'un ensemble de données.

Syntaxe

For Each Value Y[[, X], Z] In Données Do

  [Instructions]

End

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

Élément

Description

Y, X, Z

Variables qui adoptent les valeurs de l'ensemble des données. Vous pouvez omettre les variables à droite. Il n'est pas nécessaire de déclarer les variables avec Dim.

Données

L'ensemble de données dont les valeurs doivent être prises. L'ensemble de données ne peut pas être une valeur scalaire.

Instructions

Une ou plusieurs instructions qui sont exécutées pour chaque valeur de Données.

Remarques

Le bloc For Each Value est exécuté s'il y a au moins une valeur dans Données. La boucle est répétée pour toutes les valeurs de Données où X, Y et Z adoptent les valeurs de l'ensemble de données. Le programme quitte alors la boucle et poursuit l'exécution avec l'instruction qui suit l'instruction End.

Les colonnes d'un ensemble de données à deux dimensions sont parcourues l'une après l'autre. Si une variable est utilisée pour un composant qui n'est pas présent dans l'ensemble de données, elle reçoit des valeurs intégrales croissantes de 64 bits qui commencent par 0.

Si une composante traversée de Données est une grandeur, son unité est reprise dans la variable d'exécution correspondante.

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

Exemple

L'exemple suivant collecte toutes les valeurs d'un signal qui sont supérieures ou égales à 5.0 :

Arguments Signal

Dim SY, SX

For Each Value Y, X In Signal Do

    If Y >= 5 Then

        SY := Y

  SX := X

    End

End

Signal(SY, SX)

En utilisant l'isolation des événements, l'exemple ci-dessus peut être écrit beaucoup plus facilement et efficacement :

Arguments Signal

Signal[ValuesAboveLevel(Signal, 5)]

 

Voir aussi

Instruction For Each Column...End

Instruction For Each Row...End

Instruction For Each Element...End

Instruction For...End

Instruction While...End

Instruction Do...While