UpsKrn.Liste.Grouper

Fonction Optimiser(Invariant) Grouper(Critere : Nul Ou Fonction(O1: Nul Ou TypeElement, O2 : Nul Ou TypeElement) Retourner ComparaisonObjet) Retourner Nul Ou Liste(Nul Ou TypeElement);

Description

La méthode Grouper permet de grouper les éléments de la liste selon le critère Critere. Le résultat du regroupement est une liste comportant un seul élément représentant chaque groupe. Un regroupement induit un tri sur le critère.

Si la liste est nulle ou si Critere est Nul, alors le résultat est Nul.

Critere est une fonction à deux arguments dont les types doivent être identiques au type des éléments de la liste à trier.

Exemple

Type Personne Defaut
/******************/
Fin Type

/****************************************************************/
Fonction ParDateDeNaissance(P1 : Nul Ou Personne, P2 : Nul Ou Personne) Retourner ComparaisonObjet
/* Objet : Teste la date de naissance. */
/****************************************************************/
Debut
Si P1==Nul Ou P2==Nul Alors Fin Si
Si P1.DateDeNaissance<P2.DateDeNaissance Alors Fin Si
Si P1.DateDeNaissance>P2.DateDeNaissance Alors Fin Si Retourner ComparaisonEgal;
Fin Fonction

Principal
/*******/
Variable
/******/

Debut
...
L.Grouper(ParDateDeNaissance);
/* Groupement des éléments de la liste par date de naissance. Il n'y a qu'un seul élément pour une date donnée. */
...
Fin Principal

Voir aussi

Trier pour trier les éléments selon un critère. Filtrer pour filtrer les éléments selon un critère.

ComparaisonObjet pour spécifier la comparaison de deux objets selon un critère.

Traduction

---------