Table des matières
Les conditionnelles dans Actiona
Objectifs du tutoriel
Ce tutoriel a pour but de vous apprendre à utiliser les mécanismes de décisions d'Actiona. Les points étudiés sont :
- Les différents types de conditionnelles
- Leur utilisation
- Les bonnes pratiques à avoir pour une utilisation efficace
Qu'est-ce qu'une conditionnelle ?
On appelle "système conditionnel" un système capable de prendre des décisions. De nombreuses fois, il est nécessaire au cours d'un programme de choisir entre plusieurs solutions : par exemple, on veut récupérer, entre deux valeurs a et b, la valeur la plus haute. La condition serait "Si a > b, alors a sinon b". Basiquement, on peut énoncer une conditionnelle à partir du moment où on peut dire "Si". Le résultat d'une conditionnelle sera toujours "si oui" ou "si non". On dit qu'une conditionnelle renvoie une valeur booléenne : soit vrai, soit faux.
Dans les langages de programmation cette notion est fondamentale et essentiellement liée aux variables. Il n'est d'aucun intérêt de tester une condition telle que "Si 4 = 4", vu que l'on sait déjà que le résultat sera "vrai". Par contre, si l'on teste un variable "number" avec la même conditionnelle "Si number = 4", alors l'outil devient intéressant car on ne sait pas à l'avance quel sera la valeur de "number".
On peut imbriquer les conditions : "Si number > 0 ET Si number < 10 alors…" nous permet de déterminer si "number" est entre 1 et 9. On peut mettre dans une conditionnelle toute instruction renvoyant un booléen, et combiner les résultats de façon à obtenir l'effet souhaité. On appelle cela Algèbre de Boole.
L'action Condition de variable
Vérifier un nom simple
Dans Actiona, la majorité des conditionnelles est traitée grâce à l'action Condition de variable. Cette action est simple : elle compare deux variable et, en fonction du résultat, vous dirige vers une ligne ou une autre, l'exécution d'un code ou le lancement d'une procédure.
Pour mettre en pratique cette action, commençons par créer un nouveau script. Dans ce script, nous allons chercher à faire un petit questionnaire qui cherchera à vérifier si le nom entré correspond à celui d'"Actionaz" (ancien nom du logiciel).
Pour faire notre script nous allons donc recourir à 4 actions :
- Une action Entrée de texte, dans laquelle nous allons poser la question.
- Une action Boite de dialogue qui s'affiche si la réponse correspond.
- Une action Boite de dialogue qui s'affiche si la réponse ne correspond pas.
- Une action Condition de variable qui va déterminer si la réponse est bonne ou pas.
Nous allons paramétrer nos actions de la manière suivante :
L'action Entrée de texte
Nous posons la question "Quel est le nom de l'application ?" puis nous récupérons la réponse dans la variable "nomLogiciel"
La Boite de dialogue "VRAI"
La Boite de dialogue "FAUX"
Cette boite de dialogue doit s'afficher si la réponse contenue dans "nomLogiciel" n'est pas "Actionaz".
La Condition de variable
L'action Condition de variable étant inédite jusqu'à maintenant, nous allons en décrire les paramètres :
- Variable : la variable à tester (inutile de mettre le symbole '$' devant puisque l'on sait qu'il s'agira d'une variable).
- Comparaison : l'outil de comparaison utilisé. Ici, ce sera l'opérateur '=' mais cela peut être '<', '>' etc…
- Valeur : la valeur à laquelle comparer la variable employée. La valeur doit être du même type que la variable et peut bien sûr être le contenu d'une autre variable.
- Si égal : si le résultat de la comparaison est VRAI, alors le script se poursuivra sur la ligne indiquée.
- Si différent : si le résultat de la comparaison est FAUX, alors le script se poursuivra sur la ligne indiquée.
Vous noterez que les lignes indiquées ne correspondent pas aux boîtes de dialogue où l'on doit se diriger, et pour cause pour l'instant notre conditionnelle se trouve à la fin du script. Pour qu'elle ait une véritable utilité, nous allons la placer en deuxième position, comme suit :
A présent nous pouvons exécuter notre script. S'affiche donc en premier :
Nous validons la réponse standard car nous voulons voir s'afficher le message pour une valeur vraie. S'ensuit donc :
Bingo ! Nous avons bien le bon résultat. Cependant…
Le message pour la valeur fausse s'affiche aussi ! Pourquoi ? Simplement que l'on n'a jamais dis au programme de s'arrêter après avoir obtenu la bonne boîte de dialogue ! Rappelez-vous : le script ne s'arrête que s'il ne reste aucune action à effectuer. Alors comment stopper le programme lorsque l'on arrive à la boîte de dialogue "VRAI" ?
La condition d'arrêt
Pour cela, nous allons utiliser un nouveau type d'action : l'action "Stop".
Cette action permet de dire au script de s'arrêter une fois cette instruction atteinte. Elle prend tout son sens ici car nous allons nous en servir pour arrêter le script une fois la boite de dialogue "VRAI" atteinte. Modifiez donc le script de cette façon :
Si vous exécutez le script, ce coup-ci aucune boite "indésirable" ne s'affiche.
Sauf que…
Essayez d'exécuter le programme à nouveau mais en mettant une autre réponse qu'"Actionaz". Le script se termine aussitôt, sans montrer de boite de dialogue.
Lorsqu'on y réfléchit, nous avons demandé à notre conditionnelle de nous envoyer à la ligne 004 du script si la réponse est fausse. Or, cette position n'est plus utilisée par la boite de dialogue, mais par l'action Stop !
Alors que faire ?
Les labels
En réalité, utiliser des lignes comme référence dans les conditionnelles est une mauvaise idée. Lorsque vous créerez vos propres scripts, vous aurez tendance à le modifier souvent, et donc à changer constamment l'ordre des lignes. Imaginez un instant un script avec une dizaine de Condition de variable à mettre à jour dès que vous insérez une ligne !
Pour contrer ce problème, Actionaz possède un système de "labels", qui permet de démarquer une ligne des autres afin d'être appelée par les conditionnelles plus facilement.
Pour les utiliser, double-cliquez sur les numéros associés aux lignes des boites de dialogue, dans la colonne "Ligne / ID". Vous pouvez à présent éditer ces numéros. Remplacez-les par les labels "vrai" et "faux", respectivement associés aux boites de dialogue VRAI et FAUX. Vous devez obtenir ceci :
A présent, modifions les paramètres de la Condition de variable :
Ici nous avons remplacé les lignes de tout à l'heure par les labels que nous venons d'écrire.
Relançons le script à présent. Cette fois-ci, tout ce déroule à merveille !
L'action Condition Temporelle
Nous avons vu la Condition de variable. Passons maintenant à une conditionnelle moins utilisé : la Condition temporelle.
Une condition temporelle ne compare pas de variable, mais deux dates et heures : celles que vous indiquez, et celles qui sont actuelles. En fonction du résultat de la comparaison, comme la Condition de variable, vous pouvez diriger le script vers tel ou tel ligne.
L'action Condition temporelle se paramètre de cette façon :
Voyons les paramètres en détails :
- Date : la date et l'heure que vous voulez comparer à la date et l'heure courante.
- Si avant : Si l'on est avant la date et l'heure indiquée, aller à la ligne indiquée
- Si maintenant : Si l'on est pendant la date et l'heure indiquée, aller à la ligne indiquée
- Si après : Si l'on est après la date et l'heure indiquée, aller à la ligne indiquée
Pour une fois, n'écrivez pas directement la date inscrite dans l'image, mais une date un peu plus proche de la votre. Une minute plus tard, par exemple.
Placez l'action à la fin de votre script, puis exécutez-le.
Essayez de rentrer un nom faux pour le programme : la boite de dialogue FAUX apparaît alors, puis… on revient à la ligne d'Entrée de texte. En fait, le script est écrit ici de façon à "boucler" tant que l'on n'a pas dépassé l'heure indiquée dans la Condition temporelle.
Patientez le temps de dépasser la valeur indiqué, puis recommencez. Cette fois-ci, le programme se termine.
Sans le savoir, vous venez ici de faire votre premier branchement conditionnel, ou "boucle". Nous verrons plus en détail cet outil dans le prochain tutoriel.
Téléchargements
Vous pouvez télécharger ici les scripts utilisés dans le tutoriel :