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 

Problem mit Case-Struktur



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!

10.11.2012, 18:09
Beitrag #1

Andre_A Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Nov 2012

2013
2011
EN


Deutschland
Problem mit Case-Struktur
Guten Tag zusammen.

Ich habe eine Case-Struktur mit numerischen Selektor, mit dem ich wählen will,
in welches Format ich eine Zahl konvertiere, um beim serialisieren die Länge eines HEX-Strings
zu bestimmem.
Dazu ist in jedem Case die Zahl durchgeschleift mit jeweils U8, U16, U32 dazwischen.
Dies führt zu dem komischen Problem, dass derjenige case "gewinnt", der die höchste Konvertierung
hat.
Auch wenn der Selektor z.B. Case 1 wählt, also U8 gewählt werden müsste, wird in U32 (Aus Case3) konvertiert.
Lasse ich den Selektor auf 1 und ändere z.B. Case2 auf U64, wird am Ausgang die Zahl auch U64 haben.
Die Tunnel der Cases mit der niedriegeren Konvertierung haben am Ausgang auch einen roten Pfeil (Autokonvertierung).

Das gleiche passiert übrigens auch bei "Typumwandlung".

Wieso "sehen" sich die Cases ? Wie kann ein Case einen anderen beeinflussen ?



Gruß,
Andre
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.11.2012, 18:47
Beitrag #2

BNT Offline
LVF-Freak
****


Beiträge: 740
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Problem mit Case-Struktur
Hi Andre

Der Draht, der aus der Case-Struktur herausgeführt wird, kann halt nur einen bestimmten Datentyp haben! Da er auch die Daten mit dem größten Datenumfang weiterleiten können muss, wird auf genau diesen gecastet.

Als Alternative kommt der Datentyp Variant in Frage, der alle Daten beinhalten kann. Der Preis ist die expilzite Konversion, wenn Du die Daten in dem Variant an anderer Stelle wieder benutzen möchtest.

Die andere Alternative ist die Benutzung von Klassen (LVOOP). Die verschiedenen Datentypen würden in diesem Fall als Kindklassen einer Basisklasse implementiert.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2012, 09:13
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Problem mit Case-Struktur
Es ist so wie Holger gesagt hat. Wenn Du ein Problem hast bei der Umsetzung, dann lad' einfach mal Dein VI hoch.
Ich hab' den Sinn des Ganzen noch nicht so wirklich verstanden, wieso Du mit so vielen Datenformaten herumkonvertierst.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2012, 13:39 (Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2012 08:53 von Lucki.)
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Problem mit Case-Struktur
Hier gibt es doch eine einfache Lösung, gewissermaßen das Ei des Columbus:
Wenn die ganze Übung dazu dient, die Länge des Hex-Strings für die Serialisierung zu bestimmen. dann kann man doch auch gleich den Hex-String in den einzelnen Cases erzeugen. Dann hätte man den einheitlichen Datentyp "String" für alle Case-Ausgänge, und außerdem wäre die String-Konvertierung, die sowieso ansteht, bereits erledigt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2012, 20:45
Beitrag #5

Andre_A Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Nov 2012

2013
2011
EN


Deutschland
RE: Problem mit Case-Struktur
Hallo und danke für die Antworten.

Das mit den Strings hab ich so gemacht, weil den Selektor auch noch für einiges andere
brauche, und das so halbwegs geordnet machen konnte.
Sonst könnte ich auch einfach in den längst-möglichen String konvertieren und mir die passenden
Stellen rausschneiden.

Das Problem war halt nur, dass mir unverständlich war, wie Änderungen in einem Case einen anderen
Case beeinflussen können, da die sich ja eigentlich - durch die Natur der Case-Struktur - ausschließen
sollten.
Aber die Antworten waren doch sehr einleuchtend.

Danke, Andre
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 5.065 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.615 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  Event Struktur Problem ache 9 3.590 17.09.2020 14:10
Letzter Beitrag: jg
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 3.766 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 3.323 16.04.2020 14:30
Letzter Beitrag: GerdW
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 6.858 23.10.2017 09:08
Letzter Beitrag: Ksanto

Gehe zu: