DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Fonctionnement
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
Renvoie un tableau contenant les éléments d'un tableau source pour lesquels une procédure renvoie Vrai.
Exemple
// Récupère le tableau de tous les clients
tabClient est un tableau de Client
 
// Construit le tableau des clients dont le compte est débiteur
tabClientDébiteur est un tableau de Client
tabClientDébiteur = tabClient.Filtre(UnClient => UnClient.Solde<0)
// -> conserver les chiffres pairs d'un tableau
tab2 est un tableau d'entiers = [1, 2, 3, 4]
tab2 = tab2.Filtre( X => EstPair(X))
// tab2 = [2, 4]
Syntaxe
<Résultat> = <Tableau source>.Filtre(<Condition à vérifier>)
<Résultat> : Tableau WLangage
Tableau contenant les éléments du <Tableau source> pour lesquels la procédure <Condition à vérifier> renvoie Vrai.
<Tableau source> : Tableau WLangage
Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension.
<Condition à vérifier> : Procédure WLangage
Nom de la procédure WLangage à exécuter pour chaque élément du <Tableau source>. Cette procédure doit renvoyer Vrai ou Faux.
Cette procédure peut être :
  • une procédure globale ou locale,
  • une procédure interne.
Il est également possible d'utiliser directement une procédure lambda.
Remarques

Fonctionnement

La procédure <Condition à vérifier> est appelée pour chaque élément du tableau en passant cet élément en paramètre.
Si la procédure renvoie Vrai, l'élément du tableau source est stocké dans le tableau <Résultat>.

Enchaînement de fonctions
Il est possible d'enchaîner les différentes fonctions de manipulation d'un tableau.
Les fonctions suivantes peuvent être utilisées dans un enchaînement : Cet enchaînement pourra être utilisé comme source d'une instruction POUR TOUT ou se terminer par une des fonctions suivantes :
Exemple :
gnMoyenne = gtabUser.Filtre(cbFiltre).Transforme(cbTransforme).Moyenne()
Liste des exemples associés :
Les fonctions Filtre / Transforme / Agrège Exemples unitaires (WINDEV) : Les fonctions Filtre / Transforme / Agrège
[ + ] Cet exemple montre l'utilisation des fonctions Filtre / Transforme / Agrège.

Le concept de Filter / Map / Reduce (Filtre / Transforme / Agrège en français) permet de réaliser des opérations sur des collections de données de manière extrêmement concise.

La fonction Filtre permet de filtrer un tableau d'éléments de manière personnalisée (avec une procédure callback).

La fonction Transforme permet de transformer un tableau d'éléments, toujours avec une procédure callback.

La fonction Agrège permet d'agréger des données de manière personnalisée avec une procédure callback.

Ici, cet exemple permet de calculer l'âge moyen des femmes parmi les utilisateurs affichés dans un champ Table.
Composante : wd280vm.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Amélioration du filtrage d'un tableau
Autoriser de filtrer un tableau à partir d'une variable

// Construit le tableau des clients dont le compte est débiteur
tabClientDébiteur est un tableau de Client
MontantMaxi est un réél = 300

tabClientDébiteur = tabClient.Filtre(UnClient => UnClient.Solde< MontantMaxi)
Dominique S.
06 oct. 2022