Page 1 sur 1

[R] Sortir fonction infinie en cas action commencer 1 autre

Posté : dim. 10 juin 2012 14:01
par plop22
bonjour!

voilà je bloque,

Dans mon script j'ai une fonction A qui commence quand on lance le script, elle est "infinie" car tant qu'un évènement spécial ne se produit pas pas, elle continue de tourner en "monopolisant" le programme.

Mais voilà que je voudrais lancer une fonction B en cas d'appui sur un bouton; il faut donc "éteindre" la A et lancer la B

La structure de mon code ressemble à ceci:

Code : Tout sélectionner

la gui etc blabablabala ..

while 1 
switch $nmsg  

case truc

case bidule

case le bouton qui m’intéresse 

On lance la fonction B

endswitch



la fonction A se lance .......



 

J'ai passé plusieurs heures à essayer de trouver, j'ai fais pleins de systèmes qui modifient une variable et après on test sa valeur et selon celle ci on fait telle ou telle chose, enfin j'ai vraiment fais le tour de mes (humbles) connaissances en autoit, et la j'en peux plus! :twisted:

donc je remercie chaleureusement tous ceux qui auront la gentillesse de m'aider! :D

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 14:12
par matwachich
HotKeySet

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 14:28
par plop22
heu, je vois pas bien pourquoi, vu qu'il faut cliquer sur un bouton de la gui pour déclencher B ()

(je pense que tu as compris "touche" au lieu de "bouton")

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 14:42
par PandiPanda
quelque chose à l'arrache comme ceci?
► Afficher le texte

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 15:19
par plop22
pardonne moi, mais je ne comprends pas vraiment ton code (l'aide sur adlib n'est pas très explicite)

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 15:41
par mikell

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 16:06
par plop22
ok, mais du coup comment faire pour que

quand A s’arrête, on puisse lancer B directement et ne pas recommencer A

?

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 17:52
par mikell
Comme ça, pour reprendre l'exemple du Panda
► Afficher le texte
Panda il est vraiment à l'arrache ton script (perso j'aurais mis le adlib sur la fonction A )

Re: [..] Sortir fonction infinie en cas action commencer 1 a

Posté : dim. 10 juin 2012 18:58
par plop22
merci pour vos réponses, mais j'ai finalement trouvé une solution j'appelle la fonction B dans la A ( je remet le switch nmsg dans ma fonction A et du coup je peut appeler B avec le case bouton)

et comme c'est des fonction tcp je fais un tcpshutdown et un tcpstart

cependant vos réponses n'auront pas étés inutiles puisque je pense m'en servir pour autre chose


merci beaucoup! résolu.

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 10:21
par TommyDDR
"Sortir" "infinie" -> ExitLoop

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 10:23
par GhostLine
Tu m'as pris de vitesse :)

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 12:00
par plop22
le problème étant que la fonction n'est pas une boucle !! :mrgreen:


(c'est un tcpaccept qui dure jusqu’à ce qu'un client se connecte)

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 13:23
par TommyDDR
plop22 a écrit :c'est un tcpaccept qui dure jusqu’à ce qu'un client se connecte
Et vous le faites "durer" de quelle manière ?

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 18:57
par Myki
TommyDDR a écrit :Et vous le faites "durer" de quelle manière ?
Et bien tu mets le TCPAccept dans une boucle.
La condition de sortie est la socket renvoyée par le TCPAccept (>0).

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 19:28
par plop22
nan il a raison il faut une boucle >.<

un truc genre do until $socket <> -1


excuse moi :lol:

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 20:26
par blacksoul305
Oh Au pire voilà un code commenté :
► Afficher le texte

Re: [R] Sortir fonction infinie en cas action commencer 1 au

Posté : lun. 11 juin 2012 21:56
par plop22
oui c'est à peu près ça que j'ai fait! :p