SortStructuredArray()
Syntaxe
SortStructuredArray(ArrayName(), Mode, OffsetDuChamp, Type [, Debut, Fin])Description
Trie le tableau selon les options souhaitées. Le tableau doit avoir une structure associée. OffsetOf() peut être utilisé pour obtenir l'offset du champ dans la structure associée au tableau. 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.
Notes: Si un tableau n'est pas totalement plein les éléments vides seront placés en tête dans l'ordre ascendant et en fin dans l'ordre descendant.
Les chaînes fixes ne sont pas supportées dans les commandes de tri.
Exemple:
Structure Animal Nom$ Vitesse.l EndStructure Dim Animaux.Animal(2) Animaux(0)\Nom$ = "Tigre" Animaux(0)\Vitesse = 10 Animaux(1)\Nom$ = "Jaguar" Animaux(1)\Vitesse = 40 Animaux(2)\Nom$ = "Zèbre" Animaux(2)\Vitesse = 30 ; Trie le tableau en fonction du champ 'Nom$'qui est une chaîne de caractères (String) ; SortStructuredArray(Animaux(), #PB_Sort_Ascending, OffsetOf(Animal\Nom$), #PB_Sort_String) For k=0 To 2 Debug Animaux(k)\Nom$+" - Vitesse : "+Str(Animaux(k)\Vitesse) Next ; Trie le tableau en fonction du champ 'Vitesse' qui est un long ; SortStructuredArray(Animaux(), #PB_Sort_Ascending, OffsetOf(Animal\Vitesse), #PB_Sort_Long) For k=0 To 2 Debug Animaux(k)\Nom$+" - Vitesse : "+Str(Animaux(k)\Vitesse) Next
OS Supportés
Tous