das mit dem Enum ist ganz gut, hat nur den Nachteil, dass der Enum global ist und deshalb nur einmal vorkommen kann. Ich definiere lieber in meinem Baustein integerwerte als CONSTANT und initialisiere die mit einem Wert, dann sind alle Werte lokal:
VAR CONSTANT
iStBasic: INT:=0;
iStRun: INT:=1;
usw.
CASE iStatus OF
iStBasic:
<ProgrammfürZustandBasic>....
iStRun:
<ProgrammfürZustandiStRun>....
END_CASE
Viel Spaß
Matthias
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
Ich definiere lieber in meinem Baustein integerwerte als CONSTANT
Beim ENUM ist der Vorteil in der Onlineanzeige das der Inhalt der Variablen auch als den ENUM Text angezeitg wird. Bei Konstanten würde nur die Zahl angezeit werden.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Salut
ich habe einen enum erstellt, Status genannt, mit ca. 10 Status.
nun will ich in meinem Hauptprogramm eine case-abfrage machen in welchem Status er gerade ist, um das gewünschte dan durchzuführen.
das siet dann etwa so aus
CASE Status OF
Start: <irgendetwas></irgendetwas>
Stop: <irgendetwas></irgendetwas>
END_CASE
jetzt bringt der Compiler folgende Fehlermeldung:
wass muss ich umwandeln das es funzt...uns wie...
Gruss Di
kann grad gar nicht sagen, ob das überhaupt geht; aber wenn:
hast du Status global deklariert?
Hab den enum in der Registerkarte Datentypen erstellt...dann sollte er eigentlich global sein
bei 'nem kurzen test kam bei mir grad die fehlermeldung:
'case abfrage muss int wert sein' (...oder so ähnlich...)
irgendwann gabs so eine ähnliche frage schon mal... finde den thread momentan aber nicht...
Nach dem Erstellen in Datentypen ist ein Enum ein Datentyp und noch keine Variable.
Es muss noch eine Variable vom Typ des Enums deklariert werden(Typ und Name dürfen gleich sein; Deklaration kann Lokal oder Global erfolgen).
und jetzt geht auch das:
Der Weg ist schon Richtig
Dankeschön an alle
es funkzt....
Gruss Di
Hallo Zusammen,
das mit dem Enum ist ganz gut, hat nur den Nachteil, dass der Enum global ist und deshalb nur einmal vorkommen kann. Ich definiere lieber in meinem Baustein integerwerte als CONSTANT und initialisiere die mit einem Wert, dann sind alle Werte lokal:
VAR CONSTANT
iStBasic: INT:=0;
iStRun: INT:=1;
usw.
CASE iStatus OF
iStBasic:
iStRun:
END_CASE
Viel Spaß
Matthias
Vorteil ENUM ?
Beim ENUM ist der Vorteil in der Onlineanzeige das der Inhalt der Variablen auch als den ENUM Text angezeitg wird. Bei Konstanten würde nur die Zahl angezeit werden.