LabVIEWForum.de
Array in String umwandeln und wieder zurück - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array in String umwandeln und wieder zurück (/Thread-Array-in-String-umwandeln-und-wieder-zurueck)

Seiten: 1 2


Array in String umwandeln und wieder zurück - toaran_ - 09.09.2008 12:54

Hallo

ich habe da mal ne Frage...

ich möchte ein 1D-Array mit double Werten (ca 6000 Stück) in eine mysql Datenbank schreiben und lesen... soweit kein problem ...ich wandel das ganze in einen string um speicher das dann in nen Text Feld... geht funktioniert .. problemlos ...
die umwandlung von array zu nem String dauert nur wenige ms....

ABER...

die Umwandlung des Strings zurück in das Array ...dauert mehrere sekunden.... ca 6-8 je nach rechner ....

hier mal das VI +subs mit Array als Konstante ....
Lv71_img
[attachment=14393]

wie kann man das anders machen ... wenn nicht, geht es schneller ?

Problem ist das die Daten ein Stream einer Messung ist und beim auswerten der Messung klickt man sich halt so durch und sollte dann möglichst schnell den Stream zu den anderen Messwerten angezeigt bekommen...

Momentan mach ich das so das ich alle Messdaten vorlade... aber das dauert ja dann auch "ewig" ...


Toaran


Array in String umwandeln und wieder zurück - MikeS81 - 09.09.2008 13:13

Hallo Toaran,
warum speicherst du nicht den String den du aus "Daten serialisieren" bekommst? Dann würde auch das zurückwandeln sehr viel schneller gehen. Wink Eine zusätzliche Schleife braucht Zeit und die "Match Pattern" Funktion auch. Wink
Als alternative kannst du auch die Funktionen "Tabellenstring nach Array" und "Array nach Tabellenstring" benutzen. Rolleyes

Mike


Array in String umwandeln und wieder zurück - toaran_ - 10.09.2008 12:51

' schrieb:Hallo Toaran,
warum speicherst du nicht den String den du aus "Daten serialisieren" bekommst? Dann würde auch das zurückwandeln sehr viel schneller gehen. Wink Eine zusätzliche Schleife braucht Zeit und die "Match Pattern" Funktion auch. Wink
Als alternative kannst du auch die Funktionen "Tabellenstring nach Array" und "Array nach Tabellenstring" benutzen. Rolleyes

Mike


Hallo

also da ich den string in eine DB Speichern muss und dazu das ADO tool von http://ib-berger.com/index.php?action=adotool benutze ....kann ich das "Flatten to String" bzw. deutsch "Daten serialisieren" nicht benutzen da der String der da rauskommt nicht in ner SQL Anweisung in die DB gespeichert werden kann.... ich nehme an das da auch Sonderzeichen dabei sind die dann nen syntax error in der Anweisung bewirken..
wenn doch... wie ?


Aber das mit "Tabellenstring nach Array" könnte funktionieren... ich muss mal die nachkommastellen runden dann wird das was .. Danke ....

Die Methode die ich benutze, benutze ich hauptsächlich für andere Datentypen .. also cluster mit Strings und Numerischen Daten gemischt ...


Array in String umwandeln und wieder zurück - Lucki - 10.09.2008 22:22

Die von Mike empfohlenen Funktionen "Tabellenstring nach Array" und "Array nach Tabellenstring" sind fertige VIs, die sich bestens für Deine Aufgabe eignen. Hat das einen Grund, daß Du dafür eigene Sub-Vis gebastelt hast, die 300 mal langsamer sind? Vielleicht habe ich eine Anforderung übersehen.
Habs mal ausprobiert: Die Umwandlung von 6000 Zeilen Text in 1D DBL - Array dauert ca. 20ms.
Kann leider nicht inlv71konvertieren, das VI istLv80_img
[attachment=14408]
[attachment=14409]


Array in String umwandeln und wieder zurück - eg - 10.09.2008 22:34

Also ich verstehe ehrlich nicht warum sollte man keine binären Strings in eine Datenbank abspeichern können. Es muss einfach funktionieren, sonst verstehe ich das ganze Konzept der Datenbanken nicht!
Ich habe schon mal in die MySQL Datenbank reingeschaut (wegen meinem Forum), da sind mehrere Zahlen binär abgespeichert und Strings im UTF8 Format, statt ASCII. Es muss gehen, CB (=i2dx) kann dir diese Frage ganz bestimmt schnell beantworten.

Gruß, eg


Array in String umwandeln und wieder zurück - toaran_ - 11.09.2008 07:58

Moin...

in die DB binär Strings zu speichern geht sicher ... ich weis nur noch nicht wie ....deshalb der Umweg ....


Ich benutz jetzt die "Tabellenstring nach Array" Vi's ... funktioniert auch ohne probleme ....

Toaran


Array in String umwandeln und wieder zurück - eg - 11.09.2008 09:50

Was ist mit dem Genauigkeitsverlust? Ich meine Nachkommastellen? Du kannst als ASCII nur eine bestimmte Anzahl der Nachkommastellen abspeichern. Was hast du da festgelegt?
Binär kannst du eine DBL Zahl in vier Bytes ohne Genauigkeitsverlust abspeichern. Wenn es bei dir nicht so kritisch ist, dann ist es klar.
Ansonsten überlege es dir.

Gruß, eg


Array in String umwandeln und wieder zurück - jg - 11.09.2008 10:50

' schrieb:Was ist mit dem Genauigkeitsverlust? Ich meine Nachkommastellen? Du kannst als ASCII nur eine bestimmte Anzahl der Nachkommastellen abspeichern. Was hast du da festgelegt?
Binär kannst du eine DBL Zahl in vier Bytes ohne Genauigkeitsverlust abspeichern. Wenn es bei dir nicht so kritisch ist, dann ist es klar.
Ansonsten überlege es dir.

Gruß, eg
Hallo, Eugen,

Korrektur: DBL belegt 8 byte! Single belegt 4 byte.
http://de.wikipedia.org/wiki/Gleitkommazahl

Gruß, Jens


Array in String umwandeln und wieder zurück - eg - 11.09.2008 10:55

' schrieb:Hallo, Eugen,

Korrektur: DBL belegt 8 byte! Single belegt 4 byte.
http://de.wikipedia.org/wiki/Gleitkommazahl

Gruß, Jens

Ja, sorry.


Array in String umwandeln und wieder zurück - msalcher - 12.09.2008 07:07

Zum Thema Binärstrings und Mysql:

http://dev.mysql.com/doc/refman/5.1/de/binary-varbinary.html

Also ich seh da keine Probleme.