LabVIEWForum.de
Type Cast - Druckversion

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



Type Cast - TaTa - 05.09.2008 14:27

Hallo zusammen,

ich bin ein Anfaenger mit LabVIEW und habe eine Frage: wozu dient das Tool: Type cast? kann man es dafuer anwenden um eine Zahl z.b in ein String umzuwandeln?Huh

Ich habe den Hilfetext gelesen aber bei der praxis komme ich nicht wirklich zu Recht... -_-
Koennte mir jd vlt helfen?

Ich freue mich auf jegliche AntwortSmile


Type Cast - eg - 05.09.2008 14:33

Alle Daten sind ja logischerweise irgendwo im Speicher des PCs (RAM oder ROM) abgelegt. Diese Daten sehen ungefähr so aus 10010101001010100100.

Jetzt kannst du mit Type Cast diese Daten interpretieren um diese in LabVIEW verarbeiten zu können oder anzuzeigen.


Type Cast - MikeS81 - 05.09.2008 14:35

' schrieb:Hallo zusammen,

ich bin ein Anfaenger mit LabVIEW und habe eine Frage: wozu dient das Tool: Type cast? kann man es dafuer anwenden um eine Zahl z.b in ein String umzuwandeln?Huh

Ich habe den Hilfetext gelesen aber bei der praxis komme ich nicht wirklich zu Recht... -_-
Koennte mir jd vlt helfen?

Ich freue mich auf jegliche AntwortSmile

Hallo TaTa,
für die Umwandlung von Zahlen in String gibt es spezielle Funktionen. Es kommt ganz darauf an. Wenn du eine Zahl mit Hilfe der TypeCast Funktion in einen String umwandest dann hast du auch deine Zahl in dem String nur eben als Hexwert. Das entspricht dann natürlich nicht dem ASCII Zeichen für deine Zahl.

Mike


Type Cast - thomas.sandrisser - 05.09.2008 15:20

Mittels Type Cast ist es moeglich den Wert eines Datentypes in der Wert eines anderen Datentypes umzuwandeln.
Einfachste Beispiel: U8 nach U16 per TypeCast.

Wenn du den TypeCast einer Zahl in einen String nimmst, wird nicht die Zahl als String dargestellt sondern die Zahl in einen String umgewandelt.
Bsp: U8 112 type cast in string ist ein 'p'

Der Type Cast kann ausschliesslich auf scalare oder 1D daten angewendet werden, bei allen anderen kennt er sicht mit spalten und reihen nicht mehr aus. Im speicher ist zwar alles 1D aber die laengenangaben fehlen einfach, deshalb laesst LabVIEW es erst gar nicht zu.


Die Frage ist nun, wann verwendet man type cast?
LabVIEW laesst ausschliesslich das zusammenfuehren gleicher Datentypen zu.
z.b. du hast mehrere classes, numerische elemente etc. etc. etc., willst diese aber in einem gemeinsamen Datenspeicher pool halten.
Abhilfe: type cast in einen gemeinsamen datentyp (andere moeglichkeit waere dann noch der variantdatentyp, der auch kompliziertere datenstrukturen zulaesst)


Type Cast - Lucki - 05.09.2008 19:12

Es ist ja schon vieles gesagt, vielleicht noch etwas Grundsätzliches:
Typecast ist eine zusätzliche Funktion für fortgeschrittene Programmierer. Irgenwo in der Hilfe wird sogar davor gewarnt, daß sie Hinz und Kunz unbedarft verwendet. Sie ist, wenn man so will, eine unnötige Funktion, sie ist lediglich eine schnellere und meist auch einfachere Alternative zu den entspechenden "regulären" Funktionen.

Der Witz der Funktion ist:
Die unter LabVIEW gespeicherte Daten bestehen immer aus zwei Teilen: Teil 1 ist die Typbeschreibung, also daß z.B. die nachfolgenden Daten vom Typ dbl sind und einen zeidimensionalen Array der Größe 2*5 darstellen. Teil 2 sind dann die reinen Daten, also im Beispiel wären es 10 hinterenanderligende DBL.
Mit Typecast werden die Daten grundsätzlich nicht verändert, ihnen wird nur eine andere Typbeschreibung untergeschoben. Es ist wohl klar, daß das einerseits zwar sehr schnell geht, aber andererseits nicht immer funktioniert und daß es Gefahren in sich birgt (bzw. von LV gar nicht erst zugelassen wird)

Beispiel: Ein U64 Integer soll in ein Array von U8-Integern umgeformt werden. Oben wird es mit Typecast gemacht, unten mit der Funktion "Zahl teilen".
[attachment=14357]
Edit: Der Name der Konstanten ist natürlich frei wählbar, aber er sollte hier eigentlich "U64" heißen und nicht "U16"