DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Instructions structurées
  • Syntaxe 1 : Parcours des éléments du champ
  • Syntaxe 2 : Parcours des éléments sélectionnés du champ
  • Parcours des lignes d'un champ Table
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
L'instruction POUR TOUT permet d'effectuer différents types de parcours de champs (champs Liste, champs Table, champs Zone répétée) :
  • Parcours des éléments du champ.
  • Parcours des valeurs des éléments sélectionnés.
  • Parcours des indices des éléments sélectionnés.
Remarque : Les instructions POUR TOUT, POUR TOUS, POUR CHAQUE sont acceptées. Dans cette documentation, seule l'instruction POUR TOUT est utilisée et peut être remplacée par POUR TOUS ou POUR CHAQUE.
Limitation : Cette instruction n'est pas utilisable sur les champs Combo.
L'instruction POUR TOUT peut également être utilisée pour parcourir les objets DotNet qui implémentent l'interface IEnumerable.
Exemple
// Pour chaque utilisateur sélectionné dans le champ Table TABLE_Utilisateur
POUR TOUTE LIGNE SÉLECTIONNÉE DE TABLE_Utilisateur
	// Envoi d'un email
	Proc_EnvoieMessage(COL_Nom, COL_Email)
FIN
Nouveauté SaaS
POUR TOUTE LIGNE Indice DE TABLE_Produit SANS FILTRE
	SI TABLE_Produit.Remise[Indice] > 0 ALORS
		// Traitement des lignes 
	FIN
FIN
Syntaxe

Parcours des éléments du champ (Table, Liste et Zone répétée) Masquer les détails

POUR TOUTE LIGNE [<Indice> [, <Compteur>]] DE <Champ> [SANS FILTRE]
  ...
FIN
<POUR TOUTE LIGNE> :
Signale le début du bloc d'instructions.
<Indice> : Optionnel
Variable optionnelle de type Entier. A chaque itération, contient l'indice de la ligne en cours.
<Compteur> : Optionnel
Variable optionnelle de type Entier. Cette variable compte le nombre d'itérations.
<Champ> : Nom de champ
Champ à parcourir : champ Liste, champ Table ou champ Zone répétée.
<SANS FILTRE> : Optionnel
Nouveauté SaaS
Signale que les filtres mis en place par les utilisateurs via les FAA (Fonctionnalités Automatiques de vos applications) ne seront pas pris en compte lors du parcours des lignes du champ Table.
Utilisable uniquement lors d'un parcours sur un champ Table.
Attention : Cette fonctionnalité est disponible uniquement à partir de WINDEV Suite SaaS 2025 Update 3.
Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.

Parcours des éléments sélectionnés Masquer les détails

POUR TOUTE LIGNE SELECTIONNEE [<Indice>, [<Compteur>]] DE <Champ>

    ...
FIN
<POUR TOUTE LIGNE SELECTIONNEE> :
Signale le début du bloc d'instructions.
<Indice> : Optionnel
Variable de type Entier. A chaque itération, contient l'indice de la ligne sélectionnée en cours.
<Compteur> : Optionnel
Variable optionnelle de type Entier. Cette variable compte le nombre d'itérations (nombre de lignes sélectionnées par exemple).
<Champ> : Nom de champ
Champ à parcourir : champ Liste, champ Table ou champ Zone répétée.
Remarques

Syntaxe 1 : Parcours des éléments du champ

Cette syntaxe permet de parcourir toutes les lignes, visibles ou non, d'un champ Liste, d'un champ Table ou d'un champ Zone répétée.
Pour chaque ligne parcourue :
  • <Nom du champ> renvoie l'indice de la ligne en cours. <Indice> permet également de connaître l'indice de la ligne en cours.
  • <Nom du champ>[<Nom du champ>] renvoie toutes les colonnes séparées par des TAB. Cette syntaxe est équivalente à <Nom du champ>[<Indice>].
  • <Nom de la colonne> renvoie la valeur de la colonne pour la ligne en cours de parcours.
Le parcours n'a aucune influence sur la sélection courante.
Le comportement est indéterminé si le nombre d'éléments du champ est modifié pendant la boucle de parcours.
Nouveauté SaaS
Si l'instruction SANS FILTRE est spécifiée lors du parcours d'un champ Table, cette syntaxe permet de parcourir toutes les lignes d'un champ Table, sans tenir compte des filtres spécifiés par l'utilisateur via les FAA (Fonctionnalités Automatiques de vos Applications).
Les filtres mis en place par programmation sont pris en compte.
Cette syntaxe peut être utilisée par exemple pour rechercher un élément dans une colonne cachée du champ Table.
Attention : Cette fonctionnalité est disponible uniquement à partir de WINDEV Suite SaaS 2025 Update 3.
Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.

Syntaxe 2 : Parcours des éléments sélectionnés du champ

Cette syntaxe permet de parcourir toutes les lignes sélectionnées d'un champ Liste, d'un champ Table ou d'un champ Zone répétée.
Pour chaque ligne parcourue :
  • <Nom du champ> renvoie l'indice de la ligne sélectionnée en cours. <Indice> permet également de connaître l'indice de la ligne sélectionnée en cours.
  • <Nom du champ>[<Nom du champ>] renvoie toutes les colonnes séparées par des TAB.
  • <Nom de la colonne> renvoie la valeur de la colonne pour la ligne en cours de parcours. Il est également possible d'utiliser la syntaxe : <Colonne>[<Indice>]
Changement de comportement de la version 12 : Avant la version 12, le parcours n'avait aucune influence sur la sélection courante. Désormais, la ligne courante de la table est toujours déplacée pendant le parcours.
Le comportement est indéterminé si le nombre d'éléments du champ est modifié pendant la boucle de parcours.

Parcours des lignes d'un champ Table

Lors du parcours des lignes d'un champ Table :
  • l'affichage de ce champ Table est bloqué. La fonction MultitâcheRepeint n'est pas pris en compte.
  • il ne faut pas modifier la ou les lignes sélectionnées et/ou la ligne en cours (fonction TableSelectMoins, TableSelectPlus, ...).
  • dans le cas d'un champ Table fichier, dans la boucle de parcours, l'enregistrement en cours est l'enregistrement traité par le parcours.
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/05/2025

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