Kombinationen von anwenderdefinierten Datentypen
Anwenderdefinierte Datentypen können nicht nur verschachtelt (ohne rekursive Aufrufe), sondern auch kombiniert werden.
Verwenden Sie den 'Init-Werteeditor' zum Initialisieren von Strukturen und Feldern.
Felder von Strukturen (ARRAYs of STRUCTs)
Die Verwendung eines Feldes, das Strukturen enthält, d.h. Strukturen, die in Feldern angeordnet sind, zeigt das folgende Beispiel.
Hier wird mit dem ARRAY 'line' eine Produktionslinie mit 6 Bohrmaschinen (STRUCT 'machine') abgebildet. Über den Index des ARRAY kann auf jede einzelne Station zugegriffen werden. Über die Komponenten der Struktur können die unterschiedlichen Bohrwerte zugewiesen werden.
Strukturen mit Feldern, Enumerationen und Zeichenfolgen (STRUCTs mit ARRAYs, ENUMs und STRINGs)
Felder, Enumerationen und Zeichenfolgen können in Strukturen verwendet werden, d.h. ein oder mehrere anwenderdefinierte Datentypen können als Komponenten in einer Struktur enthalten sein. Im folgenden Beispiel enthält die STRUCT das ARRAY 'seq' und die ENUM 'material' mit den Werten 'wood', 'aluminium' oder 'stone'.
Initialisierung von Feld-Struktur-Kombinationen
Kombinationen aus Strukturen und Feldern, oder genauer gesagt die darin enthaltenen einzelnen Elemente/Member, lassen sich auch über sogenannte Wiederholwerte initialisieren.
Weitere Infos
Informationen zum unten genannten 'Init-Werteeditor' finden Sie im Thema "Felder (ARRAYs) und Strukturen (STRUCTs) initialisieren". |
Beispiel 1: Struktur mit Array
Im folgenden Beispiel enthält die Struktur MyStruct neben anderen Elementen ein Array von Integer-Werten.
Im 'Init-Werteeditor' könnte eine Initialisierungsanweisung wie folgt lauten:
Beispiel 2: Array von Strukturen
Im folgenden Beispiel ist im Datentyp-Arbeitsblatt ein Array der STRUCT MyStruct deklariert:
Der Initialisierungsstring im 'Init-Werteeditor' enthält Wiederholwerte nicht nur für das Array innerhalb von MyStruct, sondern auch für das Array der Struktur:
Erklärung der Initialisierungsanweisung:
[
4((Field1 := 1, Field2 := TRUE, Field3 := [10(4)])),//Initialisieren der ersten 4 Elemente
2( ), //Standardanfangswerte für die nächsten 2 Elemente
4((Field1 := 9, Field2 := TRUE, Field3 := [5(3), 5 (6)])) //Initialisieren der letzten 4 Elemente
]