LabVIEWForum.de
Case benennen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Case benennen (/Thread-Case-benennen)



Case benennen - ininalia - 06.05.2013 09:19

Hi,

ich hatte eine Frage zu Case Strukturen

in meinem Programm habe ich sie mit einem Integer verbunden und meine Case's eingerichtet nun wollte ich der Übersicht halber jedem noch einen Namen geben.

Leider interpretiert Labview das immer so als wollte ich einen String angeben (was ich in dem sinn auch tue).
Hätte aber gerne eine Anzeige, wie wenn man einen Enum anschriest, mit Zahlenwert und Name, kann aber meinen Integer nicht in einen Enum ändern.

Deshalb wollte ich fragen ob es so etwas wie eine Kommentarfunktion in der Fallauswahl gibt.
Ich habe ein wenig herumgesucht aber kein explizites ja oder nein gefunden.

Mfg
Ini.


RE: Case bennen - GerdW - 06.05.2013 09:24

Hallo ininalia,

die Caseauswahl entspricht immer dem Datentyp, der am Selektor angeschlossen oder erwartet wird. Das, was du machen willst, erfordert einen ENUM...

Vorschläge:
- nimm einen Enum statt des Integers!
- Schreibe Kommentare in die Cases: einfach einen Text per Doppelklick (bei automatischer Toolauswahl) platzieren...

Zitat:kann aber meinen Integer nicht in einen Enum ändern
Warum nicht?


RE: Case benennen - jg - 06.05.2013 09:24

Diese Funktionalität gibt es ab LabVIEW 2012.

Vorher bleibt dir nichts anderes übrig als mit freien Kommentaren zu arbeiten.

Gruß, Jens


RE: Case benennen - ininalia - 06.05.2013 09:38

Vielen Danke,

zu dem Umwandeln:

Ich habe verschiedene (einzelne) Bits, oder Boolesche Elemente, die ich Zusammenrechnen und dann in einer Case Struktur verarbeiten wollte da ich keine Verschachtelten Case Strukturen mehr in meinem Programm haben wollte. Und wüsste nicht wie ich den Integer ohne großen aufwand in einen Enum umwandeln kann, besonders da ich bei einem Enum ja jeden Fall (soweit ich weiß) definieren muss und nicht alle unwichtigen Case's in default abhandeln kann.

Das mit den Kommentaren innerhalb der Struktur habe ich schon gemacht wäre aber für meine Nachfolger leichter zu verstehen wenn man alles auf einen Blick hat.

Mfg
Ini.


RE: Case benennen - GerdW - 06.05.2013 09:43

Hallo Ini,

Zitat:wenn man alles auf einen Blick hat.
Bei einer Case-Struktur mit mehreren Cases hast du nie alles "auf einen Blick"...

Zitat:Ich habe verschiedene (einzelne) Bits, oder Boolesche Elemente, die ich Zusammenrechnen und dann in einer Case Struktur verarbeiten wollte
- stelle den Case-Selektor auf Hex- oder Binärdarstellung um, dann sieht man gleich die interessanten Bits (wenn man denn mit Hexdarstellung klarkommt)...
- Erstelle dir ein subVI, welches den Integer in ein Enum umwandelt. Darin dann eine Case-Struktur mit verschiedenen Bereichen erstellen. Wäre bei dir jetzt eine Krücke, um die bisherige Casestruktur "hübscher" zu machen, ist aber auch doppelte Arbeit...


RE: Case benennen - ininalia - 06.05.2013 09:53

Naja man weiß zumindest welcher Fall was machen sollte.
Aber wenns nicht geht dann gehts halt nicht, war ja auch nur eine Schönheitssache.

Denke das Umwandeln ist so nur Unnötige extra Arbeit aber danke für die Anregung.

Ich lass das einfach vieleicht wenn ich LV 2012 oder höher bekomme ändere ich es.

Mfg
Ini.


RE: Case benennen - jg - 06.05.2013 10:01

Der Vollständigkeit halber, das sieht dann in lv12_img z.B. so aus:
[attachment=44558]
Gruß, Jens


RE: Case benennen - Lucki - 06.05.2013 12:17

(06.05.2013 09:38 )ininalia schrieb:  .. da ich bei einem Enum ja jeden Fall (soweit ich weiß) definieren muss und nicht alle unwichtigen Case's in default abhandeln kann.
Unrichtiges sollte man hier nicht so stehen lassen:

Ein "Enum" besteht aus einer endlichen Anzahl von Elementen. Die Elemente haben einen Vorgänger und einen Nachfolger. Für die Elementn kann man die Vergleichsoperatoren "<" und ">" anwenden.
(Amerkung: Auch die Operationen "+1" und "-1" sind mit Enums möglich. Das Letzte Element hat dann als Nachfolger das erste Element (und umgekehrt), d.h. bei diesen Operationen muss man sich die Enum-Elemente als Ring vorstellen).

Für die Casestruktur gilt:
a) "Default" darf sein, es kann aber entfallen, wenn alle Elemente behandelt werden.
b) Zusammenfassung von Elementen auf alle möglichen Arten jederzeit möglich.

Beispiele von Casesstrukturen für Enum0, Enum1,..,Enum6:
a)
Enum3
Default
b)
..Enum3
Enum4..
(Oder:
Enum0, Enum1, Enum2, Enum3
Default)
c)
Enum0
Enum1..Enum3
Enum4..
(oder statt Enum4..: Default)


RE: Case benennen - ininalia - 06.05.2013 13:51

Vielen Dank für die Erklärung,

habe das wohl irgendwo mal falsch verstanden.

Hilft in meinem Fall gerade nicht, wird aber bestimmt noch genug fälle geben. Big Grin

Mfg
Ini.