Page 1 sur 1

[R] Problème d’addition de variable ?!

Posté : ven. 28 oct. 2011 11:37
par Nxb
Bonjour à tous , Je viens de commencer l'autoIT grâce au Tutorial sur Sdz.

Voila mon problème :

Code : Tout sélectionner

Global $text = "Bonjour c la :"
Global $chiffre = 0
Global $un = 1
Global $motcomposer = ''
While 1
    _somme($chiffre)
    $motcomposer = $text & $chiffre
WEnd

Func _somme($g)
    Return $g = $g + $un
EndFunc
 
Ce programme est censé renvoyer :

Bonjour c la 1
Bonjour c la 2
...

Mais sa ne marche pas je comprends pas pourquoi ? :!: sans doute une erreur énorme de débutant ! :(
J'ai aussi assez avant de pas crée la variable $un et juste faire +1 mais même chose :arrow:
Merci pour vos réponse d'avance

Nxb

Re: [R] Problème d’addition de variable ?!

Posté : ven. 28 oct. 2011 11:55
par ZDS
Bonjour.

Modifie tout d'abord ton titre ([R] signifie que ton problème est résolu, ce qui n'est pas le cas, si? Mets [..] à la place)

Sinon, voici une correction possible :
1- Tu dis que ton script ne retourne rien, mais tu n'as mis aucune fonction permettant d'afficher du texte ! Exemple, MsgBox, TrayTip, ToolTip, ConsoleWrite, ...
2- Ta fonction _somme pose de nombreux soucis :
2.1- Tu passes la variable $g en parametre alors qu'elle est déjà en variable globale, donc il en crée une seconde en locale (ou pas, je ne sais plus, mais dans tous les cas, c'est une erreur de conception en terme de recouvrement de code).
2.2- Tu fais un return dans le corps de la fonction, mais dans l'appel tu ne récupères pas la valeur.
2.3- Dans ton return tu fais un return $g = $g + $un, Autoit interprete ça comme une equation à vérifier, et non une affectation ! C'est comme si en Java tu faisais return (g == g + un);

Bref, avant de continuer, je te conseille de relire le tout début du tutoriel du SdZ, car je pense que tu pourrais en apprendre beaucoup (je ne suis pas là pour me foutre de toi, je tente de t'aider sur non pas "une erreur énorme de débutant", mais plusieurs énormes erreurs de débutant). Voici tout de même une correction possible :
► Afficher le texteCorrection
A bientôt.

Re: [R] Problème d’addition de variable ?!

Posté : ven. 28 oct. 2011 11:56
par Ahbadiane
Bonjour NxB
Voici une version corrigée et commentée

Code : Tout sélectionner

Global $text = "Bonjour c la :"
Global $chiffre = 0
Global $un = 1
Global $motcomposer = ''
While $chiffre < 999 ; Mettre une condition de fin sinon le programme va tourner indéfiniment
    $chiffre = _somme($chiffre) ; affecter le chiffre à la fonction
    $motcomposer = $text & $chiffre
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $motcomposer = ' & $motcomposer & @crlf) ; Ajouter juste pour "voir" le résultat
WEnd

Func _somme($g)
    Return $g + $un ; Retourner le somme et non ($g = $g + $un) qui est un test : $g est-il égal à $g + $un ?
EndFunc

Re: [R] Problème d’addition de variable ?!

Posté : ven. 28 oct. 2011 12:22
par Nxb
Merci d'avoir résolu mon problème :D et désoler pour le [R] mais c'est juste que la dernier fois que j'ai poster une aide il a été direct a la poubelle ^^ parceque j'avais pas mit le bon titre mais apparant cette fois aussi :lol: