Listen von Variablen

Listen von Variablen werden im Strukturbaum einer TCE-Klasse angelegt, in dem der Schalter <Liste> in den Eigenschaften einer Variablen aktiviert wird.

Lokale Variable werden als Liste deklariert, in dem ein () an den Namen der Variable angehängt wird.

 

Beispiel für eine Listendeklaration für einen TCE-Objektzeiger bzw. ein lokale Objektliste:

Dim Autos() As "Auto", DoubleList() As Double, VariantList() As Variant

 

 

Listen von Variablen besitzen einen nullbasierten Index. Das erste Element einer Liste lässt sich demnach ansprechen über:

 

S := Autos(0)

 

Listen von Variablen müssen nicht redimensioniert werden. Durch die Zuweisung eines Index wird dies von TCE automatisch durchgeführt.

 

Dim Autos() As "Auto"

 

Autos(2) := "BMW"

Autos(5) := "Mercedes"

 

Listen können auch über die Kurzschreibweise mit geschweiften Klammern belegt werden:

 

Autos := {"Mercedes", NoValue, "BMW"}

In dieser Schreibweise erhält Autos(0) ein Objekt der Klasse „Mercedes“, Autos(1) bleibt NoValue und Autos(2) erhält ein Objekts der Klasse „BMW“.

 

Zur besseren Kenntlichmachung, dass es sich um neuangelegte Objekte einer bestimmten Klasse handelt, bietet sich auch folgende Schreibweise an:

 

Autos := {New ::Mercedes, NoValue, New ::BMW}

 

Die untere und obere Grenze einer Liste kann über die Attribute LowBound und UpBound ermittelt werden. Ist eine Liste leer, liefert Upbound den Wert -1, ansonsten den höchsten belegten Index der Liste. LowBound liefert -1 bei leeren Listen, ansonsten den kleinsten belegten Index.

Eine Liste wird fehlerfrei durchlaufen, wenn folgender Code ausgeführt wird:

 

Dim i As Long

 

If Autos.UpBound > -1 Then

   For i := Autos.LowBound To Autos.UpBound

      If Autos(i) <> NoValue Then

         S := Autos(i).Modellname

      End If

   EndFor

End If

 

Ist für die Programmierung der Index nicht interessant, kann ein vereinfachter Code ausgeführt werden:

 

Dim A As ::Auto, s As String

For Each A In Autos

   s := A.Modellname

EndFor

 

Listen von Variablen verfügen, wie alle anderen TCE-Variablentypen über Attribute und Attributfunktionen:

 

Variant-Listen ermöglichen den Aufbau von heterogenen Arrays.

 

Dim Array() As Variant, Value As String

 

Array := { {"A", 1, 10}, {"B", 2, 20}, {"C", 3, 30}}

Value := Array(1)(0)

Value enthält dementsprechend den Wert “B”.

 

 

Standard-Attribute und Attributfunktionen:

 

Description

ItemList

Name

Tag

Valid

ValidItemList

 

 

More:

Add (Listen-Variable)

Changed (Listen-Variable)

Clear (Listen-Variable)

ClearFrom (Listen-Variable)

Count (Listen-Variable)

Exists (Listen-Variable)

Find (Listen-Variable)

GetStringList (Listen-Variable)

Insert (Listen-Variable)

Join (Listen-Variable)

Insert (Listen-Variable)

LowBound (Listen-Variable)

Pack (Listen-Variable)

Remove (Listen-Variable)

RemoveLast (Listen-Variable)

Sort (Listen-Variable)

SortIndirect (Listen-Variable)

Insert (Listen-Variable)

Insert (Listen-Variable)

UpBound (Listen-Variable)

Valid (Listen-Variable)