NewList


Syntax
NewList Name.<Typ>()      
Beschreibung
NewList ermöglicht die Einrichtung einer dynamisch verknüpften Liste ("Dynamic Linked List").

Jedes Element einer Liste wird dynamisch zugewiesen. Es gibt keine Einschränkungen in der Anzahl der Elemente, es können so viele wie nötig benutzt werden. Eine Liste kann jeden Standard- oder Struktur-Typ haben.

Für eine Liste aller Befehle zum Verwalten von Listen siehe die Linked List Bibliothek.

Die neuen verknüpften Listen sind immer lokal. Dies bedeutet, dass die Global oder Shared Befehle benutzt werden müssen, wenn eine im Haupt-Quellcode deklarierte Liste in Prozeduren verwendet werden soll. Es ist auch möglich, mit dem List-Schlüsselwort eine verknüpfte Liste als Parameter an eine Prozedur zu übergeben.

Für schnelles Vertauschen von Listen-Inhalten steht das Swap Schlüsselwort zur Verfügung.

Beispiel

  NewList MyList.l()
  
  AddElement(MyList())
  MyList() = 10
  
  AddElement(MyList())
  MyList() = 20
  
  AddElement(MyList())
  MyList() = 30
  
  ForEach MyList()
    Debug MyList()
  Next

Beispiel: Liste als Parameter für eine Prozedur

  NewList Test()
  
  ; Erste 2 Einträge der Liste hinzufügen:
  AddElement(Test())
  Test() = 1
  AddElement(Test())
  Test() = 2
  
  Procedure DebugList(count, List ParameterList())
    ; Weitere Einträge der Liste hinzufügen:
    For i=1 To count
      AddElement(ParameterList())
      ParameterList() = i
    Next 
    
    ; Alle Einträge in der Liste ausgeben:
    i = 1
    ForEach ParameterList() 
      MessageRequester("List", "Entry" + Str(i) + " = " + Str(ParameterList()))
      i + 1
    Next
  EndProcedure
  
  ; Drei weitere Einträge der Liste hinzufügen und deren gesamten Inhalt ausgeben:
  DebugList(3, Test())