22.06.2009, 10:43
Beitrag #2
|
TSC
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)
|
|
|
22.06.2009, 10:56
Beitrag #3
|
Rainito
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
|
|
|
22.06.2009, 10:59
Beitrag #4
|
jg
CLA & CLED
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.
|
|
|
22.06.2009, 11:55
Beitrag #5
|
|
|
22.06.2009, 12:05
(Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2009 12:10 von jg.)
Beitrag #6
|
jg
CLA & CLED
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.
|
|
|
22.06.2009, 12:14
Beitrag #7
|
TSC
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)
|
|
|
22.06.2009, 12:15
Beitrag #8
|
Rainito
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?
|
|
|
22.06.2009, 12:21
Beitrag #9
|
TSC
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)
|
|
|
22.06.2009, 12:48
|
jg
CLA & CLED
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.
|
|
|
| |