Logique impérative

Note

Microsoft Power Fx est le nouveau nom du langage de formule pour les applications canevas. Ces articles associés sont un travail en cours car nous extrayons le langage des applications de canevas, l’intégrons à d’autres produits Microsoft Power Platform, et le rendons disponible en open source. Commencez par l’Aperçu de Microsoft Power Fx pour une introduction à la langue.

La plupart des formules dans Microsoft Power Fx calculent une valeur. Comme dans une feuille de calcul Excel, le recalcul se produit automatiquement lorsque les valeurs changent. Par exemple, vous voulez afficher la valeur dans un contrôle Label en rouge si elle est inférieure à zéro ou en noir dans les autres cas. Ainsi, vous pouvez configurer la propriété Color de ce contrôle sur la formule suivante :

If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

Dans ce contexte, que se passe-t-il lorsque l’utilisateur sélectionne un contrôle Button ? Aucune valeur n’a changé, donc aucun nouveau calcul ne doit être effectué. Le contrôle Button n’a aucun équivalent dans Excel.

En sélectionnant un contrôle Button, l’utilisateur lance une séquence d’actions ou de comportements qui va modifier l’état de l’application :

  • Changer l’écran qui s’affiche : fonction Back.
  • Contrôler un signal (Power Apps uniquement) : fonctions Enable et Disable.
  • Actualiser, mettre à jour ou supprimer des éléments dans une source de données : fonctions Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Mettre à jour une variable de contexte (applications canevas Power Apps uniquement) : fonction UpdateContext.
  • Créer, mettre à jour ou supprimer des éléments dans une collection : fonctions Collect, Clear, ClearCollect.

Ces fonctions modifiant l’état de l’application, elles ne peuvent pas être recalculées automatiquement. Vous pouvez les utiliser dans les formules pour les propriétés OnSelect, OnVisible, OnHidden, et autres propriétés On... qui sont appelées « formules de comportement ».

Liste d’actions

Utilisez des points-virgules pour créer une liste d’actions à effectuer. Par exemple, si vous souhaitez mettre à jour une variable de contexte, puis revenir à l’écran précédent :

UpdateContext( { x: 1 } ); Back()

Les actions sont exécutées dans l’ordre dans lequel elles apparaissent dans la formule. La fonction suivante ne démarre pas tant que la fonction en cours n’est pas terminée. Si une erreur se produit, les fonctions suivantes ne peuvent pas démarrer.