[R] Boucle dans une boucle ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

[R] Boucle dans une boucle ?

#1

Message par Jerome »

Coucou,

J'ai ce bout de code la :

Code : Tout sélectionner

#include <ImageSearch.au3>

$x1=0
$y1=0

While 1
    $resultfuse = _ImageSearch("Set.bmp",0,$x1,$y1,0)
    If $resultfuse=1 Then
        _Funct1()
    EndIf

    $resultcible = _ImageSearch("Ico.bmp",0,$x1,$y1,0)
    If $resultfuse=1 Then
        _Funct2()
    EndIf

    $resultchain = _ImageSearch("Verif.bmp",0,$x1,$y1,0)
    If $resultfuse=1 Then
        _Funct3()
    EndIf
       ; Autre actions dans le code après la fonction apelé
    Sleep(2000) 
WEnd
 

Je fait une recherche sur 3 images à un moment, et j'aurait voulut savoir savoir comment écrire une boucle qui va faire une recherche de ses 3 images pendant 4 secondes par exemple, puis si une image est trouvé ou non au bout de ses 4 secondes, je sort de ma boucle et exécute une fonction suivant l'image trouvé (0 ou 1 image étant les possibilités en sortit de boucle).



Merci de votre aide, Jérôme.
Modifié en dernier par Jerome le jeu. 23 sept. 2010 20:49, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Boucle dans une boucle ?

#2

Message par Tlem »

Schématiquement :

Code : Tout sélectionner

    Boucle
        Initialisation Timer
        Recherche image 1
            Si image 1 trouvée variable X=1

        Recherche image 2
            Si image 2 trouvée variable X=1
        
        Recherche image 3
            Si image 3 trouvée variable X=1
            
        Si Timer > 4 secondes alors on sort de la boucle
    Fin de boucle
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é".
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Boucle dans une boucle ?

#3

Message par Jerome »

Coucou Tlem,

C'est exactement ce que je m'était dit.
Je vais regarder pour l'histoire du Timer.

Mais quelle type de boucle utiliser pour ce cas précis ?
While 1 -> Wend ?




Jérôme
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Boucle dans une boucle ?

#4

Message par Tlem »

Jerome a écrit :While 1 -> Wend ?
Oui, très bien.
Mais en fait vous n'êtes pas limité à la boucle. Le tout est qu'elle dure plus de quatre secondes. ;)

Donc vous pouvez aussi faire un :

Code : Tout sélectionner

Do
...
Until $x >= 4
Évidement, $x doit correspondre au timer. ;)
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