Case Struktur richtig anwenden - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Case Struktur richtig anwenden (/Thread-Case-Struktur-richtig-anwenden) |
Case Struktur richtig anwenden - Jabbad - 26.10.2009 15:16 Ich muss mehrere Signalquellen in LabVIEW erzeugen und auf mein restliches Programm schicken. Damit es auch benutzerfreundlich bleibt, dachte ich mir, ich löse das mit einer Case Struktur und Knöpfen. Nun habe ich einen Case gebaut, doch ich sehe/verstehe nicht, wo der Fehler ist. Für eine kurze Erklärung mit Bugfix wäre ich sehr dankbar. Gruß Bart Case Struktur richtig anwenden - schrotti - 26.10.2009 18:08 Der Eingang der Case-Struktur ist ein numerischer Typ U16 und kann daher 2^16 verschiedene Werte annehmen. Die Struktur weiß allerdings nur bei fünf Werten was sie tun soll. Für die anderen 65531 Fälle gibt es keinen Case. Die 65531 Fälle kannst du mit einem Case erschlagen, indem du oben, in die Selektor-Beschriftung, "Voreinstellung" reinschreibst. Der Case wird dann immer ausgeführt, wenn sonst keiner zutrifft. Du kannst auch per Rechtsklick auf die Struktur einen Case als "Voreinstellung" definieren. [attachment=22014] Case Struktur richtig anwenden - Jabbad - 26.10.2009 18:35 Danke Dir, das war die Lösung meiner Probleme... für heute. Case Struktur richtig anwenden - Lucki - 26.10.2009 18:55 Der Zahlenraum des U16-Anschlusses umfasst mehr Zahlen als diese 5 Fälle. LabVIEW braucht für jede Zahl von 0..2^16-1 einen Case. Du mußt entweder einen Case "Voreinstellung" verwenden oder Du ersetzt die höchste Zahl "4" einfach durch "4.." Anders ist es beim Enum-Format, da gibt es nur die aufgelisteten Fälle. Würde empfehlen, den Ring durch Enum zu ersetzen, dann hast Du eine viel bessere Dokumentation der Cases. [attachment=22019] Edit: Julius war schneller.. Case Struktur richtig anwenden - schrotti - 26.10.2009 19:01 Ja, einem Enum wäre hier angebracht. Am besten noch eine Typdefinition erstellen. |