LabVIEWForum.de - Enum-Zustand programmatisch ändern

LabVIEWForum.de

Normale Version: Enum-Zustand programmatisch ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe eine Klasse, die als Element ein Enum (zum Beispiel Okay, Fehler) hat. Diesen Zustand würde ich gernen je nach Situation ändern. Wie macht man das? Ich habe mal ein Beispiel (LabVIEW 8.5) angehängt.

Danke! Curtis

edit: Ich wollte die Klasse auch hochladen, darf aber nicht... Ich habe mal ein zip erstellt.
das kommt darauf an, ob Du den Wert anhand seines Namens einstellen willst oder anhand des Zahlenwertes, der sich dahinter verbirgt.

Letzteres ist einfacher, da Du ja definiert hast, welcher Name welchem Zahlenwert entspricht. Du weist nur dem Enum-Element Deiner Klasse den Zahlenwert zu. LV castet dann normalerweise den Zahlenwert automatisch in den entsprechenden Enum-String (wenn man von "String" sprechen kann).

Wenn Sich Dein Enum ändern sollte, z.B. wenn Du die Klasse in verschiedenen Applikationen verwenden willst, wo immer nur "OK", "Fehler" usw. gleich sind, aber sich andere Elemente unterscheiden, dann müßtest Du alle möglichen Zeichenketten aus dem Enum herauslesen, z.B. in ein String-Array, dann das Array nach dem gesuchten Wort wie "Fehler" durchsuchen und den Index des Feldes als Zahlenwert nach oben genannter Methode übergeben (oder Du castest gleich selbst auf den gewünschten Enum-Typ)

Gruß Andreas
Alles klar, danke!
Referenz-URLs