SortStructuredList()
Syntaxe
SortStructuredList(ListName(), Mode, OffsetDuChamp, Type [, Debut, Fin])Description
Trie la liste selon les options souhaitées. La liste doit avoir une structure associée. OffsetOf() peut être utilisé pour obtenir l'offset du champ dans la structure associée à la liste. Le paramètre 'Type' défini le type du champ de la structure qui sert pour le tri. Les types disponibles sont:#PB_Sort_Byte : Le champ de la structure utilisé pour le tri est un octet (.b) #PB_Sort_Word : Le champ de la structure utilisé pour le tri est un word (.w) #PB_Sort_Long : Le champ de la structure utilisé pour le tri est un long (.l) #PB_Sort_String : Le champ de la structure utilisé pour le tri est un string (.s or $, les fixed strings ne sont pas supportés) #PB_Sort_Float : Le champ de la structure utilisé pour le tri est un flottant (.f) #PB_Sort_Double : Le champ de la structure utilisé pour le tri est un double (.d) #PB_Sort_Quad : Le champ de la structure utilisé pour le tri est un quad (.q) #PB_Sort_Character: Le champ de la structure utilisé pour le tri est un caractère (.c)Une plage Début, Fin optionnelle peut être indiquée.
'Mode' peut être une combinaison avec l'une des constantes suivantes :
#PB_Sort_Ascending : Trie le tableau en ordre ascendant (les plus petites valeurs en tête)
#PB_Sort_Descending: Trie le tableau en ordre descendant (les plus grandes valeurs en tête)
et la constante suivante :
#PB_Sort_NoCase : Trie un tableau 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.
Les chaînes fixes 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$), #PB_Sort_String) 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), #PB_Sort_Long) ForEach Animaux() Debug Animaux()\Nom$+" - Vitesse : "+Str(Animaux()\Vitesse) Next
OS Supportés
Tous