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 

Daten in Textfile überschreiben



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!

22.06.2009, 10:35
Beitrag #1

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Daten in Textfile überschreiben
Hallo zusammen,

aber zwar nur ein kleines aber nerviges Problem bei der Speicherung von Messdaten in einem Textdokument.

Ich öffne eine Textdatei beim starten der Messung, danach werden viele Kopfdaten, die mit einer Zeilenendkonstante voneinander getrennt sind auf einmal in diese Datei geschrieben. Später werden dann immer ein Messwertpaket die mit Tab voneinander getrennt sind in einen neue Zeile angehängt. Jetzt will ich beim beenden der Messung die kopfdaten nochmal an den Anfang schreiben, d.h. aktualisieren. Dazu setz ich die cursorposition auf den anfang und überschreib nur die kopfdaten genauso wie ich sie am anfang speichere........jetzt kommt mein problem.....nachdem dem nochmaligen speichern löscht es mir teile aus der 1. Messwertreihe.......ich weiss ehrlich gesagt nicht warum. Mein Programm kann ich leider nicht mit anhängen da es zu umfangreich ist und den Rahmen sprengen würde.

Ich stell aber die Textfiles mal rein. Vielleicht fällt euch da ja was auf. Muss ich die Messwerte mit einem bestimmten trennzeichen vielleicht schreiben, damit beim überschreiben der kopfdaten das nicht passiert???

Vielen dank schon mal


Angehängte Datei(en)
Sonstige .txt  22_06_2009_11UHR23_Messplatz_1_mit_Abschluss.txt (Größe: 644 Bytes / Downloads: 301)

Sonstige .txt  22_06_2009_11UHR23_Messplatz_1_ohne_Abschluss.txt (Größe: 441 Bytes / Downloads: 258)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.06.2009, 10:43
Beitrag #2

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Daten in Textfile überschreiben
sehe ich es richtig, dass dir das 1. Zeichen fehlt bei deinen Messwerten? Ohne dein VI zu sehen ist es natürlich schwer, nachzuvollziehen, was da passiert (evtl, kannst du zumindest ein screenshot machen von dem bereich wo du speicherst und co oder eben doch das vi hochladen). Hast du die Schreibposition evtl auf 1 gesetzt anstatt auf 0??

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 10:56
Beitrag #3

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Daten in Textfile überschreiben
Hey....danke gleichmal für die schnelle antwort. werd versuchen gleich noch ein paar Screenshots hochzuladen!!

schreibposition ist sicher auf 0, denn der letzte wert vor den messwerten steht an der gleichen stelle......nur wird irgendwie ein teil der 1. Messwertreihe überschreiben......wenn ich das gleiche nochmal mache....fehlt die ca. die hälfte der 1. Messwertreihe.

wollte gerade noch die Screenshots machen...aber das wird zu umständlich.....bastel gleich meinen aufbau zusammen und stell ihn dann rein!!!

Merci
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 10:59
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Daten in Textfile überschreiben
Hallo,

so ein Überschreiben funktioniert nur dann richtig, wenn beide Header byteweise gleich lang sind!

Das sind sie bei deinen Beispielen nicht, in der Zeile vor dem Datum steht bei der ersten Datei nur eine 0, in der zweiten eine 26, also ein Zeichen und somit ein Byte mehr.
Deshalb wird dir hier die erste Null der Messdaten überschrieben.

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
22.06.2009, 11:55
Beitrag #5

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Daten in Textfile überschreiben
danke jens....das erklärt es wahrscheinlich. Dann müsste ich beim abschluss der messung quasi die messdatei nochmal komplett einlesen........werte verändern und nochmal komplett schreiben. Richtig??

stell trotzdem nochmal meinen schreibprozess hier rein.

danke.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 12:05 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2009 12:10 von jg.)
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Daten in Textfile überschreiben
Das ist eine Möglichkeit.

Die andere ist skizziert, du musst bei beiden Schreibvorgängen genau dieselbe Anzahl Bytes/Zeichen schreiben, nur dann funktioniert das.

Du musst dir das so vorstellen, der File exisitiert ja schon im "Binärformat" auf der Festplatte. Durch das Setzen der Schreibposition wird jetzt genau das eine Byte an dieser Stelle überschrieben. Und wenn du beim zweiten Mal mehr Bytes schreibst, dann wird halt was überschrieben. Man darf bei sowas halt nicht davon ausgehen, dass das File-Schreiben zeilenweise funktioniert, nein, es funktioniert halt immer zeichenweise.

Analogie: Stell mal in einem Binär-Editor den Modus "Überschreiben" statt "Einfügen" ein, und tippe dann mal was neues rein!

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
22.06.2009, 12:14
Beitrag #7

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Daten in Textfile überschreiben
' schrieb:...
Analogie: Stell mal in einem Binär-Editor den Modus "Überschreiben" statt "Einfügen" ein, und tippe dann mal was neues rein!
...

Gibt es denn analog dazu unter LV keine Möglichkeit zum "Einfügen"? War ich irgendwie stark von ausgegenagen. Gefunden habe ich es allerdings nicht.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 12:15
Beitrag #8

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Daten in Textfile überschreiben
ok.....da ich aber am anfang noch nicht weiss wieviel zeichen ich evtl hinzufügen muss....bleibt mir quasi nur die möglichkeit die datei zu lesen mit "Tabellenstring nach array".....ich verändere bestimmt positionen im Array.....und schreib es genauso wieder zurück! Dann wär das die optimale lösung. richtig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 12:21
Beitrag #9

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Daten in Textfile überschreiben
kannst du denn nicht einfach nur die daten schreiben, dann nur die daten lesen und vor die daten den kopf setzen und wieder alles schreiben? warum willst du unbedingt den header vorher als "platzhalter" reinsetzen?

jenachdem wie viele daten du sammelst kannst du auch nur am ende schreiben und vorher alle daten in einem array oder ähnlichem sammeln.

oder du sorgst dafür, dass immer exakt gleich viele zeichen in der datei sind (werte mit nachkommastellen auffüllen und ähnliches)

z.b.

006,456
103,300
000,000


LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2009, 12:48
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Daten in Textfile überschreiben
' schrieb:Gibt es denn analog dazu unter LV keine Möglichkeit zum "Einfügen"? War ich irgendwie stark von ausgegenagen. Gefunden habe ich es allerdings nicht.
Nö, gibt es nicht. Wie auch? Wenn der File mal als Bytestream auf der HDD angelegt ist, dann kannst du nur das Byte an der bestimmten Fileposition durch ein anderes Byte überschreiben. Einfügen geht nur durch komplettes Einlesen und Neuschreiben!

' schrieb:oder du sorgst dafür, dass immer exakt gleich viele zeichen in der datei sind (werte mit nachkommastellen auffüllen und ähnliches)
Das habe ich doch schon 2mal erzählt, ersetzen geht nur bei exakt gleicher Größe der geschriebenen Strings (inkl. Zeilenumbrüche!!)

Gruß, Jens

P.S.: Bei Ini-Files ist das anders, da kann man was einfügen/ersetzen/löschen. Die werden aber meines Wissens nach bei File-Close immer komplett neugeschrieben!

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  TDMS Kanal überschreiben Brainbug 3 5.771 30.04.2015 06:32
Letzter Beitrag: Brainbug
  Textfile Zeile unterschiedl. Länge in Bytearray umwandeln bartinivva14 6 5.545 02.10.2014 11:50
Letzter Beitrag: bartinivva14
  Datei überschreiben und unter neuem Namen speichern flink 4 7.085 16.07.2014 14:37
Letzter Beitrag: th13
  Problem mit Nachkommastellen beim Auslesen einer Tabstopgetrennten Textfile SEF 6 7.285 23.10.2013 10:22
Letzter Beitrag: SEF
  Text in Textdatei bei Position x einfügen nicht überschreiben GT123 3 6.286 08.08.2012 09:26
Letzter Beitrag: GT123
  Formatierung Textfile Idlewild 3 5.418 16.05.2012 10:20
Letzter Beitrag: Idlewild

Gehe zu: