Page 1 sur 1
Boucles conditions jusqu'à avec une limite de temps
Posté : mar. 10 nov. 2020 22:20
par Misa10
Bonjour en faite j'ai besoin d'aide car je voudrais créer une boucle avec conditions jusqu'à donc :
Mais je veux que si cette boucle au bout d'un certain temps défini si la condition n'est pas rempli dans ce temps là la boucle s'arrête.
Exemple la boucle do until la condition est rempli donc ça lance les lignes de code . Normal quoi .
Mais exemple je décide que do until dure 5 secondes max si la condition après 5 secondes n'est pas rempli ça sort de cette boucle et lis d'autre lignes de code .
J'ai encore rien n'écrit sur le papier c'est juste dans ma tête donc désolé de pas vous donner un bout de code . Merci d'avance pour ceux qui vont m'aider.
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : mer. 11 nov. 2020 01:13
par Tlem
Bonsoir, voici la version papier avec presque tout les éléments. ^^
1 - Initialisation d'un timer juste avant de rentrer dans la boucle.
2 - Dans la boucle, un contrôle du timer.
3 - Si timer > valeur définie alors on exit de la boucle.
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : mer. 11 nov. 2020 22:34
par Misa10
Bonsoir donc en suivant ton idée j'ai eu une idée mais je suis pas sûr pas que ça va marcher .
Code : Tout sélectionner
$time = 1
Do
$time +1
$example = pixelsearch ...
Until $example = 1 or $time = 5000
En gros c'est un exemple mais donc quand le pixelsearch a trouvé la couleur donc la boucle se fini mais pour faire un timer la variable Time rajouterai à chaque fois que la boucle se relance et donc s'arrête à 5000 logiquement la boucle va se relancer chaque seconde donc ça ferai 5000 seconde ?
Sinon j'ai vu les deux fonctions timerinit et timerdiff qui pourrait être intéressante mais j'ai jamais utilisé et je ne suis pas sur mon pc pour l'instant donc j'ai pas pu test pour voir comment les deux fonctions marche .
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : mer. 11 nov. 2020 22:44
par Tlem
Bon, alors c'est pas tout a fait ça.
Vous devez d'abord TimerInit
. Ensuite votre boucle Do
, et dans celle-ci faire un TimerDiff
pour vérifier si $fDiff
est plus grand que $TimerMax
pour ExitLoop
. ^^
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : jeu. 12 nov. 2020 14:07
par jl56
Bonjour,
voici un exemple,
#include <ButtonConstants.au3>#include <EditConstants.au3>#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=Global $Form1 = GUICreate("Form1", 615, 437, 192, 124)Global $inp_temps_restant = GUICtrlCreateInput("", 137, 56, 121, 21)Global $Quitter = GUICtrlCreateButton("Quitter", 166, 180, 75, 25)Global $Label1 = GUICtrlCreateLabel("Temps restant", 28, 60, 71, 17)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###Local $debut_timer = TimerInit(); initialisation du timerLocal $temps = 10; valeur de temps en secondeLocal $memo_reste = -1Do $msg = GUIGetMsg() $reste = TimerDiff($debut_timer) ; différence en millisecondes $reste = Int($reste / 1000) ;on transforme le reste en secondes entieres If $reste <> $memo_reste Then ; on modifie l'affichage que toutes les secondes GUICtrlSetData($inp_temps_restant, $reste & "/" & $temps) $memo_reste = $reste ; on memorise que c'est affiché sur la seconde en cours EndIf If $reste >= $temps Then ExitLoop ; si le temps est dépassé ou égal on sort If $msg = $Quitter Then ExitLoop Sleep(20)Until $msg = $GUI_EVENT_CLOSE
A+
JL56
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : jeu. 12 nov. 2020 17:19
par TommyDDR
Je pense que le but de Tlem était de ne pas donner le pain directement dans la bouche de Misa10 mais de lui faire trouver la réponse

Re: Boucles conditions jusqu'à avec une limite de temps
Posté : jeu. 12 nov. 2020 20:49
par jl56
@TommyDDR
Je m'en doutais bien mais je suis en vacances et j'avais un peu de temps pour produire cet exemple et rendre, un peu, l'aide que m'ont apporté les membres de ce forum. Ça reste complémentaire aux informations de Thiérry.
@Misa10 prenez en compte, SVP, les 2 messages et regardez les explications dans l'aide.
@Thierry, si c'est une erreur de ma part merci de m'en informer.
Bonne soirée
A+
JL56
Re: Boucles conditions jusqu'à avec une limite de temps
Posté : jeu. 12 nov. 2020 23:32
par Tlem
Bonsoir.
J'avais trouvé la méthode de tommy très appropriée et éducative dans
ce sujet.
J'ai voulu reproduire, mais vous avez cassé mon effet...
Je ne sais pas si j'arriverai a m'en remettre.
