SortStructuredList()

Syntax

SortStructuredList(ListenName(), Optionen, OffsetOf(Struktur\Feld), Typ [, Start, Ende])
Beschreibung
Sortiert die angegebene Liste 'ListenName()' entsprechend den übergebenen 'Optionen'. Das Array muss eine zugehörige Struktur besitzen.

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. Verfügbare Typen sind:

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 vom Typ Byte (.b)
  #PB_Sort_Word   : Das Strukturfeld, nach dem sortiert werden soll, ist vom Typ Word (.w)
  #PB_Sort_Long   : Das Strukturfeld, nach dem sortiert werden soll, ist vom Typ Long (.l)
  #PB_Sort_String : Das Strukturfeld, nach dem sortiert werden soll, ist vom Typ String (.s oder $)
  #PB_Sort_Float  : Das Strukturfeld, nach dem sortiert werden soll, ist vom Typ Float (.f)
Ein optionaler 'Start' - 'Ende' Bereich kann angegeben werden.

'Optionen' kann einen der folgenden Werte annehmen:

0: Sortiert die Liste in aufsteigender Richtung (kleine Zahlen zuerst)
1: Sortiert die Liste in absteigender Richtung (große Zahlen zuerst)
2: Sortiert eine Liste mit Strings ohne Berücksichtigung der Groß-/Kleinschreibung (a=A, b=B etc..) in aufsteigender Richtung
3: Sortiert eine Liste mit Strings ohne Berücksichtigung der Groß-/Kleinschreibung (a=A, b=B etc..) in absteigender Richtung

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$ = "Zebre"
  Animals()\Speed = 30
  
  ; Sortiert die Liste nach dem Feld 'Name$', welches ein String ist
  ;
  SortStructuredList(Animals(), 0, 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(), 0, OffsetOf(Animal\Speed), #PB_Sort_Long)
  
  ForEach Animals()
    Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed)
  Next

Unterstützte OS

Windows, Linux, MacOS X

<- SortStructuredArray() - Sort Inhaltsverzeichnis