Exécution de plusieurs actions dans une formule
Combiner des fonctions
Lorsque vous commencez à créer votre application, combinez plusieurs fonctions et éléments en une seule formule, dans la mesure du possible. La création de formules dynamiques s’avère plus efficace, non seulement pour le développeur de l’application, mais aussi pour l’utilisateur. Le recours à plusieurs formules comportant chacune une seule fonction implique plus d’efforts de maintenance, de suivi et de mise à jour de chaque formule. En créant des formules multifonctions, la mise à jour et la maintenance des formules sont plus simples. De plus, selon la taille de l’application et le nombre de formules à fonction unique, vous risquez de rencontrer des problèmes de performance. Si possible, créez des formules multifonctions. L’exemple suivant associe plusieurs fonctions en une seule formule.
Les deux contrôles Saisie de texte n’ont aucune formule ni modification. La propriété Text du contrôle Libellé sélectionné est une formule multifonction renvoyant « Réussite » ou « Échec ».
If(Sum(Value(TextInput1.Text),Value(TextInput2.Text)) > 50, "Pass", "Fail")
La sortie de cette formule s’affiche dans le libellé. La fonction convertit également le texte stocké dans les contrôles Saisie de texte en valeurs à l’aide de la fonction Value. Ensuite, elle additionne ces valeurs à l’aide de la fonction Sum. Dans cet exemple, 25 + 30 = 55. La fonction If renvoie la somme des valeurs pour voir si elle est supérieure à 50. Dans cet exemple, elle renvoie true (55 est supérieur à 50), donc le texte « Réussite » s’affiche dans le libellé. Si la somme est inférieure à 50, le texte « Échec » s’affiche.
De même, lorsque vous implémentez des contrôles, il est préférable de recourir à la même logique de formule combinée. Rien ne vous empêche de créer un bouton pour chaque action que vous souhaitez que l’utilisateur entreprenne. Mais il est bien plus efficace de les combiner lorsque vous le pouvez. Vous pouvez combiner plusieurs actions dans une formule à l’aide du point-virgule (;).
En reprenant l’exemple précédent, nous pourrions ajouter une fonction Set pour définir une variable globale à la formule OnSelect d’un bouton. Cette formule nous permet d’enregistrer la valeur de Label1 (« Réussite » ou « Échec »), puis d’accéder à Screen2 dans notre application. Deux fonctions en une seule action.
Set(varOutcome, Label1.Text); Navigate(Screen2,ScreenTransition.Cover)
Remarque
Les actions sont exécutées dans l’ordre dans lequel elles s’affichent dans la formule. La fonction suivante ne démarre pas tant que la précédente n’est pas terminée. En cas d’erreur, les fonctions ultérieures ne sont pas traitées.