Page 1 sur 1

[R] Lancement d'instructions en Simultané

Posté : dim. 30 août 2009 19:21
par Daguette
Bonjour,

J'ai commencé l' autoIT il y a déjà un bon bout de temps, mes programmes deviennent de plus en plus élaborés cependant une chose me gêne un peu:

J'aimerais pouvoir lancer plusieurs instructions et cela simultanément.Je m'explique :

Si je fait appel à deux fonctions "_A()" et "_B()" et que je les lie avec un connecteur logique, l'instruction "_A()" sera toujours exécutée AVANT l'instruction "_B()".


Exemple :

Code : Tout sélectionner

$a = beep(500,1000)
$b = beep(1500,1000)
$var = $a + $b

execute($var)
Résultat : le bip de fréquence 500 Hz s'exécute pendant une seconde, à l'issue de celui-ci le bip de 1500 Hz prendra le relais.
En aucun cas je n'ai réussi à entendre les deux fréquences simultanément.

J'ai essayé avec le connecteur &, and... j'ai essayé avec plusieurs fonctions while, boucles For et next, mais je n'ai jamais obtenu le résultat que j'attendais.

Est ce que c'est le fait que autoIT soit un langage "SCRIPT" et non un langage de programmation standard que je n'arrive pas à exécuter ces deux fonctions simultanément? Ou est-ce simplement une lacune de ma part?

Mon but était d'exécuter une procédure while avec un udprecv, tout en vérifiant de manière cyclique les données d'un site internet.

Un grand merci d'avance et j'espère que j'ai respecté les procédure d'envoi de posts ...

Re: [..] Lancement d'instructions en Simultané

Posté : dim. 30 août 2009 19:33
par timmalos
Il faut utiliser un Multi Thread.

Si vous utilisez la dernière version beta, la fonction est _AdLibRegister() vous pouvez creer autant de multi Thread que vous voulez.
Si non, la foncion est _AdLibEnable() mais vous pouvez n'en creer qu'un.


La fonction Beep ne peut pas marcher, car vous utilisez une dll qui ne peut pas faire entendre 2 frequences differentes en même temps.

Mais vous pouvez creer 2 threads (routines) dont une qui va verifier des infos sur internet et l'autre qui contient la procedure while avec un udprecv

Re: [R] Lancement d'instructions en Simultané

Posté : lun. 31 août 2009 13:24
par Daguette
Ah oui, d'accord. Il s'agissait donc bien d'une lacune. Un grand Merci !
je vais clore le sujet

Re: [..] Lancement d'instructions en Simultané

Posté : lun. 31 août 2009 13:56
par Habibsbib
Tu ne l'as toujours pas clos, Daguette. Pour clore un message, indique [R] au début du sujet. Très intéressant ce Multi Thread. Je vais m'y pencher un peu. De plus Daguette, saches qu'un Beep ordinateur ne peut pas, à ma connaissance, produire deux sons simultanément, car les minuscules baffes installées sur ta tour ne le permettent pas. C'est donc physiquement impossible.

Re: [..] Lancement d'instructions en Simultané

Posté : lun. 31 août 2009 15:37
par Tlem
Habibsbib a écrit :Pour clore un message, indique [R] au début du sujet.
Je dirais même mieux :
Pour clore un message, indiquez [R] au début du titre de votre premier message.

Il faut donc cliquer sur éditer du premier message du sujet, puis modifier la balise de titre [..] (que vous êtes sensé avoir mis) par la balise [R].
Hé oui, pour l'instant il n'y à rien d'automatique (mais cela pourrait peut être changé).