Page 1 sur 1
[R] Attendre une condition en 1 ligne
Posté : lun. 23 sept. 2013 20:01
par yohan8
Bonjour,
Lorsque dans mon script j'attends des informations, je met en place une boucle avec while ou Do.
Cependant je trouve cela encombrant les 3 lignes qu'il faut pour mettre en place ces boucle :
Code : Tout sélectionner
Do
Sleep(100)
Until $n = True
[color=#FF0000]OU[/color]
While $n <> True
Sleep(100)
WEnd
Existerait-il une solution du genre :
Re: [..] Attendre une condition en 1 ligne
Posté : lun. 23 sept. 2013 20:18
par jguinch
ah, bin là je crois qu'à part écrire plus petit, tu pourra pas gagner beaucoup de place...
Sauf erreur de ma part, je ne crois pas qu'on puisse utiliser ces instructions sur une seule ligne comme on le fait avec un If.
Sinon, tu peux te bricoler un truc que tu mettras en include, mais est-ce que ça vaut la peine ? en plus, le code risque d'être moins lisible, non ?
► Afficher le texte
Code : Tout sélectionner
_slipDim("@hour = 20 AND @min = 16 AND @SEC = 00")
MsgBox(0, "", "C'est l'heure d'aller au lit les enfants !")
Func _slipDim($sCondition)
While NOT Execute($sCondition)
Sleep(100)
WEnd
EndFunc
Re: [..] Attendre une condition en 1 ligne
Posté : lun. 23 sept. 2013 20:28
par Tlem
Les boucles sont là généralement pour effectuer plusieurs conditions et/ou traitements en série, donc il n'y à aucun intérêt de faire cela en une ligne.
Maintenant, si dans votre code vous devez faire des pauses régulière par boucles

adoptez ce genre de chose :
Code : Tout sélectionner
Boucle_1_ligne()
Func Boucle_1_ligne()
While $n <> True
Sleep(100)
WEnd
EndFunc
Maintenant, l’intérêt est vraiment limité, puisse que comme il n'y a rien dans la boucle qui peut faire changer $n, vous allez resté bloqué dans cette foutue boucle.
Et puis franchement, c'est mesquin de vouloir réduire 3 lignes aussi courtes en une seules. Il vous suffit de rajouter un seul Include pour vous retrouver avec des centaines de lignes qui ne servent à rien.
Edit : Plus ou moins grillé par le guincheur ...

Re: [..] Attendre une condition en 1 ligne
Posté : lun. 23 sept. 2013 20:34
par yohan8
Effectivement, inconsciemment je voulais écrire une boucle à la sauce de If en 1 ligne
Je vais garder mes boucles ainsi, c'est vrai que cela permet d'alléger mon script avec des lignes de quelques lettres