4D v16.3

While...End while

Accueil

 
4D v16.3
While...End while

While...End while  


 

 

La syntaxe de la structure répétitive (ou boucle) While...End while est la suivante :

 While(Expression_booléenne)
    instruction(s)
 End while

Une boucle While...End while exécute les instructions comprises entre Tant que et Fin tant que aussi longtemps que l’expression booléenne est VRAIE. Elle teste l’expression booléenne initiale et n’entre pas dans la boucle (et donc n'exécute aucune instruction) si l’expression est à FAUX.

Il est utile d’initialiser la valeur testée dans l’expression booléenne juste avant d’entrer dans la boucle Tant que. Initialiser la valeur signifie lui affecter un contenu approprié, généralement pour que l’expression booléenne soit VRAIE et que le programme entre dans la boucle.

La valeur de l'expression booléenne doit pouvoir être modifiée par un élément situé à l'intérieur de la boucle, sinon elle s'exécutera indéfiniment. La boucle suivante est sans fin car Infini est toujours VRAI :

 Infini:=True
 While(Infini)
 End while

Si vous vous retrouvez dans une telle situation (où une méthode s'exécute de manière incontrôlée), vous pouvez utiliser les fonctions de débogage de 4D et remonter à la source du problème. Pour plus d'informations sur ce point, reportez-vous à la section Débogueur.

Exemple  

 CONFIRM("Ajouter un enregistrement?") ` Est-ce que l'utilisateur veut ajouter un enregistrement?
 While(OK=1) ` Tant que l'utilisateur accepte
    ADD RECORD([Table]` Ajouter un nouvel enregistrement
 End while ` Une boucle Tant que se termine toujours par End while

Dans cet exemple, la valeur de la variable système OK est définie par la commande CONFIRM avant que le programme n’entre dans la boucle. Si l’utilisateur clique sur le bouton OK dans la boîte de dialogue de confirmation, la variable OK prend la valeur 1 et la boucle est exécutée. Dans le cas contraire, la variable OK prend la valeur 0 et la boucle est ignorée. Une fois que le programme entre dans la boucle, la commande ADD RECORD permet de continuer à l’exécuter car elle met la variable système OK à 1 lorsque l’utilisateur sauvegarde l’enregistrement.
Lorsque l’utilisateur annule (ne valide pas) le dernier enregistrement, la variable système OK prend la valeur 0 et la boucle s’arrête.



Voir aussi  

Boucle...Fin de boucle
Case of...Else...End case
Conditions et boucles
If...Else...End if
Repeat...Until

 
PROPRIÉTÉS 

Produit : 4D
Thème : Présentation du langage

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)