INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Enum-Werte ändern



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

02.08.2010, 08:41
Beitrag #1

Dommas Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: Jul 2010

2010
2008
DE_EN

86741
Deutschland
Enum-Werte ändern
Hallo zusammen!

Ein Enum ist doch im Prinzip nichts anderes, als ein numerisches Feld, in das man keine Werte eingeben, sondern aus vorgefertigten Werten einen aussuchen kann. Zur Vereinfachung für den Bediener wurde diesen numerischen Werten einfach ein Name zugewiesen.

Das müsste man doch in etwa so sagen können, oder?

Nun zu meiner Frage:

Ich möchte jetzt keine Dezimal-Werte, sondern Hexwerte, und die auch nicht einfach von 0-F, sondern selber festlegen können. Also Zeile1 sei 0, Zeile2 sei 3 und Zeile3 sei A, oder so in der Richtung.

Geht das irgendwie? Oder muss ich mir da immer eine Case-Struktur hinter den Enum legen, der mir dann aus dem 2er des Enums die 3 macht, die ich will, um bei obigem Beispiel zu bleiben?

Danke und Gruß

Dommas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.08.2010, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 02.08.2010 09:02 von kaiman.)
Beitrag #2

kaiman Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 146
Registriert seit: Dec 2008

7.1.1, 2011
2007
EN

28***
Deutschland
Enum-Werte ändern
Ich weiß nicht, ob das mit einem Enum geht, aber du könntest das doch einfach in einem konstanten Array ablegen und dann entsprechend indizieren.
So hast du dann doch das gleiche.
Element 0: 0x0
Element 1: 0x3
Element 2: 0xA
.
.
.
etc.

Gruß, Kai

EDIT: Das Array könntest du wiederum mit einem Enum indizieren. Ist zwar ein Umweg, aber müsste doch eigentl. gehen...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2010, 09:03
Beitrag #3

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
Enum-Werte ändern
Enums sind für nur begrenzt sinnvoll als Control für den Bediener. Von der Funktion ist der Ring eher was du suchst, da kannst du nicht sequentielle Werte mit Namen verknüpfen. Allerdings kannst du den nicht ordentlich als (strikt) Typedef speichern (Konstantenproblem). Intern ist da der Enum mglw. wieder besser.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2010, 09:08
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Enum-Werte ändern
Dem Menüring kann man auch als Anzeigeformat Hex zuweisen.
Bei Objekten wie schon erwähnt Sequenzielle Werte abschalten und dann die eigenen Werte angeben.


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2014, 07:53
Beitrag #5

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: Enum-Werte ändern
Ich muss das Thema hier nochmal kurz aufgreifen, da ich selbst ein ähnliches Problem habe.
Ich kommunizieren über LabView mit Messkarten von Meilhaus. Wenn ich einen Ausgang setzen oder rücksetzen möchte, muss ich den ganzen Port (8 Aus- bzw. Eingänge) machen. Dazu muss ich den aktuellen Zustand des Port ODER - bzw. UND verknüpfen mit dem Wert den ich brauche, damit ich die anderen Bits nicht verändere, sondern nur den Aus- bzw. Eingang, den ich brauche.
Da das ein etwas größeres Projekt werden soll, will ich ungern die reinen Zahlen mit denen verknüpft wird in meinem Quelltext sehen, sondern am liebsten nur quasi die Beschreibung, die hinter der Zahl steckt.
z.B.:
Set A1 - 1
Set A2 - 2
Set A5 - 16
Release A1 - 254
Release A2 - 253
Release A5 - 239
Es ist wohl nicht möglich den Wert in einem Enum frei zu wählen, so wie ich das hier verstanden habe.
Was könnte ich denn stattdessen machen? Ist ein Array einer Stuktur mit String und Zahl sinnvoll oder was meint ihr?

Danke und Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2014, 08:22 (Dieser Beitrag wurde zuletzt bearbeitet: 05.05.2014 08:23 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Enum-Werte ändern
Hallo TDO,

bei deinem Ansatz müsstest du ein Enum erstellen, in dem alle 256 möglichen Bitkombinationen entsprechend mit "Namen" verknüpft werden. Was für ein Aufwand…

Ich habe mir mal ein subVI für die user.lib geschrieben, das so aussieht:
   
(Im TRUE-Case befindet sich ein OR statt NOT/AND. "bool" entscheidet über Setzen/Löschen des Bits.)

An die "Bitnummer" kannst du auch ein Enum mit "A1" bis "A8" (entsprechend der Bitnummer 0 bis 7) anschließen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2014, 10:01
Beitrag #7

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: Enum-Werte ändern
Hallo Gerd,

vielen Dank für deine Idee! Genauso mache ich es jetzt auch!

Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Enum-Variable "zurücksetzen" Hans96 8 8.149 06.01.2023 07:48
Letzter Beitrag: Hans96
  Type Def Enum unterscheiden? Achim 5 3.921 30.07.2020 08:19
Letzter Beitrag: Freddy
  Enum gesteuertes Event ares2013 3 4.499 29.11.2019 19:03
Letzter Beitrag: Lucki
  String nach Enum konvertieren NoWay 2 4.846 20.08.2019 10:58
Letzter Beitrag: NoWay
  Objektname einer Enum Konstante ändern mprocket 7 6.867 30.01.2018 12:23
Letzter Beitrag: mprocket
  Enum Baumstruktur Hydrogencarbonat 8 7.156 24.02.2017 00:01
Letzter Beitrag: Hydrogencarbonat

Gehe zu: