SortStructuredList()
Syntaxe
SortStructuredList(Liste(), Options, OffsetOf(Structure\Champs), TypeOf(Structure\Champs) [, Debut, Fin])Description
Trie une liste de structures.
Arguments
Liste() La liste de structures à trier selon les options souhaitées.
La liste doit avoir une structure associée.Options Peut être une combinaison des constantes suivantes:
#PB_Sort_Ascending : Trie la liste par ordre croissant (les plus petites valeurs en tête)
#PB_Sort_Descending: Trie la liste par ordre décroissant (les plus grandes valeurs en tête)
Et la constante suivante :
#PB_Sort_NoCase : Trie la liste de chaînes de caractères en ne tenant pas compte de la casse (a=A, b=B etc..).
Par défaut le tri est sensible à la casse.OffsetOf(Structure\Champs) OffsetOf() peut être utilisé pour obtenir l'offset du champ dans la structure associée à la liste. TypeOf(Structure\Champs TypeOf() définit le type du champ de la structure qui sert pour le tri. Les types disponibles sont: #PB_Byte : Le champ de la structure est un octet (.b) #PB_Word : Le champ de la structure est un word (.w) #PB_Long : Le champ de la structure est un long (.l) #PB_String : Le champ de la structure est un string (.s ou $). Les strings fixe (fixed strings) ne sont pas supportées) #PB_Float : Le champ de la structure est un flottant (.f) #PB_Double : Le champ de la structure est un double (.d) #PB_Quad : Le champ de la structure est un quad (.q) #PB_Character: Le champ de la structure est un caractère (.c) #PB_Integer : Le champ de la structure est un integer (.i) #PB_Ascii : Le champ de la structure est un caractère ascii (.a) #PB_Unicode : Le champ de la structure est un caractère unicode (.u)Debut, Fin (optionnel) Ne trie que la plage de 'Debut' à 'Fin'.
Le premier élément d'une list a la position 0, le deuxième la position 1, etc..
Valeur de retour
Aucune.
Remarques
Notes: Les chaînes fixes (fixed strings) ne sont pas supportées dans les commandes de tri.
Exemple
Structure Animal Nom$ Vitesse.l EndStructure NewList Animaux.Animal() AddElement(Animaux()) Animaux()\Nom$ = "Tigre" Animaux()\Vitesse = 10 AddElement(Animaux()) Animaux()\Nom$ = "Jaguar" Animaux()\Vitesse = 40 AddElement(Animaux()) Animaux()\Nom$ = "Zèbre" Animaux()\Vitesse = 30 ; Trie la liste en fonction du champ 'Nom$'qui est une chaîne de caractères (String) ; SortStructuredList(Animaux(), #PB_Sort_Ascending, OffsetOf(Animal\Nom$),TypeOf(Animal\Nom$)) ForEach Animaux() Debug Animaux()\Nom$+" - Vitesse : "+Str(Animaux()\Vitesse) Next ; Trie la liste en fonction du champ 'Vitesse' qui est un long ; SortStructuredList(Animaux(), #PB_Sort_Ascending, OffsetOf(Animal\Vitesse), TypeOf(Animal\Vitesse)) ForEach Animaux() Debug Animaux()\Nom$+" - Vitesse : "+Str(Animaux()\Vitesse) Next
Voir aussi
SortArray(), SortList(), SortStructuredArray(), RandomizeArray(), RandomizeList(), Random(), RandomSeed()
OS Supportés
Tous