Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses. Page 1 sur 2
Aller à la page: 1, 2  >
[Tuto] Tutoriel sur les variables
Auteur Message
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Bonjour,

Pour utiliser Autoit correctement, vous devrez maîtriser la gestion des variables. Que diriez-vous de commencer maintenant ?
(Si vous ne comprenez pas une fonction ou vous voulez en savoir plus, appuyez sur F1 pour accéder à l'aide (en anglais, mais très utile) sur SciTE4AutoIt.)

Tout d'abord qu'est-ce qu'une variable ?

C'est tout simplement une valeur (du texte ou des nombres) que vous pouvez changer n'importe quand dans le programme. Vous connaissez sûrement comment on écrit des variables en batch;

Code:
%variable%


Et bien en autoit, on met juste un dollar devant le nom de la variable;

Code:
$variable


Bon, mais alors comment les utiliser Question

Tout d'abord il vous faudra déclarer la variable en lui donnant une valeur (ou non). Mais ce qui est bien, c'est que le type de variable numérique est automatiquement détecte par autoit. La syntaxe est très simple :

Code:
$variable = 2


Ici, la variable vaut 2, mais comme je le disais avant, on est pas obligé de leurs donner une valeur (mais c'est mieux), tant qu'on l'a déclarée avant de l'utiliser. Et on la déclare comme ceci :
Code:

Global $variable1


Ici, la variable sera déclarée dans tout le programme et on pourra même l'utiliser depuis un script externe ou un UDF.

Ou alors, on peut faire :

Code:
Local $variable1


Mais ici la variable sera valable dans tout le programme . Et si elle placée est dans une fonction, elle sera déclarée dans toute la fonction seulement.

Et aussi :

Code:
Dim $variable1


Là, elle sera déclarée dans tout le programme Uniquement.

Et pour l'afficher Question

Comme nous ne somme pas en invité de commande, il faut créer une fenêtre et afficher la variable à l'endroit voulu. Pour le faire facilement, vous pouvez utiliser KodaFormDesigner disponible ici, et dessiner votre GUI (interface). Un tutoriel pour utiliser ce logiciel est en préparation, mais ne vous inquiétez pas, ce n'est très compliqué.

Sinon, vous pouvez aussi afficher la variable dans une popup, c'est plus simple, mais moins joli Very Happy

Donc la syntaxe pour afficher une variable dans une fenêtre est :

Code:

#include <GUIConstants> ;on inclut le fichier GUIConstants.au3 pour faire la fenêtre.
$fenetre = GUICreate("titre", 191, 71, 193, 125) ;on indique le nom etla taille de la fenêtre.
$Hello = GUICtrlCreateLabel("Hello", 80, 24, 28, 17) ;on affiche le texte dans la fenêtre
GUISetState(@SW_SHOW) ;on active la fenêtre
While 1 ;début de la boucle infinie
   $nMsg = GUIGetMsg()
   Switch $nMsg ;on active un switch
      Case $GUI_EVENT_CLOSE ;si on appuie sur la croix alors ;
         Exit ;la fenêtre se ferme.
   EndSwitch ;fin du switch
WEnd ;fin de la boucle


On peux voir que c'est pas très pratique à créer sans utiliser le logiciel Koda.

Pour afficher une variable dans une popup, c'est :

Code:
$variable = "Hello world" ,création de la variable qui vaut le texte "Hello world", (on pourrait afficher directement le texte dans la popup sans utiliser la variable, mais le sujet de ce tuto, c'est les variables)
MsgBox(0,"titre", $variable) ;création de la popup avec ses paramètres


Donc un peu plus simple, mais cela ne convient pas à tous les scripts.

Les variables sont aussi utilisées pour les calculs.

Petit exemple :

Code:
$variable1 = 4
$variable2 = 5
$variable3 = $variable1 * $variable2
Msgbox(0,"La variable vaut : ",$variable3 );on affiche la variable qui vaut 20


Mais les variables peuvent également être demandées à l'utilisateur.

Code:
$variable1 = Inputbox("titre","Quel nombre voulez vous diviser par 10 ?") ;la variable1 vaut ce qu'a entré l'utilisateur dans popup.
$variable3 = $variable1 / 10 ;calcul de la nouvelle variable
Msgbox(0,"titre","La variable vaut : "& $variable3) ;on affiche la nouvelle variable


Et les variables sont très souvent l'objet de fonctions. C'est à dire que la variable peut subir des modification comme s'inverser, enlever des lettres, couper, crypter, etc...

Il en existe beaucoup de ces fonctions, voici un petit exemple :
Code:

$variable1 = inputbox("titre","Quel lettre du mot Autoit voulez vous censurer par une étoile ?") ;on demande une lettre à l'utilisateur
$variable3 = StringReplace("Autoit",$variable1,"*") ;on remplace les lettres choisies par des étoiles avec la fonction StringReplace
Msgbox(0,"La variable vaut :", $variable3) ;on affiche la variable avec une popup


Une dernière chose qui pourra vous servir, ce sont les macros. Ce sont des variables que vous n'avez pas besoin de déclarer et qui sont en lecture seule. Elles se différencient facilement des variables normales car c'est un @ qui est avant leur nom et pas un $.

Par exemple :

Code:
Msgbox(0,"horloge", "Il est " & @HOUR & "h " & @MIN ) ;on affiche une popup avec l'heure et les minutes grâce à des macros (@HOUR et @MIN) qu'on concatène avec du texte.


Il en existe beaucoup de ces macros, (erreur de la fonction, chemin du répertoire Temp ou des programmes, OS, date, etc...) vous trouverez une liste complète de ceux-ci sur ce lien : http://www.autoitscript.com/autoit3/docs/macros.htm

Nous ne verrons pas les arrays (tableaux de variables à une ou plusieurs dimensions) dans ce tuto, mais un spécial pour les arrays sera peut-être fait plus tard.

Voilà, vous avez fini ce tutoriel, vous pouvez à présent, suivre celui des boucles ici ou celui des conditions, qui sera bientôt posté. Si vous avez des remarques ou des questions, n'hésitez pas.




______________________________________________________
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Bonjour Sablier94

Merci pour le tutoriel, justement je n'arrivais pas à faire la différence entre Global, Local, Dim pour la déclaration des variables.

Pourrais tu faire une exemple de code sur cette différence ?

Merci Very Happy

Laddy




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Salut,

Si tu as besoin de faire une déclaration de variable et que ta variable ne sortira pas du programme, utilise Dim. Si tu veux la récupérer ailleurs, utilise Global. (local est pareil que Dim, mais déclaré dans une variable, il l'est seulement dans celle-ci et non pas dans tout le programme. Comme ça, tu ne devrait pas te tromper. Par contre, je vois mal quel script faire pour montrer la différence...

++




______________________________________________________
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Coucou
regarde mon projet CloneVDIManage j'utilise Global et Local dans une fonction, je pense que ça pourrait servir d'exemple non ? ou ai-je faux ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Hello Very Happy
Mais j'ai une question, comment fait-on pour que dans une variable on puissent mettre du texte + une variable dans une autre variable ?
Ex :
Code:
Local $variable2 = test$variable1

Merci d'avance.
A plouch !




______________________________________________________

Skype
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Bonjour

Code:

$variable = "toto"
$variable1 = $variable
$variable2 = $variable1 &"toto"

msgbox(0,"",$variable &@CRLF &$variable1 &@CRLF &$variable2)





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Merci mais j'ai pas tout compris ^^'
Voilà la partie où je plante de mon programme
Code:
func _aleatoire()
   Global $ale
   _RandomUnique($ale,1,9)
   Local $Button = "Button" &$ale
   If GUICtrlGetState($Button) = $GUI_ENABLE then
    GUICtrlSetData($Button, "X")
    GUICtrlSetState($Button, $GUI_DISABLE)
 Else
      _RandomUnique($ale,1,9)
    Local $Button = "Button" &$ale
    If GUICtrlGetState($Button) = $GUI_ENABLE then
     GUICtrlSetData($Button, "X")
     GUICtrlSetState($Button, $GUI_DISABLE)
  Else
      _RandomUnique($ale,1,9)
      Local $Button = "Button" &$ale
      If GUICtrlGetState($Button) = $GUI_ENABLE then
       GUICtrlSetData($Button, "X")
         GUICtrlSetState($Button, $GUI_DISABLE)
   Else
   EndIf
  EndIf
 EndIf
EndFunc





______________________________________________________

Skype
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Merci de créer ton sujet pour expliquer ton probleme. et pour tester il nous faudrait le code entierement.
Indique le message d erreur entierement aussi retourné par la console.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Ok mais justement il n'y a absolument aucun message d'erreur !




______________________________________________________

Skype
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Laddy a écrit:
Merci de créer ton sujet pour expliquer ton probleme. et pour tester il nous faudrait le code entierement.
Indique le message d erreur entierement aussi retourné par la console.





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Je lisais le tuto du siteduzero sur l'autoIT..

Et je bloque sur les Variables & c'est pareil avec tous les langages de programmation & du-coup sa me décourage surtout que je n'ai aucunes patiences :X !

J'avais commencer à apprendre le C++, abandonné arrivé au Variable, & maintenant l'autoIT & sa me refais pareil !

Pourtant, on m'a dit que c'était un des langages les plus simples à apprendre & qu'on peut faire énormément de chose avec :X !


J'ai beau lire ce Tuto mais je ne comprend rien Razz !

Sa serais mon manque de Concentration ? Patience ? et le faits d'être décourager quand on à des erreurs alors qu'on a galérer sur un mini programme ? x)




______________________________________________________
Débutant en programmation Batch.

Joueurs de Mount & Blade Warband.

_@Dosdini_
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Quel est précisément ce que tu ne comprend pas ?

Le fonctionnement des variables ? leur portée ? ou autre chose ?




______________________________________________________
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Hello,

Sache que dans la programmation il est presque indispensable d'être patient et d'être a son maximum de concentration.
Sans cela, tu vas ragé toute les 5 secondes devant ton PC avant de le jeter par dessus la fenêtre Laughing .

Plus sérieusement, si tu n'y arrive vraiment pas, je serais vraiment content de pouvoir t'aider car étant formateur, c'est un peu mon boulot Mr. Green

Je te propose un petit cour par skype.
Si tu es d'accord, envoi moi une invitation sur skype:

Merci,
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
sablier94 : Tout x)...


rekaca : xD quand même pas, vue le prix je vais éviter de le jeter par la fenêtre Laughing . Cours par skype sa me tente bien ! Je t'ajoute et merci Smile !




______________________________________________________
Débutant en programmation Batch.

Joueurs de Mount & Blade Warband.

_@Dosdini_
Répondre en citant
Message [Tuto] Tutoriel sur les variables 
Hello,

Je t'est accepté sur skype, je te contacterez lorsque je serais dispo.

£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Message [Tuto] Tutoriel sur les variables 


Montrer les messages depuis:
Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses. Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch