SortStructuredList()
Syntax
SortStructuredList(ListenName(), Optionen, OffsetOf(Struktur\Feld), Typ [, Start, Ende])Beschreibung
Sortiert die angegebene Liste 'ListenName()' entsprechend den übergebenen 'Optionen'. Die Liste muss eine zugehörige Struktur besitzen.
'Optionen' kann einer der folgenden Werte sein:
#PB_Sort_Ascending : Sortiert die Liste in aufsteigender Richtung (kleine Zahlen zuerst)
#PB_Sort_Descending : Sortiert die Liste in absteigender Richtung (große Zahlen zuerst)
#PB_Sort_NoCase : Sortiert eine Liste mit Strings ohne Berücksichtigung der Groß-/Kleinschreibung (a=A, b=B etc..)
Fixed strings (Strings mit fester Größe) werden nicht von der Sortierfunktion unterstützt.
OffsetOf() kann verwendet werden, um die Position eines Feldes in der der Liste zugewiesenen Struktur zu ermitteln, nach dem sortiert werden soll.
Der Parameter 'Typ' gibt den Typ des Feldes in der Struktur an. Dieser muss mit dem tatsächlich in der Struktur enthaltenen Feldtyp übereinstimmen. Verfügbare Typen sind:#PB_Sort_Byte : Das Strukturfeld, nach dem sortiert werden soll, ist ein Byte (.b) #PB_Sort_Word : Das Strukturfeld, nach dem sortiert werden soll, ist ein Word (.w) #PB_Sort_Long : Das Strukturfeld, nach dem sortiert werden soll, ist ein Long (.l) #PB_Sort_String : Das Strukturfeld, nach dem sortiert werden soll, ist ein String (.s oder $), Fixed Strings werden nicht unterstützt. #PB_Sort_Float : Das Strukturfeld, nach dem sortiert werden soll, ist ein Float (.f) #PB_Sort_Double : Das Strukturfeld, nach dem sortiert werden soll, ist ein Double (.d) #PB_Sort_Quad : Das Strukturfeld, nach dem sortiert werden soll, ist ein Quad (.q) #PB_Sort_Character: Das Strukturfeld, nach dem sortiert werden soll, ist ein Character (.c) #PB_Sort_Integer : Das Strukturfeld, nach dem sortiert werden soll, ist ein Integer (.i) #PB_Sort_Ascii : Das Strukturfeld, nach dem sortiert werden soll, ist ein Ascii-Zeichen (.a) #PB_Sort_Unicode : Das Strukturfeld, nach dem sortiert werden soll, ist ein Unicode-Zeichen (.u)Ein optionaler 'Start' - 'Ende' Bereich kann angegeben werden.Beispiel:
Structure Animal Name$ Speed.l EndStructure NewList Animals.Animal() AddElement(Animals()) Animals()\Name$ = "Tiger" Animals()\Speed = 10 AddElement(Animals()) Animals()\Name$ = "Jaguar" Animals()\Speed = 40 AddElement(Animals()) Animals()\Name$ = "Zebra" Animals()\Speed = 30 ; Sortiert die Liste nach dem Feld 'Name$', welches ein String ist ; SortStructuredList(Animals(), #PB_Sort_Ascending, OffsetOf(Animal\Name$), #PB_Sort_String) ForEach Animals() Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed) Next ; Sortiert die Liste nach dem Feld 'Speed', welches ein Long ist ; SortStructuredList(Animals(), #PB_Sort_Ascending, OffsetOf(Animal\Speed), #PB_Sort_Long) ForEach Animals() Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed) Next
Unterstützte OS
Alle