Tant que...Fin tant que

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 6.0


La syntaxe de la structure répétitive (ou boucle) Tant que...Fin tant que est la suivante :

   Tant que (Expression_booléenne)
      instruction(s)
   Fin tant que

Une boucle Tant que 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:=Vrai
   Tant que (Infini)
   Fin tant que

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ébogage.

Exemple

   CONFIRMER ("Ajouter un enregistrement?")   ` Est-ce que l'utilisateur veut ajouter un enregistrement?
   Tant que (OK = 1)   ` Tant que l'utilisateur accepte
      AJOUTER ENREGISTREMENT([Table])   ` Ajouter un nouvel enregistrement
   Fin tant que   ` Une boucle Tant que se termine toujours par Fin tant que

Dans cet exemple, la valeur de la variable système OK est définie par la commande CONFIRMER 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 AJOUTER ENREGISTREMENT 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.

Référence

Au cas ou...Sinon...Fin de cas, Boucle...Fin de boucle, Conditions et boucles, Repeter...Jusque, Si...Sinon...Fin de si.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant