[R] Appelle de Variables par ordre croissant exécuté 2 fois

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

[R] Appelle de Variables par ordre croissant exécuté 2 fois

#1

Message par Quatoze »

Bonjour

je viens a vous parce que je suis complétement perdu ...
j'ai testé plusieurs chose des boucles des if else ect je n'arrive a rien ...

le but de l'opération est dans un premier temps lancer mes 7 fonctions la pas de problème
et ensuite selon un timer re lancer les fonctions qui a le timer le plus court
► Afficher le texte
voila mes fonction son lancée une première fois j'aimerais les lancée une seconde fois selon le timer le plus court .
et par ordre croissant après je sais pas une boucle ? un if ?

PS: désoler pour la mise en forme de mon précédant message
Modifié en dernier par Quatoze le lun. 06 janv. 2014 17:08, modifié 2 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: [..] Appelle de Variables par ordre croissant

#2

Message par Tlem »

Bonjour Quatoze.
Je pense que le plus simple, ce sera d'utiliser ceci :

Code : Tout sélectionner

AdlibRegister ( "fonction" , $Timer)
La documentation vous en dira plus. ^^
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é".
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

Re: [..] Appelle de Variables par ordre croissant

#3

Message par Quatoze »

Oui j'ai fait plusieurs tests de cette fonction mais ça ne m'aide pas
probablement parce que je l’écris mal ...

j'aimerais que le script aille chercher lui même le timer le plus court et les affiche
tous à la suite. Ça donnerais :

$t1 = "9000" ; =sleep (9000) timer de la fonction note1
$t2 = "8000" ; =sleep (8000) timer de la fonction note2
$t3 = "9000"
$t4 = "4000"
$t5 = "500"
$t6 = "6000"
$t7 = "50000"

Note5
Note4
Note6
Note2
Note1 ou Note3 ( vu qu'ils ont le même timer )
Note3 ou Note1 ( vu qu'ils ont le même timer )
Note7
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Appelle de Variables par ordre croissant

#4

Message par Tlem »

Pouvez vous expliquer un peu mieux la problématique de vos timers, parce que là c'est pas clair du tout ...

Vous avez x fonctions et x timers. Chaque timer doit être attribuer a une fonction déterminée, donc je ne vois pas quel est votre problème avec les timers.
AdlibRegister ("note1", 2000) lancera la fonction note1 toutes les 2000 ms, donc si vous enchaînez les déclarations AdlibRegister pour chacune de vos fonctions, celles ci seront lancées sur les timers déterminés.
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é".
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

Re: [..] Appelle de Variables par ordre croissant

#5

Message par Quatoze »

Ayant déjà testé cette fonction je ne parviens pas à faire ce que vous me décrivez, du coup j'ai laissé tomber cette fonction
mais il est clair que c'est ce que j'aimerais qu'il se passe

je dois avoir surement un problème d’écriture parce que si j'encode

AdlibRegister ("note1", 1000)
AdlibRegister ("note2", 2000)
AdlibRegister ("note3", 3000)
AdlibRegister ("note4", 1500)
AdlibRegister ("note5", 4000)
AdlibRegister ("note6", 5000)
AdlibRegister ("note7", 6000)

Ça me donne juste une seule série de note1a7
et cela ne continue pas
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

Re: [..] Appelle de Variables par ordre croissant

#6

Message par Quatoze »

Quatoze a écrit :Ayant déjà testé cette fonction je ne parviens pas à faire ce que vous me décrivez, du coup j'ai laissé tomber cette fonction
mais il est clair que c'est ce que j'aimerais qu'il se passe

je dois avoir surement un problème d’écriture parce que si j'encode

AdlibRegister ("note1", 1000)
AdlibRegister ("note2", 2000)
AdlibRegister ("note3", 3000)
AdlibRegister ("note4", 1500)
AdlibRegister ("note5", 4000)
AdlibRegister ("note6", 5000)
AdlibRegister ("note7", 6000)

Ça me donne juste une seule série de note1a7
et cela ne continue pas

..... Il fallait mettre

While 1
WEnd

en dessous gros nul que je suis désolé et un grand merci pour votre aide ! je peux de nouveau continuer
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Appelle de Variables par ordre croissant

#7

Message par Sea »

Pense à passer en Résolu pour cela édite ton premier post et modifie le titre avec [R] ;)
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

Re: [R] Appelle de Variables par ordre croissant

#8

Message par Quatoze »

Petite question : pour optimiser mon script est il possible d'exécuter 2 fois seulement chaque AdlibRegister ?
Parce qu’avec ma boucle, tant que AdlibRegister avec un temps de 9 secondes ne termine pas, la AdlibRegister avec un temps d'1 seconde
continue en boucle, ce qui est logique. C'est possible de bloquer le AdlibRegister d'1 seconde après 2 exécutions ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Appelle de Variables par ordre croissant

#9

Message par Tlem »

Un truc dans ce genre là

Code : Tout sélectionner

Global $CompteurNote1 = 0
AdlibRegister ("note1", 1000)


Func note1()
    ;
    ; Le code qui doit être excécuté
    ;
    
    ; Compteur avec limite de lancement a 2
    $CompteurNote1 += 1
    If $CompteurNote1 >= 2 Then AdlibUnRegister("note1")
EndFunc
Par contre, si vous avez de nouvelles questions, merci d'ouvrir un autre sujet.
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é".
Quatoze
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 21 nov. 2013 22:37
Status : Hors ligne

Re: [R] Appelle de Variables par ordre croissant

#10

Message par Quatoze »

Désolé, parfait c'est ce que je recherchais
Répondre