Page 1 sur 1

[R] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 05:06
par genaille08
bonjour

alors voila jai fait ça

Code : Tout sélectionner

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=c:\program files\autoit3\scite\koda\forms\form1.kxf
$Form1_1 = GUICreate("Form1", 286, 345, 184, 125)
$Button1 = GUICtrlCreateButton("Button1", 8, 56, 129, 49, 0)
$Button3 = GUICtrlCreateButton("Button3", 8, 112, 129, 49, 0)
$Button4 = GUICtrlCreateButton("Button4", 8, 168, 129, 49, 0)
$Button2 = GUICtrlCreateButton("Button2", 144, 56, 129, 49, 0)
$Button5 = GUICtrlCreateButton("Button5", 144, 112, 129, 49, 0)
$Button6 = GUICtrlCreateButton("Button6", 144, 168, 129, 49, 0)
$Input1 = GUICtrlCreateInput("Input1", 8, 224, 265, 21)
$Label1 = GUICtrlCreateLabel("Label1", 16, 8, 36, 17)
$Icon1 = GUICtrlCreateIcon("", 0, 168, 0, 97, 49, BitOR($SS_NOTIFY,$WS_GROUP))
$Label2 = GUICtrlCreateLabel("Label2", 8, 248, 36, 17)
$Radio1 = GUICtrlCreateRadio("Radio1", 24, 304, 17, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 160, 304, 17, 17)
$Label3 = GUICtrlCreateLabel("Label3", 8, 280, 36, 17)
$Label4 = GUICtrlCreateLabel("Label4", 48, 304, 36, 17)
$Label5 = GUICtrlCreateLabel("Label5", 184, 304, 36, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Func $Button1
    While $Button1
        PixelSearch ( $left, $top, $right, $bottom, $color 
        If Not @error Then
            Sleep ( 500 )
            Send ( "{F4}" )
            Sleep ( 5000 )
            Send ( "{F3}" )
            Sleep ( 1000 )
            Send ( "{F4}" )
        EndIf
    WEnd
EndFunc
le probleme c'est que quand je fait F5 j'ai un message d'erreur et je ne comprend pas pourquoi
merci d'avance

P.S. : je n'ai pas encore fait les GUICtrlCreateRadio

Re: [..] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 11:35
par Tlem
Je vous ais donné quelques conseils la dernière fois : http://autoitscript.fr/forum/viewtopic.php?p=5154#p5154

Conseils que vous n'avez toujours pas suivi !!! :?

- Règles de présentation d'un post. <= Cliquez dessus.

- Respecter aussi la structure d'un script AutoIt, ou pour finir plus personne ne vous lira !

- Dans votre script, la boucle des messages ne doit pas être utilisée comme vous l'avez fait.
Lisez ceci avant de continuer : Mode MessageLoop <= Cliquez dessus

- Ce que vous avez mis après la boucle While/Wend n'a rien à faire là, ce code doit être placé avant la boucle pour être exécuter, ou dans une ou des fonctions qui seront appelées au fur et à mesure ...

- Le fait de faire While 1 puis While 2 ... While 3 n'à aucun sens, une boucle While est une boucle infinie qui se termine si une condition est remplie, ou que vous ayez indiqué la sortie de la boucle par un Exitloop.
Un trés bon tutoriel à été réalisé ici : http://www.autoitscript.fr/forum/viewto ... f=11&t=374 <= Cliquez dessus

Enfin dernier petit conseil, si vous apportez des modifications à votre code, merci de rajouter un post à la suite de ce thread, mais d'éditer votre premier post au lieu de remettre les 144 lignes de code à chaque fois. :shock:

Re: [..] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 12:13
par genaille08
ok je suis désolé des désagrément que j'ai causé, mais je n'arrive pas a faire le rapprochement entre votre tutorial et mon script, car moi je n'ai pas de directive et je n'arrive pas a faire marcher wrapper. Puis pour vous dire j'ai 10 onglet d'ouvert sur le forum de autoit pour apprendre comment sa marche.
Le sujet sur les messageloop, j'ai beau les lire quand j'arrive a la fin, j'ai l'impression de n'avoir rien appris.
Je cherche tout simplement comment faire pour que quand j'appuie sur un bouton dans ma GUI le script puisse allé a une boucle plutôt qu'une autre car elle n'aurra pas les même caractéristique mais quand je lis le post j'ai n'arrive pas a situer ou je peux résoudre mon problème.
donc je vais continuer comme j'ai commencer : tout seul, j'y suis arrivais jusque la, je ne vois pas pourquoi ça ne continuré pas
mais par contre est ce que vous pouvez m'aider sur les message d'erreur ( car je pense que cette question n'a jamais été posé
alors en premier j'aurrais voulu savoir ce que signifie le ^ dans
"C:\Program Files\AutoIt3\Examples\les miens\fishbotv2.1.au3(50,3) : ERROR: syntax error
Exit
^"
et les "~" dans :
C:\Program Files\AutoIt3\Examples\les miens\fishbotv2.1.au3(49,25) : REF: missing Wend.
Switch $GUI_EVENT_CLOSE
~~~~~~~~~~~~~~~~~~~~~~~^

cordialment

Re: [..] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 12:22
par tolf
Le problème c'est que

Code : Tout sélectionner

Return 1
doit être utilisé dans une fonction pour retourner une valeur mais cela ne lancera pas une boucle

Code : Tout sélectionner

While 1
Il faudrait remplacer les

Code : Tout sélectionner

Return 1
par

Code : Tout sélectionner

Fonction1()
les

Code : Tout sélectionner

While 1
par

Code : Tout sélectionner

Func Fonction1()
et les

Code : Tout sélectionner

WEnd
par

Code : Tout sélectionner

EndFunc
En plus, toutes les boucles While contiennent strictement le même code donc on ne comprend pas l'utilité d'en mettre plusieurs.

Re: [..] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 13:21
par genaille08
merci bien tolf, je n'avais pas pensé a ça

comment puis je faire pour que je n'ai qu'une seul boucle avec un temps de reponse qui varie quand même ???

bon j'ai édité mon script mais j'ai toujours un message d'erreur :
C:\Documents and Settings\xxxxxxxx\Local Settings\Temp\test.au3(32,6) : ERROR: syntax error
Func $Button1
~~~~~^
C:\Documents and Settings\xxxxxxxx\Local Settings\Temp\test.au3 - 1 error(s), 0 warning(s)
pourquoi ??? pourquoi ??? pourquoi ???
s'il vous plait aidez moi :cry:

Re: [..] Ma GUI affiche un message d'erreur

Posté : dim. 11 mai 2008 15:00
par Tlem
@genaille08
A ce stade de votre apprentissage, nous ne pouvons pas vraiment vous aider, car vous confondez commandes, fonctions, variables ...

Nous ne pouvons pas faire une formation sur mesure à chaque utilisateur qui commence à apprendre l'utilisation de AutoIt, vous devez d'abord lire la documentation, les différents tutoriels et les quelques exemples du forum.

Il ne faut pas confondre vitesse et précipitation, vous devez d'abord faire votre propre apprentissage et avoir un minimum de compréhension avant de poser des questions.