LabVIEWForum.de
Datensatz in ener TXT Tabelle ersetzen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Datensatz in ener TXT Tabelle ersetzen? (/Thread-Datensatz-in-ener-TXT-Tabelle-ersetzen)



Datensatz in ener TXT Tabelle ersetzen? - johnengson - 04.06.2007 08:45

Hallo an alle,

ich habe folgendem Probem: ich möchte in einer TXT-Datei Datensätze schreiben als Tabelle. Dabei muss ich erstmal überprüfen, ob deiser Datensatz in der Datei schon existiert.
-Falls der Datensatz schon existiert, dann müssen nur de Werte ersetzt werden ohne die anderen Datenstze zu löschen.
-Falls der Datensatz nicht existiert, dann wird nur am ende ein neuen Datensatz daz geschrieben.
Wo das Problem liegt ist die Ersetzung dem exsterenden Datensatz! Wie kann ich es lösen?
Als Anhang liegt ein Quellcode vor Version 8.0

Best regards

John


Datensatz in ener TXT Tabelle ersetzen? - Achim - 04.06.2007 09:03

Ich würde die ganze Datei in ein 2D-String-Array einlesen, dann nach dem Datensatznamen suchen. Gibt es den schon, werden mit "ReplaceArraySubset" die Werte aktualisiert...wenn nicht, wird mit BuildArray eine zusätzliche Zeile hinten angehängt. In beiden Fällen wird die Datei dann unter gleichem Namen wieder komplett mit dem neuen Inhalt des 2D-Arrays abgespeichert. Das 2D-Array kannst du mit "ArrayToSpreadsheetString" wandeln und diesen String dann mit "WriteTextfile" abspeichern. Evtl. musst du beim Schreiben den "AdvisoryDialog" deaktivieren, weil du sonst immer gefragt wirst, ob du die schon vorhandene Datei ersetzen willst...

Gruss
Achim


Datensatz in ener TXT Tabelle ersetzen? - johnengson - 04.06.2007 12:43

' schrieb:Hallo an alle,

ich habe folgendem Probem: ich möchte in einer TXT-Datei Datensätze schreiben als Tabelle. Dabei muss ich erstmal überprüfen, ob deiser Datensatz in der Datei schon existiert.
-Falls der Datensatz schon existiert, dann müssen nur de Werte ersetzt werden ohne die anderen Datenstze zu löschen.
-Falls der Datensatz nicht existiert, dann wird nur am ende ein neuen Datensatz daz geschrieben.
Wo das Problem liegt ist die Ersetzung dem exsterenden Datensatz! Wie kann ich es lösen?
Als Anhang liegt ein Quellcode vor Version 8.0

Best regards

John

Danke Achm für den Tips, aber ich schaffe es ncht meine txt-Datei als 2D-Array einzulesen Wenn ich die als 2D-Array einlese, dann gibt er mir en "Salat" aus (alle Werte werden jede Spalte und Zeile eingeschrieben
Grüß


Datensatz in ener TXT Tabelle ersetzen? - Achim - 04.06.2007 13:01

Hi,

das Problem ist wohl das Format deines Datenfiles. Du willst offenbar im einfachen Textfile eine gewisse Übersichtlichkeit haben, deswegen hast du Tabs reingebracht...leider sind das in nem Array dann aber Leerfelder...Wenn du die Daten "strukuriert" speichern willst, solltest du vielleicht auf *.xls oder *.csv-Dateien ausweichen, *.txt-Dateien sind da nicht sooooo gut geeignet...hast du schon mal versucht, deinen Originaldatensatz mit Excel einzulesen? Das sieht dann genauso komisch aus, wie im LV-Array. Ich hab deine Daten mal so abgespeichert, wie du sie für ein reines Textfile auch abspeichern solltest...siehe Anhang! Und dann geht das einlesen mit LV so wie im Screenshot!

Gruss
Achim

[attachment=6992]
[attachment=6993]


Datensatz in ener TXT Tabelle ersetzen? - johnengson - 05.06.2007 09:36

' schrieb:Hi,

das Problem ist wohl das Format deines Datenfiles. Du willst offenbar im einfachen Textfile eine gewisse Übersichtlichkeit haben, deswegen hast du Tabs reingebracht...leider sind das in nem Array dann aber Leerfelder...Wenn du die Daten "strukuriert" speichern willst, solltest du vielleicht auf *.xls oder *.csv-Dateien ausweichen, *.txt-Dateien sind da nicht sooooo gut geeignet...hast du schon mal versucht, deinen Originaldatensatz mit Excel einzulesen? Das sieht dann genauso komisch aus, wie im LV-Array. Ich hab deine Daten mal so abgespeichert, wie du sie für ein reines Textfile auch abspeichern solltest...siehe Anhang! Und dann geht das einlesen mit LV so wie im Screenshot!

Gruss
Achim

[attachment=33649:Test_NEU.txt]
[attachment=33650:lesearraytxt.gif]


H Achim,

Du hattest recht! Ich habe alles umgestellt und es hat gekappt Big Grin Dank! Ich kann zwar de einzlnen Daten nicht ersetzen, aber den kompette Datensatz schon. So ist auch besser, weil ich brauche dazzu nur die Array-Zeile zu ermitteln. Das Programm ist dann übersichtlich
Nochma Tanks

Best regards
John