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 

Aus Variant-Array-Daten den Typ heruasbekommen



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!

01.10.2007, 08:54 (Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2007 09:04 von Graf_Dracula.)
Beitrag #1

Graf_Dracula Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Oct 2007

7.1
2005
kA


Deutschland
Aus Variant-Array-Daten den Typ heruasbekommen
Hallöchen,

ich habe eine Software, auf deren API ich mittels LV 7.1 zugreife.
Wenn ich bestimmte Daten auslese, bekomme ich eine Variant zurückgeliefert.

In diesem Variant sind im Moment 7 Einträge, die ich generiert habe, 5 Strings und
2 Integer-Werte ( String, Int, String, String, String, String, Int).
Wie oder mit welcher Funktion kann ich herausbekommen, welcher von diesen
7 Einträgen nun ein String und welcher ein Integer ist ?
Klar, jetzt im Moment weiß ich es, aber wie kann ich das herausbekommen,
wenn die Stelle, die Anzahl oder der Datentyp ansich sich ändert, variabel ist?

Im Moment wandle ich das (den oder die ???) Variant mittels "Variant nach Daten"
in ein String-Array um. Klar, zum Anzeigen reichts, da später aber mal darüber
tatsächlich variable Daten kommen können, würde ich gern vorher wissen,
welcher der jeweiligen Daten welcher Datentyp sind um sie dementsprechend
zu extrahieren und verarbeiten zu können.

Mittels "Variant nach String" bekomme ich einen Typen-String und einen
Daten-String, der Daten-String ist leer (hat jedoch eine Länge von 16)
und im Typen-String sind 3 Einträge ( 6, 132, 1 ). Warum 3 Einträge beim
Typen-String für 7 Einträge beim Daten-String, wie kann/muss ich das
aufschlüssen, oder gehören die nicht zusammen ?
Selbst wenn ich versuchen würde das aufzuschlüsseln ... Datentyp 6 ist UInt16Bit,
die 1 ein 8BitInt und 132 ist zumindest in meiner Hilfe nicht aufgeführt ... ???

Wie kann ich also den jeweiligen Datentyp zum jeweiligen Element im Variant in Erfahrung bringen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2007, 20:14
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Aus Variant-Array-Daten den Typ heruasbekommen
' schrieb:In diesem Variant sind im Moment 7 Einträge, die ich generiert habe, 5 Strings und
2 Integer-Werte ( String, Int, String, String, String, String, Int).
Wie oder mit welcher Funktion kann ich herausbekommen, welcher von diesen
7 Einträgen nun ein String und welcher ein Integer ist ?
Klar, jetzt im Moment weiß ich es, aber wie kann ich das herausbekommen,
wenn die Stelle, die Anzahl oder der Datentyp ansich sich ändert, variabel ist?

gar nicht, es sei denn du hast Lust die ganzen Type Descriptors auseinander zu friemeln. Wenn das deine einzige Chance ist und du darauf angewiesen bist, dann wird dir nichts anderes übrig bleiben als auszuprobieren was für ein Type Descriptor rauskommt, wenn du einen bestimmten Datentyp anklemmst. Dann kannst du nur beten, dass alle Typen die rauskommen auch zu den LV Datentypen kompatibel sind, sonst musst du dich auch noch selber drum kümmern die Bytes selbst zusammenzusetzen.

An der Geschichte beiß ich mir auch immer wieder die Zähne aus bzw. es ist mir einfach zu viel Arbeit. Das Gemeine an der Geschichte ist, dass der Typ im Variant mit angezeigt wird (wenn man per Rechtsklick Typ anzeigen auswählt) man ihn aber nicht ausbekommt. Mit Variant to Data bekommt man als Ergebnis quasi einen Typecast, wenn der möglich ist, mit Variant to flattened String bekommt man die binären Daten und den Type Descriptor, und ich hab bisher noch keine Doku dazu gefunden, nur immer mal wieder n büschen damit rumprobiert.

' schrieb:Mittels "Variant nach String" bekomme ich einen Typen-String und einen
Daten-String, der Daten-String ist leer (hat jedoch eine Länge von 16)
und im Typen-String sind 3 Einträge ( 6, 132, 1 ). Warum 3 Einträge beim
Typen-String für 7 Einträge beim Daten-String, wie kann/muss ich das
aufschlüssen, oder gehören die nicht zusammen ?

Offensichtlich hast du das ganze Array auf einmal bearbeitet. Versuch mal das Array zu indizieren, dann solltest du auch die richtigen Type Descriptors für die einzelnen Daten rausbekommen und schalte mal die Anzeige von deinem String auf "Hex" oder "Code" um, dann siehst du die binären Daten. Dass der String leer erscheint hängt höchstwahrscheinlich nur damit zusammen, dass die Zeichen nicht darstellbar sind

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
08.10.2007, 13:46
Beitrag #3

Graf_Dracula Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Oct 2007

7.1
2005
kA


Deutschland
Aus Variant-Array-Daten den Typ heruasbekommen
Zitat:Offensichtlich hast du das ganze Array auf einmal bearbeitet.
Versuch mal das Array zu indizieren, dann solltest du auch die
richtigen Type Descriptors für die einzelnen Daten rausbekommen

Ja nee ...

Aus meinem Methodenknoten kommen zwei Variant's heraus,
auf diese kann ich schon mal gar keine Array-Funktionen anwenden,
daher muss ich irgendeine Variant-Funktion verwenden.

Wenn ich auf den Variant die Funktion "Variant-nach-String" anwende,
bekomme ich einen Typen-String und einen Daten-String. In dem
Typen-String sind dann die besagten 3 Einträge.
Bei Variant nach Daten muss ich schon den Datentyp angeben.
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
  Wert des Variant ermitteln LV-New 8 5.522 23.02.2022 09:09
Letzter Beitrag: LV-New
  Variant in Grundtypen zerlegen LV-New 6 4.492 10.01.2022 10:55
Letzter Beitrag: LV-New
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.915 31.03.2018 21:05
Letzter Beitrag: Tobzn
  Variant-Attributsliste Hasenfuss 2 3.575 27.06.2016 15:10
Letzter Beitrag: Freddy
  Variant Attribute initialisieren NoWay 6 6.212 27.10.2015 08:56
Letzter Beitrag: IchSelbst
  Variant Datentyp TDO 12 11.699 13.04.2015 07:38
Letzter Beitrag: TDO

Gehe zu: