// Trie le champ Liste en utilisant le tri lexicographique
ListeTrie(LISTE_Client, Vrai, ccOrdreLexicographique)
Syntaxe
ListeTrie(<Champ Liste> [, <Ordre de tri> [, <Options de tri>]])
<Champ Liste> : Nom de champ
Nom du champ Liste ou Combo à trier.
<Ordre de tri> : Booléen optionnel
- Vrai (par défaut) pour trier selon un ordre croissant,
- Faux pour trier selon un ordre décroissant.
<Options de tri> : Constante (ou combinaison de constantes) optionnelle
Options de tri sélectionnées pour le contenu du champ Liste (ou Combo) : | |
ccNormal | Tri effectuant une comparaison normale, similaire à l'opérateur =. |
ccOrdreLexicographique | Tri des chaînes de caractères selon l'ordre lexicographique (par exemple, le caractère 'é' est compris entre les caractères 'e' et 'f'). |
ccRespecteNumérique | Tri en tenant compte des numériques au sein des chaînes (dans ce cas, "10" est après "9"). |
ccSansAccent | Tri sans tenir compte des accents |
ccSansCasse | Tri sans tenir compte de la casse des caractères (majuscules/minuscules). |
ccSansEspace | Tri sans tenir compte des espaces avant et après les chaînes de caractères. |
ccSansPonctuationNiEspace | Tri sans tenir compte de la ponctuation ni des espaces (voir Remarques pour plus de détails). |
triDéfaut (valeur par défaut) | Tri insensible à la casse, aux accents et sensible aux espaces. |
triSansFonctionGxxx | Tri ignorant les éléments de type gImage, gValeurMémorisée, ... Par défaut, ces éléments sont pris en compte pour le tri. |
Remarques
Effet de la fonction ListeTrie
La fonction
ListeTrie a un effet ponctuel : les éléments ajoutés dans le champ Liste ou dans le champ Combo après l'utilisation de la fonction
ListeTrie respecteront les options de tri définies dans la fenêtre de description du champ.
Comparaison des numériques
La constante
ccRespecteNumérique effectue le tri en tenant compte de la valeur numérique représentée par les chiffres et non pas simplement de l'ordre alphabétique des chiffres.
Ainsi sans la constante ccRespecteNumérique, les chaînes suivantes seront classées dans cet ordre : "chaîne1", "chaîne10", "chaîne2"
Avec la constante ccRespecteNumérique, les mêmes chaînes seront classées dans cet ordre : "chaîne1", "chaîne2", "chaîne10"
Voici quelques exemples de comparaison réalisées avec ou sans la constante ccRespecteNumérique :
| |
Tri de chaînes contenant des chiffres sans la constante ccRespecteNumérique | Tri de chaînes contenant des chiffres avec la constante ccRespecteNumérique |
0 | 00 |
00 | 0 |
001 | 001 |
009 | 01 |
01 | 1 |
010 | 009 |
09 | 09 |
1 | 9 |
10 | 010 |
11 | 10 |
9 | 11 |
| |
Tri de chaînes contenant des chiffres sans la constante ccRespecteNumérique | Tri de chaînes contenant des chiffres avec la constante ccRespecteNumérique |
10.00Aa | 7.00Aa |
10.01Gh | 7.01Ba |
10.50Ag | 7.01Dfe |
11.00Aa | 7.50Fg |
7.00Aa | 7.51Tga |
7.01Ba | 8.00Aa |
7.01Dfe | 8.01Gjk |
7.50Fg | 8.01Ty |
7.51Tga | 8.50Ze |
8.00Aa | 9.00Aa |
8.01Gjk | 9.80Er |
8.01Ty | 9.99Zaaa |
8.50Ze | 10.00Aa |
9.00Aa | 10.01Gh |
9.80Er | 10.50Ag |
9.99Zaaa | 11.00Aa |
Caractères pris en compte pour la ponctuation et les espaces
Les caractères pris en compte pour la ponctuation et les espaces sont fournis par le système. Pour obtenir la liste de ces caractères, il suffit d'écrire le code WLangage suivant :
s est une chaîne
POUR i = 0 À 255
SI Caract(i) <> ChaîneFormate(Caract(i), ccSansPonctuationNiEspace) ALORS
s += Caract(i)
FIN
FIN
Info(s)
VersPressePapier(s)
Composante : wd270obj.dll