|
|
|
|
|
- Divers
- Exemples de procédure de tri personnalisée
<Tableau>.Trie (Fonction) En anglais : <Array>.Sort Trie un tableau WLangage. Les différents tris suivants peuvent être réalisés : - Tri d'un tableau d'éléments simples à une dimension.
- Tri d'un tableau d'éléments simples à deux dimensions selon une ou plusieurs colonnes.
- Tri d'un tableau de classes ou de structures à une dimension selon 1 ou plusieurs membres.
- Tri d'un tableau d'enregistrements selon 1 ou plusieurs rubriques.
- Tri d'un tableau à une dimension en fournissant une procédure de comparaison.
// Tri d'un tableau à une dimension MonTableau est un tableau de 2 entiers MonTableau[1] = 4 MonTableau[2] = 1 MonTableau.Trie(ttCroissant) Trace(MonTableau[1], MonTableau[2]) // Affiche "1" puis "4" // Tri d'un tableau à 2 dimensions selon la 2ème colonne MonTableau.Trie(ttCroissant, 2) // Tri d'un tableau à 2 dimensions selon la 2ème colonne // (croissant) et la 3ème colonne (décroissant) MonTableau.Trie(ttColonne, "2;-3") // Tri d'un tableau en utilisant 1 procédure de comparaison MonTableau.Trie(ttFonction, Compare)  // Procédure de comparaison PROCÉDURE INTERNE Compare(Elément1, Elément2) SI Elément1.Membre < Elément2.Membre ALORS RENVOYER -1 SI Elément1.Membre > Elément2.Membre ALORS RENVOYER 1 RENVOYER 0 Syntaxe
Tri d'un tableau d'éléments simples à une dimension Masquer les détails
<Tableau WLangage>.Trie([<Type de tri>])
<Tableau WLangage> : Tableau - Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension.
Ce tableau peut également correspondre à un tableau d'éléments simples d'une variable de type avancé (par exemple, tableau "Groupe" dans les variables de type gglContact). - Nom de la variable de type Tableau associatif à manipuler.
Les tableaux associatifs ne peuvent être être triés dans cette version.
<Type de tri> : Constante optionnelle de type entier Type de tri à effectuer : | | ttCroissant (Valeur par défaut) | Tri croissant.Cas d'un tableau associatif : Tri des éléments du tableau associatif :- si la constante ttClé est précisée : Le tri est effectué selon l'ordre croissant des clés. En cas d'égalité entre deux clés, les valeurs sont triées selon la valeur croissante si les valeurs sont comparables. Si les valeurs ne sont pas comparables, l'ordre initial est conservé.
- si la constante ttClé n'est pas précisée : Le tri est effectué selon l'ordre croissant des valeurs. En cas d'égalité entre deux valeurs, les valeurs sont triées selon la clé croissante.
| ttDécroissant | Tri décroissant.Cas d'un tableau associatif : Tri des éléments du tableau associatif :- si la constante ttClé est précisée : Le tri est effectué selon l'ordre décroissant des clés. En cas d'égalité entre deux clés, les valeurs sont triées selon la valeur décroissante si les valeurs sont comparables. Si les valeurs ne sont pas comparables, l'ordre initial est conservé.
- si la constante ttClé n'est pas précisée : Le tri est effectué selon l'ordre décroissant des valeurs. En cas d'égalité entre deux valeurs, les valeurs sont triées selon la clé décroissante.
|
Le type de tri peut être combiné avec une ou plusieurs options de tri : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Tableau trié sans tenir compte des accents. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Tableau trié sans tenir compte de la casse. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Tableau trié sans tenir compte des espaces au début et à la fin des chaînes. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Tableau trié sans tenir compte des espaces à l'intérieur des chaînes. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Tableau trié sans tenir compte des espaces et des ponctuations. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| ttClé | Tableau associatif trié selon l'ordre des clés. Si cette constante n'est pas spécifié, le tableau associatif est trié selon l'ordre des valeurs. Cette option est utile uniquement sur les tableaux associatifs. |
Tri d'un tableau d'éléments simples à deux dimensions selon une colonne Masquer les détails
<Tableau WLangage>.Trie([<Type de tri>, ] <Colonne>)
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à 2 dimensions.Ce tableau peut également correspondre à un tableau à deux dimensions d'un type avancé (par exemple tri d'une variable de type xlsDocument selon les valeurs d'une colonne). <Type de tri> : Constante optionnelle de type entier Type de tri à effectuer : | | ttCroissant (Valeur par défaut) | Tri croissant | ttDécroissant | Tri décroissant |
Le type de tri peut être combiné avec une ou plusieurs options de tri : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Tableau trié sans tenir compte des accents. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Tableau trié sans tenir compte de la casse. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Tableau trié sans tenir compte des espaces au début et à la fin des chaînes. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Tableau trié sans tenir compte des espaces à l'intérieur des chaînes. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Tableau trié sans tenir compte des espaces et des ponctuations. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
|
<Colonne> : Entier Indice de la colonne où le tri doit être effectué.
Tri d'un tableau d'éléments simples à deux dimensions selon plusieurs colonnes Masquer les détails
<Tableau WLangage>.Trie(<ttColonne> , <Colonnes>)
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à 2 dimensions.Ce tableau peut également correspondre à un tableau à deux dimensions d'un type avancé (par exemple tri d'une variable de type xlsDocument selon les valeurs d'une ou de plusieurs colonnes). <ttColonne> : Constante ttColonne : Constante permettant de trier un tableau d'éléments simples à deux dimensions selon plusieurs colonnes.La constante ttColonne peut être combinée avec une ou plusieurs options de tri : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Tableau trié sans tenir compte des accents. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Tableau trié sans tenir compte de la casse. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Tableau trié sans tenir compte des espaces au début et à la fin des chaînes. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Tableau trié sans tenir compte des espaces à l'intérieur des chaînes. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Tableau trié sans tenir compte des espaces et des ponctuations. Cette option s'applique à toutes les colonnes sur lesquelles le tri est effectué. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
|
<Colonnes> : Chaîne de caractères Liste des colonnes dans lesquelles le tri doit être effectué. Les différentes colonnes doivent être séparées par un point virgule. Pour indiquer le sens du tri, l'indice de la colonne doit être précédé : - du signe "+" (ou de rien) pour un tri croissant.
- du signe "-" pour un tri décroissant.
Par exemple : "2;-3" pour effectuer un tri croissant sur la seconde colonne et un tri décroissant sur la troisième colonne.
Tri d'un tableau de classes, de structures ou d'enregistrements à une dimension Masquer les détails
<Tableau WLangage>.Trie(<ttMembre> , <Membres>)
<Tableau WLangage> : Tableau - Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension. Ce tableau peut être :
- un tableau de classes,
- un tableau de structures,
- un tableau de types avancés,
- un tableau d'enregistrements.
- Nom de la variable de type Tableau associatif à manipuler. Ce tableau peut être :
- un tableau associatif de classes,
- un tableau associatif de structures,
- un tableau associatif de types avancés,
Les tableaux associatifs ne peuvent être être triés dans cette version. - un tableau associatif d'enregistrements.
<ttMembre> : Constante ttMembre : Constante permettant de trier un tableau de classes, de structures ou d'enregistrements à une dimension.Cas d'un tableau associatif : Les éléments du tableau associatif sont triés selon l'ordre des valeurs des membres précisés. En cas d'égalité entre deux valeurs, les valeurs sont triées selon la clé croissante ou décroissante (selon le sens de tri du premier membre). La constante ttMembre peut être combinée avec une ou plusieurs options de tri : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccSansAccent | Tableau trié sans tenir compte des accents. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccSansCasse | Tableau trié sans tenir compte de la casse. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansEspace | Tableau trié sans tenir compte des espaces au début et à la fin des chaînes. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansEspaceIntérieur | Tableau trié sans tenir compte des espaces à l'intérieur des chaînes. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansPonctuationNiEspace | Tableau trié sans tenir compte des espaces et des ponctuations. Cette option s'applique à tous les membres sur lesquels le tri est effectué. Cette option est utile uniquement sur les membres de type chaîne de caractères.
|
<Membres> : Chaîne de caractères Nom des membres utilisés comme critère de tri. Si le tri est effectué sur plusieurs membres, leurs noms doivent être séparés par des points-virgules. Pour indiquer le sens du tri, le nom du membre doit être précédé : - du signe "+" (ou de rien) pour un tri croissant.
- du signe "-" pour un tri décroissant.
- du signe "." ou ":" pour effectuer un tri sur des propriétés chaînées.
Par exemple : - "Membre1;-Membre3" pour effectuer un tri croissant sur le membre membre1 et un tri décroissant sur le membre Membre3. - "Source.URL" pour effectuer un tri sur la propriété URL de la propriété Source.
Tri d'un tableau à une dimension avec une procédure de tri Masquer les détails
<Tableau WLangage>.Trie(<ttFonction> , <Procédure de tri WLangage>)
<Tableau WLangage> : Tableau - Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension. Ce tableau peut être un tableau de types avancés.
- Nom de la variable de type Tableau associatif à manipuler.
Les tableaux associatifs ne peuvent être être triés dans cette version.
<ttFonction> : Constante ttFonction : Constante permettant de trier un tableau à une dimension avec une procédure de tri. <Procédure de tri WLangage> : Nom de procédure Nom de la procédure utilisée pour trier les éléments du tableau. - Cas d'un tableau à une dimension : Procédure WLangage de la forme :
PROCEDURE MaProcédure(Elément1, Elément2) Cette procédure est appelée automatiquement par le mécanisme de tri pour comparer les éléments entre eux deux par deux. Si l'élément 1 doit être situé avant l'élément 2 dans l'ordre de tri, la procédure doit renvoyer -1. Si l'élément 1 doit être situé après l'élément 2 dans l'ordre de tri, la procédure doit renvoyer 1. Si l'élément 1 et l'élément 2 sont identiques, la procédure doit renvoyer 0. - Cas d'un tableau associatif : Procédure WLangage de la forme :
PROCEDURE MaProcédure(Valeur1, Clé1, Valeur2, Clé2) Cette procédure est appelée automatiquement par le mécanisme de tri pour comparer les éléments entre eux deux par deux. La comparaison peut être effectuée dans la procédure de tri soit selon les valeurs, soit selon les clés. Si l'élément 1 doit être situé avant l'élément 2 dans l'ordre de tri, la procédure doit renvoyer -1. Si l'élément 1 doit être situé après l'élément 2 dans l'ordre de tri, la procédure doit renvoyer 1. Si l'élément 1 et l'élément 2 sont identiques, la procédure doit renvoyer 0.
Remarques Exemples de procédure de tri personnalisée Exemple de procédure pour comparer 2 entiers :
PROCÉDURE MaProcédure(nEntier1, nEntier2) SI nEntier1 > nEntier2 ALORS RENVOYER 1 SI nEntier1 < nEntier2 ALORS RENVOYER -1 RENVOYER 0 Exemple de procédure pour comparer deux éléments d'un tableau de structures :
PROCÉDURE MaProcédure(stVar1, stVar2) SI stVar1:nEntier > stVar2:nEntier ALORS RENVOYER 1 SI stVar1:nEntier < stVar2:nEntier ALORS RENVOYER -1 RENVOYER 0
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|