[R] While dans If -> problème?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
fab84
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 20 août 2013 09:25
Status : Hors ligne

[R] While dans If -> problème?

#1

Message par fab84 »

Bonjour,
ça fait un moment que je parcours ce forum où j'ai appris plein de choses. Je suis presque au bout du programme (simple) que je souhaite créer mais je bloque sur une boucle...

Voici le principe du code (comme y'a des infos que je ne peux pas diffuser j'ai écrit la structure du code)
► Afficher le texte
Le problème : la boucle while tourne dans le vide. Le but de cette boucle est d'ouvrir via les mouseclick et détecter l'ouverture d'une fenête (IE) qui contient des infos. A défault si le programme dit que cet enregistrement n'a pas de données j'écris moi même la valeur 1 à la variable $visible pour sortir.
Mais ça ne fonctionne pas que la fenêtre existe ou pas.

Le pire c'est que si j'extrait cette boucle while toute seule dans un nouveau script elle fonctionne parfaitement (que la fenêtre existe ou pas). Mais lorsque je l'intégre dans mon programme et d'autres boucles ça ne fonctionne pas...

Est ce que j'ai raté quelque chose?
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] While dans If -> problème?

#2

Message par DimVar »

Bonjour,


Puisque vous ne donnez pas d'infos sur le code, nous ne pouvons investiguer correctement.
Néanmoins, si votre boucle est Ok hors de la condition, la logique veut que ce soit la condition qui pose pb.
Vous devez donc debuguer avec msgbox après chaque condition.


Cdlt.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [..] While dans If -> problème?

#3

Message par aulus »

Avez-vous bien mis fin à vos conditions et boucles ?

Code : Tout sélectionner

For $i = 1 to 200
    .
    .
    For $j = 1 to 100
        .
        .
        If $var1 = X Then
            .
            .
        Else
            .
            .
            While $visible = 0

                MouseClick("left", 719, 122, 1)
                .
                .

                If WinExists("Fenêtre1") Then
                    $ctrlexist = "existepas"
                EndIf
    
                WinActivate("Fenêtre cherchée")
                $visible = BitAND(WinGetState("Fenête cherchée"), 1)
                
                If $ctrlexist = "existepas" Then
                    $visible = 1
                EndIf

            Wend
.
.
.
[color=#FF0000]       ENDIF
   NEXT
NEXT[/color]
 
fab84
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 20 août 2013 09:25
Status : Hors ligne

Re: [..] While dans If -> problème?

#4

Message par fab84 »

Merci pour vos réponses.
Alors oui j'ai bien mis fin aux boucles. Je vais essayer de poster le maximum du code en n'enlevant que le strict necessaire d'ici quelques jours...
fab84
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 20 août 2013 09:25
Status : Hors ligne

Re: [..] While dans If -> problème?

#5

Message par fab84 »

Bonjour,

j'ai finalement trouvé le problème.
J'ai un exitloop qui posait problème.

Je l'avais mis dans ce style :

Code : Tout sélectionner

If WinExists("nom de la fenêtre") Then ExitLoop
Sans ajouter de "EndIf" comme dans l'aide. ça passe partout dans le code sauf quand c'est dans ma boucle while où j'ai du ajouter un EndIf. C'est ce qui posait problème.

Si ça peut aider certains.
Répondre