DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Instructions structurées
  • Instruction CONTINUER : exemple à ne pas faire :
  • Exemple d'utilisation de l'étiquette "CONTINUER:"
  • Instruction "CONTINUER:" : Cas des boucles imbriquées
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Instruction CONTINUER / Etiquette "CONTINUER :"
En anglais : Continue
Le mot-clé CONTINUER peut correspondre :
  • à l'instruction CONTINUER :
    L'instruction CONTINUER permet de retourner directement au début de la prochaine itération sans terminer le code de l'itération en cours.
    L'instruction CONTINUER peut être utilisée dans les boucles de type :
  • à l'étiquette CONTINUER: :
    L'étiquette "CONTINUER:" permet de déclarer un code commun dans une boucle. Ce code sera exécuté :
    • à chaque itération de la boucle.
    • si l'instruction "CONTINUER" est présente dans la boucle. Dans ce cas, le code entre l'instruction "CONTINUER" et l'étiquette "CONTINUER:" ne sera pas exécuté.
Syntaxe

Instruction CONTINUER utilisée dans une instruction POUR Masquer les détails

POUR <Variable de contrôle> = <Valeur initiale> A <Valeur finale> [PAS <x>]
...    
SI <Condition> ALORS CONTINUER
...
FIN
Remarque : Si la <Condition> est vérifiée :
  • Le code suivant l'instruction CONTINUER n'est pas exécuté.
  • La boucle est exécutée directement depuis le début de l'instruction POUR.
  • La <Variable de contrôle> est incrémentée.

Instruction CONTINUER utilisée dans une instruction POUR TOUT Masquer les détails

POUR TOUT <Fichier> SUR <Rubrique clé>
   ...
   SI <Condition> ALORS CONTINUER
   ...
FIN
Remarque : Si la <Condition> est vérifiée :
  • Le code suivant l'instruction CONTINUER n'est pas exécuté.
  • La boucle est exécutée directement depuis le début de l'instruction POUR TOUT.
  • Le passage à l'enregistrement suivant est automatique.

Instruction CONTINUER utilisée dans une instruction TANTQUE Masquer les détails

TANTQUE <Condition 1>
   ...    
SI <Condition 2> ALORS CONTINUER
   ...
FIN
Remarque : Si la <Condition 2> est vérifiée :
  • Le code suivant l'instruction CONTINUER n'est pas exécuté.
  • La boucle est exécutée directement depuis le début de l'instruction TANTQUE.
Remarques

Instruction CONTINUER : exemple à ne pas faire :

Dans ce code, l'utilisation du mot-clé CONTINUER entraîne la non-exécution de la fonction HLitSuivant :
HLitPremier(Compte, NoCompte)
TANTQUE PAS HEnDehors()
SI Compte.NoCompte = "XXX" ALORS CONTINUER
Trace(Compte.NoCompte)
HLitSuivant(Compte, NoCompte)
FIN

Exemple d'utilisation de l'étiquette "CONTINUER:"

Dans cet exemple, sont cumulés  :
  • le montant de chaque facture dans la variable TotFact.
  • le montant si c'est un avoir dans la variable TotAvoir.
TotFact est un monétaire
TotAvoir est un monétaire
 
HLitPremier(Facture, NumFact)
TANTQUE PAS HEnDehors()
SI Facture.Type_Facture <> "Avoir" ALORS CONTINUER  
// Saute directement au label CONTINUER:
// Cumule ici uniquement les avoirs
TotAvoir += Facture.Montant
 
CONTINUER:
// Cumule tous les montants
TotFact += Facture.Montant
HLitSuivant(Facture, NumFact)
FIN

Instruction "CONTINUER:" : Cas des boucles imbriquées

Il est parfois nécessaire lors de plusieurs boucles imbriquées de continuer sur l'itération suivante d'un des niveaux précédents sans terminer la boucle en cours.
Pour cela, l'instruction CONTINUER accepte un paramètre indiquant le nombre de niveau à remonter. La syntaxe est la suivante :
CONTINUER(<Nombre de niveau>)
où <Nombre de niveau> est un entier entre 1 et N, N représentant le nombre de niveau d'imbrications de boucles.
Par exemple :
x, y, z sont des entiers
 
POUR x = 1 À 15 // Boucle 1
POUR y = 1 À 25 // Boucle 2
POUR z = 1 À 50 // Boucle 3
SI <Ma_condition_est_vérifiée> ALORS
CONTINUER (2)  
// Arrête le parcours de la boucle 3
// et passe à l'itération suivante de la boucle 2
FIN
FIN
FIN
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/05/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale