les variables

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Leplayze

Frite...euse (jeu de mot)
V
Ancien staff
Dec 4, 2009
12,647
5
1,303
30
www.youtube.com
merci d'avance a bouh2 pour ce tuto

Dans un langage de programmation, une variable est un espace de stockage pour un résultat.[/i]
Wikipedia.

Il faut comprendre par là qu'une variable c'est une boite avec quelque chose dedans, que l'on peut prendre,
modifier, changer, utiliser, remplace.

Pour donner un exemple concrêt, on peut prendre une boite ( une variable ), nommée $temps, on lui donne une
valeur, $temps = @HOUR ( Ce qui correspond à l'heure de l'horloge )
On la modifie $temps = $temps + 1, on l'utilise msgbox(0,"L'heure","Il est " & $temps & " heure à Athènes ")
De fils en aiguille on a déjà créé un programme !
On peut avoir l'heure d'Athènes !

Résumons :
Code:
$temps = @HOUR ; on donne une valeur à la variable
$temps = $temps + 1 ; on lui ajoute 1
msgbox(0,"L'heure","Il est " & $temps & " heure à Athènes ") ; on l'affiche

Maintenant que le fonctionnement est compris, il faut savoir l'utiliser au bon moment, il est souvent utile
d'utiliser des variable ne serais-ce que pour modifier rapidement une valeur, ou pour le rendre utile à plus
de monde.( Tout le monde ne veux pas forcement l'heure à Athène ! )

Alors on modifie le programme pour plus de souplesse, voilà une version qui pourrait être final !

Code:
$x = inputbox("Combien?","Entre le décalage entre notre heure et celle du pays")
$pays = inputbox("Où?","Entre le nom du pays")
$temps = @HOUR ; on donne une valeur à la variable
$temps = $temps + $x ; on lui ajoute le décalage

msgbox(0,"L'heure","Il est " & $temps & " heure à " & $pays) ; on l'affiche

La forme $Variable = Inputbox(*) donne à la variable la valeur de ce que vous avez entrez dans la boite.
Voilà, vous savez comment utiliser des variables !



La déclaration de variable.


Maintenant que vous savez à quoi ça sert, voyons comment les introduire de façon propre dans un code, le
mieux est de réserver un espace en début de code pour définir des variables, aussi bien leurs noms que
parfois leurs valeurs.

Il y a trois façon de déclarer une variable, la déclaration general, la déclaration local, et la déclaration
intermediaire.

Je m'explique, dans un code, il y a souvent plusieurs fonction ( ne serais-ce que pour la clareté et la
comprehension, c'est plus propre, d'autant plus qu'en AutoIt il n'y a pas de Goto )
Si on souhaite définir une variable qui sera active tout le long du scipte, il faudra la faire général, via
la commande Global, on procède ainsi

Global $"Nom de la variable" [Optionnelement sa valeur de départ]

soit à l'exemple :
Code:
Global $temps = @HOUR
Si une variable est utilisé que pour une unique fonction, on peut la rendre local, via la commande Local
Code:
Local $temps = @HOUR
et enfin, la commande Dim qui cherche si la variable est déjà défini globalement ou non, et qui la crée si
besoin
Code:
Dim $temps = @HOUR

Il reste nettement plus simple d'utiliser Global à chaque fois :]
On obtient un code comme cela à présent :

Code:
Global $temps = @HOUR
temps() ; On execute la fonction temps 
func temps() ; qui se trouve là
	Dim $x
	Dim $pays
	$x = inputbox("Combien?","Entre le décalage entre notre heure et celle du pays")
	$pays = inputbox("Où?","Entre le nom du pays")
	$temps = @HOUR ; on donne une valeur à la variable
	$temps = $temps + $x ; on lui ajoute $x
	msgbox(0,"L'heure","Il est " & $temps & " heure à " & $pays) ; on l'affiche 

endfunc ; fin de la fonction

Et d'ailleur, il est facile de gagner une ligne de code en regroupant $x et $pays, de la sorte
Code:
Dim $x, $pays

Vous savez à ce stade ce qu'est une variable, comment l'utiliser, où et comment les créer et les introduires !


Les tableaux de variables


à présent on va créer une variable qui tient plusieurs valeurs,
Par exemple, la prise d'une position renvoit sur une variable à deux valeurs,
On va illustrer avec un exemple, car les mots me manquent, prenons la position de la souris, enregistrons
la, et afficher les coordonnées dans une boite de message.
Code:
$coord = MouseGetPos() ; prise de pos
Msgbox ( 0 , " Information ", " Votre curseur est en " & $coord[0] & " sur l'axe des abscisse et en " & 
$coord[1] & " sur l'axe des ordonnés ") ; On affiche $coord[0] la pose en x, $coord[1] la pose en y

Tout ça pour dire que la variable $coord à deux valeurs, $coord[0] et $coord[1].

Oh, mais j'éspère que vous avez remarqué quelque chose quand même !

Je n'ai pas déclarer ma variable !
Pour ce, il faut déclarer la variable comme il suis :

Global $variable[nombre de valeur max]


Soit pour notre exemple

Code:
Global $coord[2] ; car il y a deux valeurs, 0 et 1 !
Voilà donc, le code final donnerais:

Code:
Global $Coord[2] ; Ici il faut obligatoirement déclarer deux variables dans $coord
$coord = MouseGetPos()
Msgbox ( 0 , " Information ", " Votre curseur est en " & $coord[0] & " sur l'axe des abscisse et en " & 
$coord[1] & " sur l'axe des ordonnés ")




Voilà un exemple final qui regroupe tout les détails de ce tuto :


Code:
Global $coordx[6], $coordy[6], $co[2], $x

PrisePos()

func PrisePos() ; prise des pos

for $x = 0 to 5 step 1

msgbox(0,"Info","Placez votre curseur sur le premier point à prendre puis appuyez sur Entrer")
sLeep(50)
$co = MouseGetPos()
$coordx[$x] = $co[0]
$coordy[$x] = $co[1]

next

$x = 1

for $x = 0 to 5 step 1
msgbox(0,"Info","Le point numero " & $x & " est situé en " & $coordx[$x] & " / " & $coordy[$x] )
next

endfunc

Source : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Faire un don à cadernis : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!