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 

Case Strukturen



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!

09.08.2006, 16:05 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2006 16:11 von tobey.)
Beitrag #1

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Case Strukturen
Hallo, mal eine einfache Frage:

Kann man in Case Strukturen einf Fallunterscheidung wie folgt definieren?
Fall1: >0
Fall2: =0
Fall 3: <0

Vielen Dank schon mal!

mfg tobi

Hab jetzt mein Problem mit "Sign" gelöst, weil es anscheinend nicht möglich ist solche Fälle in dem Case zu definieren!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.08.2006, 16:20
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Case Strukturen
Ja, bei reellen Zahlen sollte man die Sign-Funktion vorschalten, bei Integer braucht man das natürlich nicht.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.09.2006, 11:17 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2006 11:17 von tobey.)
Beitrag #3

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Case Strukturen
Wie gesagt, ich hab es genau mit der Methode die du mir vorschlägst gelöst (sign, siehe oben). Aber wollte eigentlich wissen ob es nicht noch anders geht. Sprich ich schließe die Leitung einfach an und dann macht der Case die Unterscheidung ob größer 0 etc.
Aber ich glaube das geht nicht...

mfg tobi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.09.2006, 15:08
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Case Strukturen
' schrieb:Aber ich glaube das geht nicht...

doch, das geht - mit der Einschränkung, dass eine Case-Struktur nur Integer als numerischen Eingang akzeptiert (siehe Beispiel von Lucki, da ist ein Coercion Dot ...):

   

Man kann im "Case Selector" Zahlenbereiche festlegen:

0 --> Eingang ist genau gleich 0
0.. Eingang ist größer gleich 0
..0 Eingang ist kleiner gleich 0
usw

In meinem Beispiel verwende ich KEINEN Default Case. Das muss ich auch nicht, weil der Zahlenbereich von minus Unendlich bis plus unendlich komplett abgedeckt ist. Sollte das nicht der Fall sein, gibt's die Fehlermeldung "Selector Cases are not unique" ... (Cases sind nicht eindeutig oder so ...). Das gleiche ist auch der Fall, wenn sich die Bereiche überschneiden.

Dann braucht man entweder den Default Case, oder man muss eindeutige Bereiche definieren.

Grüße
CB

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.09.2006, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2006 17:27 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Case Strukturen
' schrieb:Aber wollte eigentlich wissen ob es nicht noch anders geht. Sprich ich schließe die Leitung einfach an und dann macht der Case die Unterscheidung ob größer 0 etc.
Ja, es geht zumindest in dem Sinne, daß Dir LV keine Fehlermeldung ins Gesicht schleudert, wenn Du direkt eine reelle Zahl an den Case anschließt. Die Frage ist nur, ob dann noch das geschieht, was Du eigentlich wolltest. Passieren tut dann dies: Die reelle Zahl wird intern auf Integer gerundet, und zum vermeintlichen Case "0" gehört in Wirklichkeit der Bereich -0.5..+0.5.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2006, 06:01
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Case Strukturen
' schrieb:Ja, es geht zumindest in dem Sinne, daß Dir LV keine Fehlermeldung ins Gesicht schleudert, wenn Du direkt eine reelle Zahl an den Case anschließt. Die Frage ist nur, ob dann noch das geschieht, was Du eigentlich wolltest. Passieren tut dann dies: Die reelle Zahl wird intern auf Integer gerundet, und zum vermeintlichen Case "0" gehört in Wirklichkeit der Bereich -0.5..+0.5.

ja, schrieb ich doch: nur Integer sind möglich (steht über dem Bild)

Wenn ich den Bereich einer Gleitkommazahl überprüfen muss, dann nehme ich sowieso "In Range and Coerce" ...

Grüße
CB

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2006, 07:58 (Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2006 08:11 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Case Strukturen
' schrieb:ja, schrieb ich doch: nur Integer sind möglich (steht über dem Bild)
Ja, weiß ich, ich wollte ja ergänzend nur beschreiben, was wirklich genau passiert, wenn man die Gleitkommazahl direkt an den Case anschließt. Und auch ich würde das nicht so machen, selbst wenn ich genau dieses Ergebnis im Auge hätte. Manchmal ist LabVIEW gegenüber Programmiersünden viel zu tolerant, es wäre besser, wenn man solchen Sündern eines auf die Pfoten hauen würde.
Am Eingang eines Cases müssen ja nicht unbedingt Integer anliegen, aber auf jeden Fall abzählbare (endliche oder unendliche) Mengen - und reelle Zahlen sind das eben nicht.
(N.B. Bei einem Aufzählungstyp als Case-Eingang ist dann aber intern jedem Element eine Integer-Zahl zugeordnet. Insofern wäre es müßig darüber zu diskutieren, ob ein Case nur Integer-Zahlen verträgt oder auch andere abzählbere Mengen.)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2006, 09:03
Beitrag #8

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Case Strukturen
Okay danke, jetzt bin auch wieder etwas schlauer!

Das was ich will geht, aber eben nur mit Integer! Alles klar! thx
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
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 5.090 02.02.2021 15:05
Letzter Beitrag: Lucki
  Drähte automatisch beim Ziehen aus Strukturen erhalten cb 7 10.942 10.08.2019 11:16
Letzter Beitrag: cb
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 6.908 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Case Strukture mit 3 Case lola2014 13 9.695 23.10.2014 14:17
Letzter Beitrag: GerdW
  Case-Struktur: Case-Werte auslesen SirNova 4 8.120 22.12.2011 19:14
Letzter Beitrag: SirNova
  Case-Struktur: Angegebener Case nicht vorhanden chip777 1 6.704 11.05.2011 09:19
Letzter Beitrag: Lucki

Gehe zu: