Home » LVUG » LVUG - Technische Fragen » Erkennung des Datentyps und seiner Darstellung
Erkennung des Datentyps und seiner Darstellung [message #881] |
Thu, 02 September 2004 11:12 ![Go to next message Go to next message](/theme/gsi/images/down.png) |
![](http://forum.gsi.de/images/custom_avatars/107.jpg) |
Dominik Wöll
Messages: 34 Registered: April 2004 Location: Konstanz
|
continuous participant |
From: *chemie.uni-konstanz.de
|
|
Hallo Leute,
Ich würde gerne ein Sub-VI erzeugen, das als Eingang eine Referenz zu einem Objekt hat, welches einen unterschiedlichen Datentyp und eine unterschiedliche Darstellung (also z.B. I8, U32,...) haben kann (ich glaube, so etwas nennt man polymorph, oder?). Das Sub-VI soll dann den Wert des Objekts je nach Datentyp und Darstellung unterschiedlich bearbeiten und in die entsprechende Ausgangs-Variable schreiben.
Konkretisiert:
Ich habe eine Textdatei mit
Name[TAB]Testmessung[RETURN]
Zeitpunkt[TAB]20.1[RETURN]
Wellenlänge[TAB]400[RETURN]
...
Nun möchte ich mit einem Sub-VI je nach Bedarf in die String-Variable "Name" den Wert "Testmessung" schreiben können, in die Dbl-Variable "Zeitpunkt" den Wert "20.1" und in die I16-Variable den Wert "400".
Wie geht das? Wenn mir jemand vielleicht ein kleines Beispielprogramm erstellen könnte, wäre ich sehr froh.
Viele Grüße vom heute traumhaften Bodensee,
Dominik
|
|
|
Re: Erkennung des Datentyps und seiner Darstellung [message #884 is a reply to message #881] |
Thu, 02 September 2004 22:28 ![Go to previous message Go to previous message](/theme/gsi/images/up.png) ![Go to next message Go to next message](/theme/gsi/images/down.png) |
Franz Josef Ahlers
Messages: 22 Registered: January 2004
|
occasional visitor |
From: *dip0.t-ipconnect.de
|
|
Wenn ich das recht sehe, hast Du nur einen Datentyp, nämlich STRING, da es sich ja um eine TEXTdatei handelt.
Name[TAB]Testmessung[RETURN]
Zeitpunkt[TAB]20.1[RETURN]
Wellenlänge[TAB]400[RETURN]
In dem konkreten Beispiel hast Du die Variablennamen 'Name', 'Zeitpunkt', 'wellenlänge', welche die Werte 'Testmessung', '20.2' und '400' annehmen.
Ich vermute, Du willst die Werte IN DER DATEI überschreiben (und die Datei enthält vermutlich nach diesen drei Zeilen noch weitere Einträge)?
Dann würde ich als einfachste Lösung die ganze Datei einlesen, in einen Array[of Cluster(Variablenname,Variablenwert)] umwandeln, das ersetzen, was zu ersstzen ist und alles wieder zurückschreiben (evtl. zwischendurch back-up Kopie erzeugen)
(Ich glaub, heut war es überall traumhaft, zumindest nach Feierabend... )
-Franz
|
|
|
Re: Erkennung des Datentyps und seiner Darstellung [message #893 is a reply to message #884] |
Tue, 07 September 2004 11:10 ![Go to previous message Go to previous message](/theme/gsi/images/up.png) ![Go to next message Go to next message](/theme/gsi/images/down.png) |
![](http://forum.gsi.de/images/custom_avatars/107.jpg) |
Dominik Wöll
Messages: 34 Registered: April 2004 Location: Konstanz
|
continuous participant |
From: *chemie.uni-konstanz.de
|
|
Dann würde ich als einfachste Lösung die ganze Datei einlesen, in einen Array[of Cluster(Variablenname,Variablenwert)] umwandeln, das ersetzen, was zu ersstzen ist und alles wieder zurückschreiben (evtl. zwischendurch back-up Kopie erzeugen)]
Das Problem ist, dass in dem Dateiinhalt auch mal eine Zeile ausgelassen wird. Das Sub-VI soll als Eingang den Dateiinhalt (als String) und den eine Referenz haben. Der Name der Referenz ist zugleich der Name des Wertes der ausgelesen werden. Je nach Format der Referenz soll der String aus der Datei entsprechend umgewandelt werden. Eine Nummer gibt im Moment noch die Zeilennummer an, aber dies möchte ich demnächst durch eine automatische Erkennung des Textes ersetzen.
Um dies zu veranschaulichen, habe ich als Beispiel drei Sub-VIs angefügt. Eines wird benutzt, wenn die Referenz eine Zahl, das andere, wenn sie ein Ring, und das dritte, wenn sie ein String ist. Dies würde ich aber gern in einem VI haben.
Das ganze funktioniert bereits so, aber ich würde gerne wissen, ob ich es noch optimieren und die drei VIs zu einem machen kann.
|
|
|
|
|
|
|
Goto Forum:
Current Time: Wed Aug 21 18:06:34 CEST 2024
Total time taken to generate the page: 0.00870 seconds
|