Pour remplacer la boucle Repeat Forever

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Pour remplacer la boucle Repeat Forever

Message par Micoute »

Bonjour à tous,

j'ai trouvé une astuce pour remplacer la boucle principale quand on a pas d'évènement particulier

Code : Tout sélectionner

While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
je crois même qu'on pourrait y imbriquer d'autres boucles à l'intérieur.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
boby
Messages : 261
Inscription : jeu. 07/juin/2007 22:54

Re: Pour remplacer la boucle Repeat Forever

Message par boby »

Code : Tout sélectionner

Repeat : Until waitwindowevent() = #PB_Event_CloseWindow
Selon moi la "boucle event" ne devrait jamais ressembler à autre chose que ça. Les event ça se bind la boucle event n'a plus lieu d'être...
Eventuelement y rajouter un timeout si besoin.
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Pour remplacer la boucle Repeat Forever

Message par Micoute »

à chacun son opinion, mais dans l'aide de PB, il est écrit "While produit une boucle jusqu'à ce que l'expression devienne fausse.", par contre il est écrit aussi "contrairement à une boucle Repeat qui est toujours exécutée au moins une fois".

Je pense tout de même que par convention, on se doit d'utiliser la boucle Repeat … Until, mais la boucle While … Wend fonctionne aussi tant que l'expression reste vraie.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre