LabVIEWForum.de
mehrere Case - Druckversion

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



mehrere Case - dany22 - 27.07.2006 11:28

Hallo,

also ich möchte mehere Casefälle haben. Habe 4 Button und die sollen je einen CaseFall ansteuern. Kann man die nicht in einer Case integrieren? Da ist aber nur die Auswahl zwischen True und False. Wie bekomm ich es hin das sich diese Casestruktur je nach Button halt den richtigen Case ausführt?

danke
dany


mehrere Case - Achim - 27.07.2006 11:37

Hi,

(mindestens) zwei Möglichkeiten:

1. Koppel die Buttons an eine Eventstruktur, und im entsprechenden Event-Case führst du den jeweiligen Code aus! Das dürfte die schnellste, praktischste, vernünftigste Lösung sein! Die Eventstruktur kann im Base-Package aber glaub ich nicht bearbeitet, sondern nur ausgeführt werden. D.h. sie ist da nicht auf den Paletten verfügbar...

2. Ersetz die vier Buttons durch einen 4-fach Radio-Button, da kannst du immer nur einen auswählen, und dementsprechend wird der daran angeschlossene Case ausgeführt. Damit das nicht fortwährend passiert, sollte der Radiobutton ebenfalls an eine Eventstruktur gekoppelt sein. So wird jedes Mal bei einer Wertänderung der entsprechende Case nur 1x ausgeführt! Ein 3-fach-Radio-Button ist in LV schon als Vorlage drin (ab LV7), der kann glaub ich nicht erweitert werden. Aber mit ner EXOR-Verknüpfung der n Auswahlelemente (am Besten in nem Cluster ....All Elements...Value Changed....Old Value/New Value) kann man den sich auch sehr leicht selber bauen!

Allgemein: Lies dir mal die Hilfe zur Case-Struktur durch...das sollte immer der erste Schritt sein...RTFM...Read the fuckin' manual...oder probier ein wenig damit rum...z.b. mal ein numerisches Bedienelement anschließen, oder ein Fehlercluster...und sehen, was passiert!

Gruss
Achim


mehrere Case - diplNisse - 27.07.2006 11:39

' schrieb:Hallo,

also ich möchte mehere Casefälle haben. Habe 4 Button und die sollen je einen CaseFall ansteuern. Kann man die nicht in einer Case integrieren? Da ist aber nur die Auswahl zwischen True und False. Wie bekomm ich es hin das sich diese Casestruktur je nach Button halt den richtigen Case ausführt?

danke
dany

Das geht.
Und zwar so (so mach ich das, es gibt bestimmt noch andere Lösungen):

Du baust zunächst ein Array aus den Buttons. Dann wandelst du das Array in eine Nummer um.
Und je nach Nummer

1000 -> 8
0100 -> 4
0010 -> 2
0001 -> 1

Kannst du dann dein Case füllen (musst du natürlich oben um Case Rahmen die entsprechenden Nummer eingeben)

Siehe auch Bild.


mehrere Case - Achim - 27.07.2006 11:44

@diplNisse:

Vorsicht! Damit das Funktioniert müssen die Buttons "Latch when released" sein, sonst könnten mehrere gleichzeitig gedrückt sein, und dann geht die Case-Struktur in den Default-Fall, oder es sind entsprechende Kombinationen abgefangen!


mehrere Case - diplNisse - 27.07.2006 12:19

@ Achim

Da hast Du recht, Achim.

Wenn man in der CASE-Struktur 1,2,4 und 8 definiert und dann noch einen weiteren Case (z.B. 3) und diesen zusätzlich als "default" definiert, kann man die Fälle in denen mehr als ein Button gedückt ist abfangen (und z.B. nichts unternehmen, oder eine Meldung "Zwei buttons gedückt" oder so rausgeben).

Ich finde Deine Lösung mit dem Radio-Button auch besser. Die ist mir nur nicht eingefallen.

Ist ja auch -wie gesagt- nur eine Möglichkeit. Was am besten in's Programm passt, muss man selber sehen.

Nisse


mehrere Case - houssa - 27.07.2006 12:58

Hallo ,

ich habe 6 Butten jede Button beim aktivieren cshreibt ein wert.
Zum beispiel:
N=3
P=2
N=1
R=6

aber die Button sind beim schalten =1 oder 0
also wie kann ein die 6 Radio-Button raelisieren,damit ich jedesmal ,wenn der button aktivieret wurde ,der entsprechende wert schreiben kann.

Hat jemand ein vorstellung,das wäre sehr hilfsreich.


danke
Houssa


mehrere Case - Teutates - 27.07.2006 16:13

Also ich würde entweder einen Button wie im Bild konfigurieren oder Du nimmst einen Textmenuring welcher sich ebenfalls so konfigurieren lässt, im Grunde wurde es ja schon gesagt, danach einfach an die Casestruktur anschließen würde aber 0,1,2,3 definieren und die Scala von 0 bis maximal auf 3 stellen da an der Casestruktur für jeden möglichen Wert ein Case existieren muss, einfacher gehts da mit nem Textring.

Ich würde Dir aber wirklich zu einer Eventstruktur raten wenn bei Dir möglich, da gibt es zig Möglichkeiten probieren geht hier über AllesWink

Mfg
T.