SortStructuredList()

Syntax

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

Parameter

ListenName() Die zu sortierende Liste.
Optionen Dies kann eine Kombination 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..)
OffsetOf(Struktur\Feld) Offset des Feldes in der Struktur. OffsetOf() kann verwendet werden, um die Position eines Feldes in der dem Array zugewiesenen Struktur zu ermitteln, nach dem sortiert werden soll.
TypeOf(Struktur\Feld) Der Feld-Typ des Feldes in der Struktur. Dieser muss mit dem tatsächlichen Struktur-Feld-Typ übereinstimmen. TypeOf() kann verwendet werden, um automatisch den Feld-Typ zu ermitteln. Verfügbare Typen sind:
  #PB_Byte     : Das Strukturfeld, nach dem sortiert werden soll, ist ein Byte (.b)
  #PB_Word     : Das Strukturfeld, nach dem sortiert werden soll, ist ein Word (.w)
  #PB_Long     : Das Strukturfeld, nach dem sortiert werden soll, ist ein Long (.l)
  #PB_String   : Das Strukturfeld, nach dem sortiert werden soll, ist ein String (.s oder $), Fixed Strings werden nicht unterstützt.
  #PB_Float    : Das Strukturfeld, nach dem sortiert werden soll, ist ein Float (.f)
  #PB_Double   : Das Strukturfeld, nach dem sortiert werden soll, ist ein Double (.d)
  #PB_Quad     : Das Strukturfeld, nach dem sortiert werden soll, ist ein Quad (.q)
  #PB_Character: Das Strukturfeld, nach dem sortiert werden soll, ist ein Character (.c)  
  #PB_Integer  : Das Strukturfeld, nach dem sortiert werden soll, ist ein Integer (.i)
  #PB_Ascii    : Das Strukturfeld, nach dem sortiert werden soll, ist ein Ascii-Zeichen (.a)
  #PB_Unicode  : Das Strukturfeld, nach dem sortiert werden soll, ist ein Unicode-Zeichen (.u)
Start, Ende (optional) Der Index des ersten und letzten Elements in der Liste, welche sortiert werden sollen. Wenn diese Parameter nicht angegeben werden, dann wird die ganze Liste sortiert.

Anmerkungen

Fixed strings (Strings mit fester Größe) werden nicht von der Sortierfunktion unterstützt.

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$), TypeOf(Animal\Name$))
  
  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), TypeOf(Animal\Speed))
  
  ForEach Animals()
    Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed)
  Next

Siehe auch

SortList(), RandomizeList()

Unterstützte OS

Alle

<- SortStructuredArray() - Sort Inhaltsverzeichnis