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 

unflatten from string- zu große Daten Menge



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!

06.07.2012, 09:45
Beitrag #11

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: unflatten from string- zu große Daten Menge
Hallo rolfk,

ja das ist mir jetzt schon bewusst, danke auch dafür, aber wie kann ich dies mit der genannten Anforderung kombinieren/vereinen?
Zitat:Der Grund warum ich das Read/Write to Text File verwende ist damit ich zu Beginn der "Daten" ein Header schreiben kann mit Infos. Genauer gesagt eine Info welche Version des Cluster hier verwendet wird.
Später soll dies beim Laden berücksichtigt werden und das jeweilige Cluster als Datentyp verwendet werden.
Damit kann das Cluster weiterentwickelt werden und ältere Daten sollen geladen werden können.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.07.2012, 10:15
Beitrag #12

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: unflatten from string- zu große Daten Menge
Mit Write To BinaryFile kannst du auch ganz normalen Text schreiben. Der bleibt auch lesbar. Einzig für mögliche Zeilenumbrüche musst du selber sorgen.
Probieren geht über studieren!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2012, 11:29
Beitrag #13

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: unflatten from string- zu große Daten Menge
Ja Text bleibt lesbar, das Problem ist jedoch, das man am type Eingang des "Unflatten From String" den Cluster angeben muss, ist dieser wie gesagt zwischenzeitlich nicht mehr derselbe, geht es natürlich nicht.
D.h. ich muss erst eine Versions Info bekommen und dann kann ich dementsprechend handeln.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2012, 11:32
Beitrag #14

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: unflatten from string- zu große Daten Menge
(06.07.2012 11:29 )GT123 schrieb:  Ja Text bleibt lesbar, das Problem ist jedoch, das man am type Eingang des "Unflatten From String" den Cluster angeben muss, ist dieser wie gesagt zwischenzeitlich nicht mehr derselbe, geht es natürlich nicht.
D.h. ich muss erst eine Versions Info bekommen und dann kann ich dementsprechend handeln.

Das macht man indem man den Header String zuerst schreibt und dann den Cluster, und das gleiche in gleicher Reihenfolge auch wieder beim Lesen. Ist doch nicht so schwer!

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2012, 18:16
Beitrag #15

Kiesch Offline
LVF-Stammgast
***


Beiträge: 394
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04103
Deutschland
RE: unflatten from string- zu große Daten Menge
Der Königsweg wäre dabei vermutlich LVOOP zu nutzen. Die verschiedenen Varianten des Strings fungieren als Kindklassen einer Elternklasse die die Methode für das Ausspeichern enthält, sowie für das wieder einlesen. Die Einlesefunktion nutzt du dann einfach in der Elternklasse und kannst damit jede beliebige Kindklasse die du ausgespeichert hast wieder laden (da die Kindklassen auch auf einem wire der Elternklasse weitergeleitet werden).

Das einzige was du dann noch machen musst wäre ein "to more specific class", wenn du Zugriffe hast die du nicht über die Elternklasse und dynamic dispatching implementieren kannst. Dazu musst du dann einmal "rausfinden" welche Klasse wirklich instanziert ist (im Einfachsten Fall kannst du das in der Elternklasse als Attribut hinterlegen).


Ansonsten für deinen Zeck: File öffnen --> Referenz benutzen für ein Write to Text file um den Header zu schreiben (dann macht der dir auch auch automatisch deine Zeilenenden nach jedem Write rein --> per Write to Binary File die eigentlichen Daten in das File schreiben --> File Referenz schließen.

Rückwärts entsprechend erst den header lesen und dann wieder per read from binary auslesen. Aus dem Header kannst du ja dann wieder darauf zurückschließen was du ausgespeichert hattest.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2012, 05:57
Beitrag #16

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: unflatten from string- zu große Daten Menge
Hallo Kiesch,
danke für die Ispiration mit dem Königsweg.
Hierzu gehen die Meinungen im Forum auseinander:
Zitat:Geschrieben von Kiesch - 06.07.2012 19:16
Ansonsten für deinen Zeck: File öffnen --> Referenz benutzen für ein Write to Text file ...
denn es hiess es gibt Probleme mit den Konversions:
(06.07.2012 07:40 )rolfk schrieb:  Jens hat das Problem der Zielenenden schon angesprochen mit dem Kopieren im Editor. Dasselbe tritt aber auch auf wenn Du Deinen Flattened Cluster mit der Write to Text File Funktion abspeicherst. Die heisst nicht nur per Zufall "Text", denn die macht default Zeilenende (EOL) Konversion. Alle <CR> <LF>, <CR> und <LF> alleine werden dabei mit der für die aktuelle Platform geltenden Zeilenendekombination geschrieben. Unter Windows ist das <CR> <LF>.Und Read from Text File macht das Umgekehrte, indem alle diese Zeilenenden in das LabVIEW Zeilenende <LF> umgesetzt wird. Darum sollte man für Binary Daten ja auch Write to Binary File UND Read from Binary File verwenden.
Bin mir nun nicht schlüssig wie es auf jeden Fall zuverlässig funktioniert.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.07.2012, 16:27
Beitrag #17

Kiesch Offline
LVF-Stammgast
***


Beiträge: 394
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04103
Deutschland
RE: unflatten from string- zu große Daten Menge
Der Satz von mir ging ja auch noch weiter ;-):

Zitat:Ansonsten für deinen Zeck: File öffnen --> Referenz benutzen für ein Write to Text file um den Header zu schreiben (dann macht der dir auch auch automatisch deine Zeilenenden nach jedem Write rein --> per Write to Binary File die eigentlichen Daten in das File schreiben --> File Referenz schließen.

Du scheinst das etwas misszuverstehen: Du schreibst nicht eine Textdatei mit Write to Text file bzw. eine Binärdatei mit Write to Binary, sondern du schreibst unter bestimmten Konventionen in eine Datei.

Die Funktionen dienen nur dazu dir zum Beispiel nach einer Zeile ein Zeilenende (Write to Text file) zu schreiben bzw. dir die Längen deiner Strukturen (zum Beispiel Anzahl der Array Elemente) vorranzustellen (Write to Binary). Der qualitative Unterschied dabei ist, dass du Write to Text file in der Regel nutzt um eine Art Nutzerausgabe zu machen (menschenlesbare Tabelle) und während Write to Binary für die Datenspeicherung zur weiteren Verarbeitung durch ein Programm verwendet wird. Entsprechend stellen die dir halt unterschiedliche Funktionen zur Verfügung (zum Beispiel ein Automatisches Daten serialisieren wenn du bei Write to Binary einen beliebigen Datentyp einhängst).

Grundsätzlich machen die aber wie gesagt auf der untersten Ebene nichts unterschiedliches. Beide Schreiben letztlich Zeichen in eine Datei.

Fakt ist jedenfalls: Durch die Konversion der Zeilenende Zeichen bei Write to Text file (Read from Text file) geht dir Information verloren. Praktisch gesehen: Jedes Zeichen in der Datei besteht aus 8 Bit, entsprechend hast du 256 verschiedene Zeichen zur Auswahl. Ein I32 wird dann zum Beispiel aus 4 Byte - also 4 Zeichen in deiner Datei - dargestellt. Wenn du jetzt 3 dieser Zeichen konvertierst wird bei jedem auftauchen eines dieser Zeichen beim Ausspeichern der gespeicherte Wert verändert und du lädst am Ende was anderes als du gespeichert hast.

Kurzbeispiel:

nehmen wir mal an das Zeichen für 1 wäre Zeilenende und das Zeichen für 255 wäre Zeilenvorschub. Dann wird beim Speichern eventuell noch Zeilenende geschrieben, beim lesen jedoch wird dann schon Zeilenvorschub gelesen (durch die Konvertierung). Entsprechend speicherst du zwar 1 aus, liest aber 255. Das könnte man als bei Zahlen nicht weiter tragisch ansehen. Wenn du aber bedenkst, dass du zum Beispiel ein Array ausspeicherst das 1 Element hat. Dann speichert der Zeilenende als Anzahl der Array Elemente. Anschließend kommt das eine Element. Liest du das wieder ein, liest er plötzlich 255 Elemente (und versucht die dann aus der Datei zu lesen; der wandelt dann also Daten komplett falsch um etc.) - was natürlich schiefgeht, da du keine 255 Elemente gespeichert hast.

Hoffe das ist jetzt klarer.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2012, 05:45
Beitrag #18

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: unflatten from string- zu große Daten Menge
...ja jetzt ist es doch deutlich klarer, vielen Dank allen Beteiligten.

Grüsse
GT123
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
  Unflatten from String: Fehler 1527 kwakz 1 2.197 01.07.2015 14:01
Letzter Beitrag: jg
  Arry statischer Größe mit Elementen dynamischer Größe Si0815 2 3.065 08.03.2015 18:09
Letzter Beitrag: Si0815
  Globale Variable, maximale Größe, Daten anhängen. dieseldunst 10 8.870 18.04.2014 09:00
Letzter Beitrag: Lucki
  Fehlercodes in Funktion "Unflatten" Dommas 5 6.101 29.09.2010 14:36
Letzter Beitrag: Dommas
  große Daten abspeichern dommae 3 4.303 03.05.2010 14:53
Letzter Beitrag: dommae
  Jede Menge Pop-Up-Fenster beim Kompilieren MichaDu 3 3.439 31.08.2009 17:39
Letzter Beitrag: MichaDu

Gehe zu: