[R] Lancement d'instructions en Simultané

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Daguette
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 30 août 2009 17:16
Status : Hors ligne

[R] Lancement d'instructions en Simultané

#1

Message 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 ...
Modifié en dernier par Daguette le lun. 31 août 2009 20:21, modifié 1 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

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

#2

Message 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
Daguette
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 30 août 2009 17:16
Status : Hors ligne

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

#3

Message par Daguette »

Ah oui, d'accord. Il s'agissait donc bien d'une lacune. Un grand Merci !
je vais clore le sujet
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

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

#4

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#5

Message 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é).
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