SortStructuredList()

Syntax

SortStructuredList(ListName(), Options, OffsetOf(Structure\Field), Type [, Start, End])
Description
Sort the specified list, according to the given 'Options'. The list must have an associated structure. OffsetOf() may be used to retrieve the field offset in the structure associated to the list. The 'Type' parameter determine the type of the field in the structure. It must match the real structure field type. Available types are :
  #PB_Sort_Byte     : The structure field to sort is a byte (.b)
  #PB_Sort_Word     : The structure field to sort is a word (.w)
  #PB_Sort_Long     : The structure field to sort is a long (.l)
  #PB_Sort_String   : The structure field to sort is a string (.s or $, fixed strings are not supported)
  #PB_Sort_Float    : The structure field to sort is a float (.f)
  #PB_Sort_Double   : The structure field to sort is a double (.d)
  #PB_Sort_Quad     : The structure field to sort is a quad (.q)
  #PB_Sort_Character: The structure field to sort is a character (.c)
  #PB_Sort_Integer  : The structure field to sort is an integer (.i)
  #PB_Sort_Ascii    : The structure field to sort is an ascii character (.a)
  #PB_Sort_Unicode  : The structure field to sort is a unicode character (.u)
An optional 'Start' and 'End' range index may be specified.

'Options' can take the following values:

#PB_Sort_Ascending : Sort the list in ascending order (low values first)
#PB_Sort_Descending: Sort the list in descending order (high values first)
#PB_Sort_NoCase : Sorts the string list without case sensitive (a=A, b=B etc..)

Note: Fixed strings are not supported by the sort routine.

Example:


  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

  SortStructuredList(Animals(), 0, OffsetOf(Animal\Name$), #PB_Sort_String)

  ForEach Animals()
    Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed)
  Next

  SortStructuredList(Animals(), 0, OffsetOf(Animal\Speed), #PB_Sort_Long)

  ForEach Animals()
    Debug Animals()\Name$+" - Speed: "+Str(Animals()\Speed)
  Next

Supported OS

All

<- SortStructuredArray() - Sort Index