[R] Attendre une condition en 1 ligne

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

[R] Attendre une condition en 1 ligne

#1

Message 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 :

Code : Tout sélectionner

Wait $n = True
Modifié en dernier par yohan8 le lun. 23 sept. 2013 20:35, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Attendre une condition en 1 ligne

#2

Message par jguinch »

ah, bin là je crois qu'à part écrire plus petit, tu pourra pas gagner beaucoup de place... :wink:
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
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Attendre une condition en 1 ligne

#3

Message 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 :shock: 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. :P

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. :mrgreen:

Edit : Plus ou moins grillé par le guincheur ... :D
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é".
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Attendre une condition en 1 ligne

#4

Message par yohan8 »

Effectivement, inconsciemment je voulais écrire une boucle à la sauce de If en 1 ligne :P

Je vais garder mes boucles ainsi, c'est vrai que cela permet d'alléger mon script avec des lignes de quelques lettres
Répondre