[..] Calcul de boucle?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ethneldryt
Status : Hors ligne

[..] Calcul de boucle?

#1

Message par ethneldryt »

Bonjour j'essaie :

Code : Tout sélectionner

$tot=0
while 1
    $retot=$tot+1
    MsgBox(0,"",$retot)
wend
mais ça ne marche pas , pourquoi?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Calcule de boucle?  

#2

Message par ani »

l'exemple while...wend repris dans l'aide

Code : Tout sélectionner

$i = 0
While $i <= 10
    MsgBox(0, "Value of $i is:", $i)
    $i = $i + 1
WEnd

donc en reprenant cette exemple, ton exemple deviend ceux-ci

Code : Tout sélectionner

$tot = 0
While 1
    MsgBox(0, "la valeur de $tot vaut :", $tot)
    $tot = $tot + 1
WEnd

la variable retot te renverra tout le temp zero zero zero
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Calcul de boucle?

#3

Message par Tlem »

Je rectifie ce que ani vous à dit (la variable $retot ne vous renverra pas tout le temp zéro zéro zéro mais 1) :

En réalité dans le code que vous donnez, vous utilisez 2 variables.
- $tot qui est égal à zéro
- $retot qui est égal à $tot + 1 soit 0 + 1 soit ... 1 !!!

Comme la variable $retot n'est jamais incrémentée, elle est à chaque boucle égale à 0 + 1 et donc c'est pour cela que vous avez 1 pour seul et unique résultat.

Pour compléter la démonstration de ani, il est aussi possible de faire ceci :

Code : Tout sélectionner

Dim $retot
while 1
    $retot += 1
    MsgBox(0,"",$retot)
wend
Par contre, il est obligatoire de déclarer la variable $retot avant.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre