Page 1 sur 1

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

Posté : dim. 05 janv. 2014 11:57
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

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

Posté : dim. 05 janv. 2014 12:07
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. ^^

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

Posté : dim. 05 janv. 2014 13:00
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

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

Posté : dim. 05 janv. 2014 15:21
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.

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

Posté : dim. 05 janv. 2014 16:21
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

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

Posté : dim. 05 janv. 2014 16:37
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

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

Posté : dim. 05 janv. 2014 16:56
par Sea
Pense à passer en Résolu pour cela édite ton premier post et modifie le titre avec [R] ;)

Re: [R] Appelle de Variables par ordre croissant

Posté : lun. 06 janv. 2014 16:05
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 ?

Re: [R] Appelle de Variables par ordre croissant

Posté : lun. 06 janv. 2014 16:21
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.

Re: [R] Appelle de Variables par ordre croissant

Posté : lun. 06 janv. 2014 17:07
par Quatoze
Désolé, parfait c'est ce que je recherchais