Page 1 sur 1

[..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 15:29
par JIF
Bonjour, voilà je cherches a faire fonctionner 2 boucles infini en même temps dans un même scripte. Le problème actuellement et que la 2ième boucle ne ce lances pas temps que la première n'a pas fini. Mais la première ne se finira pas étant donné qu'elle est infini. Bien sur si je lances un scripte différant pour chaque boucle infini sa fonctionne. Mais j'aimerais regroupé tous dans un même scripte au lieux de passer par 2 scripte différant.

Merci de me répondre.
Cordialement JIF,

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 15:53
par Yogui
faire de boucle infinie :s

C'est pas génial

et surtout dans 90 % du temps ça ne sert pas à grand chose...

Sinon il faut se tourner vers les fonctions

mettre le permier script dans une fonction le second dans une autre

mais sans voir le script je ne vois non plus

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 16:01
par HeartKey
Regarde la doc pour la fonction AdlibEnable ou AdlibRegister pour la version Beta.

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 16:31
par JIF
Merci de vos réponses. Mais ques que la fonction AdlibEnable ?
Bun enfait la première boucle sert a bloqué la souris infinimant; car j'en est mare de la debrancher a chaque foit que je démares le scripte, l'autre éffectu l'utilisation du scripte.

Merci d e me répondre.
Cordialement JIF,

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 16:39
par HeartKey
Cette fonction permet de faire deux action en même temps dans un script (les boucles pour vous ^^).

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 16:57
par JIF
Merci de ta réponse HeartKey commnt je structure cette fonction dans mon code ?
Si j'ai bien compris la doc, je doit structuré de cette façon.

Code : Tout sélectionner

AdlibEnable("myadlib")
;[color=#FF0000] Je palce ma première boucle[/color]
Exit

Func myadlib()
    If ;[color=#FF0000] Je place ma 2ième boucle[/color]
    EndIf
EndFunc
Ais-je tore ou ais-je raison ?

Merci de me répondre.
Cordialement JIF,

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 17:10
par SagePourpre
JIF a écrit :Merci de ta réponse HeartKey commnt je structure cette fonction dans mon code ?
Si j'ai bien compris la doc, je doit structuré de cette façon.

Code : Tout sélectionner

AdlibEnable("myadlib")
;[color=#FF0000] Je palce ma première boucle[/color]
Exit

Func myadlib()
    If ;[color=#FF0000] Je place ma 2ième boucle[/color]
    EndIf
EndFunc
Ais-je tore ou ais-je raison ?

Merci de me répondre.
Cordialement JIF,


Si le but d'une de tes boucles est seulement d'empêcher la souris de bouger, tu n'as pas besoin de créer une boucle pour ça...

Utilise plutôt _MouseTrap()

Code : Tout sélectionner

#Include <Misc.au3>
_MouseTrap(300,300,300,300)
Sleep(3000)
_MouseTrap()
 

Pour ce qui est de la solution de AdlibEnable, il faudrait que tu mettes un Adlibdisable() dans la fonction ciblée par adlibenable juste avant ta
boucle pour pas que la fonction soit appelée chaque 250ms.


Mais de toute façon, adlibenable fait simplement appel à une fonction à un intervalle donné. Il ne fait pas fonctionner deux scripts en parallèle.

Voilà un exemple qui soutient ce que je dis

Code : Tout sélectionner

AdlibEnable("test")
While 1
    For $i = 1 to 500000
            ToolTip("Blu ! & " & $i,0,0)
            Sleep(1000)
    Next

    WEnd



func test()
    AdlibDisable()
    While 1
        Sleep(1000)
    WEnd
EndFunc
 

Re: [..] 2 Boucles infini en paraléles

Posté : ven. 07 août 2009 23:42
par Tlem
@JIF : Merci de lire ceci : http://www.autoitscript.fr/forum/viewto ... =35&t=3011
Et pensez à effectuer des recherches sur le forum car se sujet à déjà été débattu.