Page 1 sur 1

[R] Je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 12:27
par Utilisateur 3643 supprimé
bonjour, voici mon problème: Dans mon script il ya a une fonction pour envoyer des mails mais jai ajouté un button mais je ne sais pas ou le mettre ou comment adapter mon script

voici mon une partie de mon script:

Code : Tout sélectionner

While 1
    $s_FromName = "test@live.fr"
$s_FromAddress = "test@live.fr"
$s_ToAddress = "test@live.fr"
$Subject="test"
$msg = GUIGetMsg()
    If $msg = -3 Then
        DirRemove(@TempDir & "\ATP\ATP_Mailer", 1)
        GUIDelete($Form1)
        ExitLoop
    EndIf
    If $msg = $Button1 Then
            DirCreate(@TempDir & "\ATP\ATP_Mailer")
            InetGet("http://arrkhan.free.fr/fai.php", @TempDir & "\ATP\ATP_Mailer\smtp")
        GUICtrlSetState($Button1, $GUI_DISABLE)
        $s_SmtpServer = FileRead(@TempDir & "\ATP\ATP_Mailer\smtp")
        $s_Subject = "test"
        $as_Body[0] = "test"
        $Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body,"",-1)

        If $Response = 1 Then
            MsgBox(0, "", "reussis", 2)
            DirRemove(@TempDir & "\ATP\ATP_Mailer", 1)
        Else
            MsgBox(0, "error", "No internet connection", 5)
            GUICtrlSetState($Button1, $GUI_ENABLE)
            Exit
            EndIf
        Sleep(10)
    EndIf
    WEnd
et je voudrait rajouter:

Code : Tout sélectionner

Case $Close_Gui
Exit

Re: [..] je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 13:27
par TT22
Tu pourrais nous donner ton script entier (avec la partie qui crée la GUI) ?

Re: [..] je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 13:35
par Baku
Case s'utilise avec un Switch hein ! ^^

http://www.autoitscript.fr/autoit3/docs ... Switch.htm

Re: [..] je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 13:44
par mikell
:roll:

Code : Tout sélectionner

$msg = GUIGetMsg()
    If $msg = $Close_Gui Then Exit
:mrgreen:
Et pourquoi pas

Code : Tout sélectionner

If $msg = -3 OR $msg = $Close_Gui Then...

Re: [..] je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 14:21
par ZDS
Bonjour,

A la place de

Code : Tout sélectionner

$msg = GUIGetMsg()
If $msg = -3 Then
    ...
EndIf
If $msg = $Button1 Then
    ...
EndIf
Déjà, il vaudrait mieux faire

Code : Tout sélectionner

$msg = GUIGetMsg()
If $msg = -3 Then
    ...
ElseIf $msg = $Button1 Then
    ...
EndIf
(Par principe de non recouvrement, bah oui, une erreur est si vite arrivée, surtout quand on mélange les événements souris/clavier aka les valeurs en négatif, et les événements contrôles IHM comme $Button1)

Si tu veux vraiment un Case, utilise plutôt

Code : Tout sélectionner

$msg = GUIGetMsg()
Switch $msg
Case -3
    ...
Case $Button1
    ...
[color=#BF0000]Case $Close_Gui
    Exit[/color]
EndSwitch
A bientôt !

Re: [..] Je n'arrive pas a ajouter 'case'

Posté : mer. 12 oct. 2011 17:31
par Utilisateur 3643 supprimé
@TT22 quel intérêt ? Aucun je crois...
@mikkel merci pour ton explication !

Re: [R] Je n'arrive pas a ajouter 'case'  

Posté : jeu. 13 oct. 2011 11:42
par ZDS
maxoulou a écrit :@TT22 quel intérêt ? Aucun je crois...
Il y en a un, ce n'est pas parce que tu as mal au pied que le souci n'est pas dans la tête.

Voici donc deux raisons :
1) Parfois le problème peut venir de l'initialisation de ton interface, c'est plus facile de tout avoir que de quémander, surtout que c'est toi qui a besoin d'aide ^^
2) Quand on essaye d'aider, c'est plus facile pour nous de coder sur un code complet et fonctionnel que sur un morceau qui ne fonctionne pas tout seul. Le contexte permet d'aller beaucoup plus vite, plutôt que d'être obligé de coder un bloc de départ bidon juste pour exécuter le morceau de code à corriger.

A bientôt.

Re: [R] Je n'arrive pas a ajouter 'case'

Posté : jeu. 13 oct. 2011 17:56
par Baku
Je suis sidéré par la patience qu'ont certains membres du forum face à ce genre de comportements :O
Bravo ZDS, ca m'épate !