LabVIEWForum.de - Header hinzufügen

LabVIEWForum.de

Normale Version: Header hinzufügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hi
ich hab ein problem mit dem speichern meiner daten. bis jetzt hab ich die in einem array(2D) gespeichert und schreib sie mit der write to spreadsheed file.vi in meine datei. allerdings nur die messwerte. jetzt würd ich gern einen header mit datum, uhrzeit, kommentar und vor allen einheiten der messwerte vorn anhängen. das ganze sollte dann so formatiert sein dass ich das auch später wieder auslesen kann.
gibts da eine spezielle create header vi oder muss ich dass alles über die array pallette oder über file i/o machen? bzw wie geht das am besten?

bis jetzt siehts so aus:
[code]0,000000E+0
Hallo Physiker,

den Header musst du dir selbst zusammenbasteln (string-Funktionen) und dann als erstes in die Datei schreiben. Beim weiteren Schreiben der Daten dann darauf achten, dass die Daten angehangen werden ("append to file")...

Wenn du statt der generischen "Write to spreadsheet file" auf eine eigene Formatierung der Daten zurückgreifst, kannst du die (erste) Zählerspalte auch als Dezimalzahl formatiert ausgeben - ist besser lesbar für den unbedarften Nutzer Wink
' schrieb:Hallo Physiker,

den Header musst du dir selbst zusammenbasteln (string-Funktionen) und dann als erstes in die Datei schreiben. Beim weiteren Schreiben der Daten dann darauf achten, dass die Daten angehangen werden ("append to file")...

Wenn du statt der generischen "Write to spreadsheet file" auf eine eigene Formatierung der Daten zurückgreifst, kannst du die (erste) Zählerspalte auch als Dezimalzahl formatiert ausgeben - ist besser lesbar für den unbedarften Nutzer Wink

also erstmal danke vielmals für die schnelle hilfe. hab den header schon hinbekommen allerdings versteh ich nicht ganz was/wie du mit der eigenen formatierung meinst.
und ich hab da auch noch ein problem mit dem auslesen. ich kann zwar den header auslesen(mit read from text file.vi) allerdings hab probleme mit dem daten auslesen da ich in der read from spreadsheed.vi nur ein character offset aber kein line offset möglich ist. da mein header aber nicht immer die gleiche character länge hat geht das nicht ordenlich.

wie kann ich da also erst ab der 7. zeile zum lesen anfangen?
Indem du nach dem Lesen deiner Headerzeilen dir per VI die Position des "File-Lesezeiger" holst, und das dann als Offset für dein Read from Spreadsheet nimmst:
[attachment=21484]

Alternativ liest du die Spreadsheet-Zeilen selber ein und wandelst "zu Fuß" den String in eine Zahlen-Array.

Gruß, Jens
[attachment=21485]

MfG SeBa
Hallo Physiker,

nach einem genaueren Blick auf deine Beispieldatei würde ich dir sogar sehr zu einer "manuellen" Formatierung raten.
Du verwendest einen englisch-sprachigen Header mit Zahlen im "deutschen" Format (d.h. mit einem Komma als Dezimaltrennzeichen)! Beim Arbeiten mit Messdaten würde ich generell nur die "englische" Schreibweise empfehlen - zuviel Software (von Drittanbietern) ist darauf geeicht!

Wenn die Daten zeilenweise eintreffen, kannst du mit FormatIntoString und einem Formatstring a la "%.;%dt%.6gt%.6grn" arbeiten... Das "%.;" schaltet den Punkt als Dezimaltrennzeichen ein. Die Context-Hilfe zu den Formatstrings ist da sehr ausführlich!

Edited: Der angegebene Formatstring ist natürlich im ""-Code angegeben, d.h. String-Konstante erzeugen, auf -Code-Anzeige umschalten und dann den String editieren...
hi also hab das jetzt mal so umformatiert:
[code]***header***

name:
Hallo Physiker,

klare Antwort: Nein!

WriteToSpreadsheet ist eine Art Expressfunktion, die dir einiges an Arbeit abnimmt - mit dem Nachteil, nur für Standardfälle gut geeignet zu sein. Wenn man seine eigene Formatierung haben will, dann muss man sie auch programmieren. Eine Möglichkeit habe ich oben schon angedeutet Wink
Warum soll die Datei eigentlich ein eigens dafür erdachtes Layout aufweisen? Ich meine, es gibt so viele gängige Format, die von LV über Plugins unterstützt werden, da tut es doch nur noch selten not, das Rad neu zu erfinden.

http://zone.ni.com/devzone/cda/tut/p/id/4065
Hallo schrotti,

weil
1) es Firmen gibt, die strikte Anweisungen für Dateiheader vorgeben?
2) weil man ältere Hard-/Software ersetzen will und die Kollegen ihre Excel-Makros nicht umschreiben wollen/können?
Seiten: 1 2
Referenz-URLs