Outils pour utilisateurs

Outils du site


fr:variable_use

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

fr:variable_use [2016/10/09 09:10]
fr:variable_use [2020/02/09 13:26] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Utilisation des variables ======
 +
 +===== Objectifs du tutoriel =====
 +
 +Ce tutoriel a pour but de vous apprendre à utiliser les **variables** dans Actiona. Les points étudiés sont :
 +  * Les multiples façon de déclarer une variable
 +  * Utiliser les variables et modifier leur contenu
 +  * Interagir avec les variables dans d'​autres actions
 +
 +<note important>​Ce tutoriel, comme la plupart des suivants, part du principe que vous ne connaissez aucun langage de programmation,​ et c'est pourquoi certaines bases seront ici expliquées. Si vous possédez déjà des bases de programmation,​ vous pouvez directement vous rendre à la [[variable_use#​Utilisation basique d'une variable|seconde partie du tutoriel]].</​note>​
 +
 +===== Qu'​est-ce qu'une variable ? =====
 +
 +L'​informatique,​ par définition,​ est la science de l'​information. Il faut donc pouvoir manipuler ces informations,​ afin d'​obtenir les résultats souhaités à l'​écran. Par exemple, nous possédons deux chiffres, 9 et 4, et nous voulons connaître le résultat de leur addition. Il faut pouvoir, en quelque sorte, "​stocker"​ ces deux chiffres quelque part. Idem pour le résultat. Ce "​stockage"​ est géré par ce que l'on appelle les **variables**.
 +
 +Une variable peut être à peu près tout et n'​importe quoi : il peut s'agir d'un nombre, d'un texte, d'un booléen (une valeur qui est égale à VRAI ou FAUX), et parfois même de structure plus complexe (l'​association d'un nombre et d'un texte par exemple). Chaque variable possède un nom et un type. Par exemple on peut déclarer que l'on va utiliser une variable de nom "//​number//"​ et de type "//​nombre//"​. Elle possède également une valeur. Ici on peut lui donner, par exemple, comme valeur "​9"​ puisqu'​il s'agit d'un nombre. On ne peut pas donner une valeur à une variable dont le type est différent de celui proposé.
 +
 +Les valeurs comprises dans ces variables sont destinées à être utilisées dans des opérations de calcul (ex:  9 + 4) ou d'​affichage (comme afficher le résultat dans la boîte de dialogue du tutoriel précédent).
 +
 +Les variables sont la base, dans notre programme, de la manipulation d'​informations et c'est grâce à celles-ci que nous pourront, dans Actiona, les traiter correctement.
 +===== Utilisation basique d'une variable =====
 +==== Déclarer une variable ====
 +
 +Commençons notre exemple : d'​abord,​ créons un nouveau script, puis appelons-le "//​tutoriel_2//"​.
 +
 +Nous allons à présent insérer une action particulière : l'​action **Variable**,​ qui se trouve dans la catégorie //Interne// dans la //fenêtre de nouvelle action//.
 +
 +Comme pour la boîte de dialogue, une fenêtre s'​ouvre :
 +
 +{{ :​fr:​tuto2_variable.jpg?​direct&​300 |}}
 +
 +<WRAP center round box 60%>
 +Le paramétrage d'une variable est un peu plus complexe que celle d'une boîte de dialogue. Comme expliqué, une variable comporte : 
 +
 +  * Un nom
 +  * Une valeur
 +  * Un type
 +</​WRAP>​
 +
 +
 +Ces trois informations sont celles qui doivent être entrées dans chacun des trois champs de la fenêtre. Il faut cependant retenir :
 +
 +  * Le nom de la variable **ne doit pas contenir de caractères spéciaux** ! Il est dit //​**alphanumérique**//,​ c'​est-à-dire qu'il ne doit contenir que des lettres et des chiffres. **Pas d'​accent,​ pas de ponctuation,​ pas d'​espace non plus** ! Les seuls caractères spéciaux autorisées sont "​_"​ et "​-"​.
 +  * La valeur initiale de la variable peut être //nulle//, c'​est-à-dire vide. On ne met rien.
 +  * Le type enregistré doit correspondre à celui de la valeur initiale (sauf si celle-ci est nulle).
 +
 +Rentrez par défaut les valeurs écrites dans l'​image,​ puis validez. Votre script comporte à présent une belle action Variable à son sommet.
 +
 +==== Utiliser une variable dans une autre Action ====
 +
 +Ajoutez à présent au script une action "Boite de dialogue"​ comme pour le premier tutoriel. Nous allons tenter d'​utiliser notre variable fraîchement "​instancié"​ dans notre boîte de dialogue. Le plus logique serait de mettre dans le champ "​Message"​ le nom de notre variable ("​unMessage"​) de façon à voir apparaître son contenu. Faisons ça.
 +
 +Votre script contient deux actions. Nous pouvons maintenant l'​exécuter.
 +
 +Sauf que, la boite qui apparaît alors...
 +
 +{{ :​fr:​tuto2_unmessage.jpg?​direct&​ |}}
 +
 +Au lieu du contenu de la variable, c'est son nom qui apparaît. Normal, puisque nous n'​avons pas indiqué à Actiona qu'il s'​agissait d'une variable, donc celui-ci croit que l'on veut afficher un texte !
 +
 +Afin qu'​Actiona puisse différencier les variables des autres valeurs, il est nécessaire d'​ajouter devant le nom le symbole '​**$**'​
 +
 +Appliquons cette légère modification à notre exemple : double-cliquez sur l'​action "​Boîte de dialogue"​ puis paramétrez-là comme suit :
 +
 +{{ :​fr:​tuto2_boite_de_dialogue.jpg?​direct&​300 |}}
 +
 +Validez, puis à présent réessayez l'​exécution :
 +
 +{{ :​fr:​11-09-05_22_13_20.jpg?​nolink&​ |}}
 +
 +Nous obtenons enfin le résultat attendu !
 +
 +===== Plus loin avec les variables =====
 +==== Demander la valeur en cours d'​exécution ====
 +
 +Maintenant que nous avons vu comment créer une variable directement dans le script, nous allons voir comment l'​instancier **pendant l'​exécution**.
 +
 +Pour ce faire, commencez d'​abord par sauvegarder une copie du script précédent et appelez-le "//​tutoriel_2-2//"​.
 +
 +Puis dans ce script, ajoutez l'​action "//​Entrée de texte//"​. Il s'agit d'une boîte un peu plus sophistiquée,​ que vous avez déjà dû croiser dans certaines applications très connues. Cette boîte vous demande simplement d'​écrire du texte. Et devinez où ce texte sera écrit ? Dans une variable !
 +
 +Paramétrez l'​action comme suit :
 +
 +{{ :​fr:​11-09-05_22_21_13.jpg?​direct&​ |}}
 +
 +<WRAP center round box 60%>
 +Décrivons les paramètres :
 +
 +  * **Question** : la question posé par la boîte de dialogue. En somme, quelle information doit être entrée.
 +  * **Valeur par défaut** : la valeur écrite par défaut dans la zone de texte. Bien sûr, ce paramètre peut rester vide.
 +
 +  * **Variable** : le nom de la variable dans laquelle la réponse sera stockée.
 +</​WRAP>​
 +
 +
 +Vous avez dû remarquer deux choses : la première, que le paramètre "​Variable"​ est coloré en jaune tandis que les autres sont colorés en bleu. La seconde, c'est que l'on n'a pas mis de '​$'​ au nom de notre variable. ​
 +C'est tout à fait normal. Une variable est un paramètre dit de "​**sortie**",​ alors que les autres sont des paramètres d'"​**entrée**"​.
 +
 +Un **paramètre d'​entrée** est un paramètre qui "​entre"​ dans l'​action,​ qui est utilisé par l'​action.
 +Un **paramètre de sortie** est un paramètre qui "​sort"​ de l'​action,​ qui est renvoyé par l'​action appelée.
 +
 +Notre action ici prend en entrée une question et une valeur par défaut, tandis qu'​elle "​sort",​ qu'​elle renvoie à l'​application la réponse de l'​utilisateur du script.
 +
 +Un paramètre de sortie sera presque toujours une variable. Et comme Actiona sait que vous allez rentrer un nom de variable (c'est la définition même de ce paramètre),​ il est inutile de mettre un '​$'​ pour le spécifier.
 +
 +<note tip>Vous avez dû noter également que l'on n'a pas déclaré de variable de nom "​unTitre",​ dans notre exemple, à l'aide d'une action Variable. A vrai dire, c'est inutile. ​
 +Lorsque vous inscrivez un nom de variable dans ce genre de champ, Actiona vérifie si la variable existe ou non. Si elle existe, sa valeur est remplacé par celle de l'​action,​ mais si elle n'​existe pas, elle est **créée** et instanciée avec cette même valeur</​note>​
 +
 +{{ :​fr:​11-09-05_22_19_37.jpg?​direct&​ |}}
 +
 +Votre script possède maintenant trois actions. Notre variable "​unTitre"​ n'est cependant pas encore utilisé. Pour changer cela, double-cliquez sur l'​action "Boite de dialogue"​ de votre script pour la modifier puis remplacez le titre par le contenu de votre variable : **$unTitre**.
 +
 +Vous pouvez maintenant exécuter votre script. Sauf que ce petit message apparaît dans la console...
 +
 +{{ :​fr:​tuto_2_errortitre.jpg?​nolink&​ |}}
 +
 +Pourtant, notre variable a bien été créée par l'​action Entrée de texte, alors qu'​est-ce qui cloche ?
 +
 +En fait la réponse ici est très simple : nous avons utilisé notre variable **avant** qu'​elle ne soit déclaré ! Notre boîte de dialogue cherche à afficher son titre avant même qu'il n'​existe.
 +
 +Pour corriger ce petit détail, nous allons tout simplement déplacer l'​action "​Entrée de texte"​. Pour ce faire, vous pouvez soit prendre l'​action déjà créée et la glisser en haut du script, soit la sélectionner et utiliser les petites flèches de la barre d'​outils qui permettront d'en inverser les positions. Au final vous devez obtenir ceci :
 +
 +{{ :​fr:​11-09-05_22_19_49.jpg?​direct&​ |}} 
 +
 +Exécutez votre script à présent. Cette fois-ci, la boite d'​entrée de texte devrait apparaître :
 +
 +{{ :​fr:​11-09-05_22_21_28.jpg?​direct&​ |}}
 +
 +Puis après validation, la boite de dialogue :
 +
 +{{ :​fr:​11-09-05_22_21_36.jpg?​direct&​ |}}
 +
 +<note important>​Notez ici que le titre n'est pas toujours entièrement visible. En fait sous Windows, la boite de dialogue se redimensionne en fonction du texte écrit à l'​intérieur mais pas par rapport à son titre ! Pour garder une boite lisible donc, évitez de mettre un titre plus long que la phrase que vous avez à dire.</​note>​
 +
 +Parfait ! A présent vous savez utiliser les variables sous Actionaz. Prochaine étape : les conditionnelles.
 +
 +===== Téléchargements =====
 +
 +Vous trouverez ici les scripts utilisés pour réaliser ce tutoriel :
 +
 +<WRAP center round download 60%>
 +  * {{:​fr:​tutoriel_2-1.ascr|Script Tutoriel 2-1 : les fondamentaux}}
 +  * {{:​fr:​tutoriel_2-2.ascr|Script Tutoriel 2-2 : les déclarations dynamiques}}
 +</​WRAP>​