-> Hier kostenlos registrieren
Hallo Zusammen,
ich möchte gern wissen ob man sich bei der Deklaration auf die "automatischen" Inkremente verlassen kann und den Enum auch als Array Index verwenden kann.
Beispiel:
Kann man so sicher Zugreifen oder verwendet der Compiler da Zufallszahlen?
In der InfoSys wird bei ENUMs automatisch das Attribut 'strict' hinzugefügt, damit es einen Compilerfehler bei FOR-Schleifen und so. Aber wenn man die ENUM ordentlich deklariert, also entweder ganz ohne Initialisierung oder nur der Initialisierung des ersten Elements, könnte es doch funktionieren.
ich möchte gern wissen ob man sich bei der Deklaration auf die "automatischen" Inkremente verlassen kann und den Enum auch als Array Index verwenden kann.
Beispiel:
Code:
TYPE E_Colors :
(
RED := 0,
GREEN, // 1 ?
BLUE, // 2 ?
YELLOW // 3 ?
);
END_TYPE
VAR
aColors : ARRAY[0..3] OF String := ['rot','grün','blau','gelb'];
sBlue : STRING;
END_VAR;
sBlue := aColors[E_Colors.BLUE];
Kann man so sicher Zugreifen oder verwendet der Compiler da Zufallszahlen?
In der InfoSys wird bei ENUMs automatisch das Attribut 'strict' hinzugefügt, damit es einen Compilerfehler bei FOR-Schleifen und so. Aber wenn man die ENUM ordentlich deklariert, also entweder ganz ohne Initialisierung oder nur der Initialisierung des ersten Elements, könnte es doch funktionieren.