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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par plop22 le dim. 10 juin 2012 18:58, modifié 1 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

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

#2

Message par matwachich »

HotKeySet
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#3

Message 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")
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

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

#4

Message par PandiPanda »

quelque chose à l'arrache comme ceci?
► Afficher le texte
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#5

Message par plop22 »

pardonne moi, mais je ne comprends pas vraiment ton code (l'aide sur adlib n'est pas très explicite)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#6

Message par mikell »

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#7

Message 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

?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#8

Message 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 )
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#9

Message 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.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#10

Message par TommyDDR »

"Sortir" "infinie" -> ExitLoop
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

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

#11

Message par GhostLine »

Tu m'as pris de vitesse :)
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#12

Message 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)
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#13

Message 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 ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Myki
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 11 juin 2012 16:56
Status : Hors ligne

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

#14

Message 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).
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#15

Message par plop22 »

nan il a raison il faut une boucle >.<

un truc genre do until $socket <> -1


excuse moi :lol:
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

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

#16

Message par blacksoul305 »

Oh Au pire voilà un code commenté :
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
plop22
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 08 févr. 2012 18:53
Status : Hors ligne

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

#17

Message par plop22 »

oui c'est à peu près ça que j'ai fait! :p
Répondre