Hallo,
ich möchte Strings,Zahlenwerte und ein Array in eine Textdatei schreiben und wieder auslesen.
Das schreiben in die Textdatei funktioniert genau wie ich das möchte bis auf eine Kleinigkeit. Vor dem String "Messung durchgeführt" ist ein Leerzeichen welches ich mir nicht erklären kann.
Beim auslesen gibt es allerdings Probleme. Ich verwende die Funktion in String suchen und diese Funktion gibt einen Fehler zurück ( String entspricht nicht dem erwarteten Format).
Beim stöbern durch das Forum habe ich gesehen das man in den Anschluss
Format String auch direkt einen Text einschreiben kann. In meinen BSP habe ich das jetzt anders realisiert, weil man ja anscheinend in das
Format String Feld nur 255 Zeichen einschreiben kann. Gibt es da andere Lösungen. Ich würde da ansosnten meinen Beschriftungstext direkt mit reinnehmen. In meinem original Prog müssen nämlich wesentlich mehr Daten rein. wie z.B Datum, Name, Luftdruck usw.
Könnte mir eventuell jemand helfen.
Ich benutze LabVIEW 8.5
Vielen Dank im Vorraus
[
attachment=16080]
[
attachment=16081]
Hey super,
danke für deine schnelle Antwort.
Das Problem an der Sache ist das ich eine bestimmte Formatierung einhalten muss. Die Daten die ich in diese txt Datei einschreibe werden später mit Mathlab weiter bearbeitet.
D.h ich habe einen Header in dem Allgemeine Sachen stehen. Und dann noch Messdaten die ich dann wieder in ein Array schreiben muss. Aus dem Header Teil muss ich auch Daten wieder in Variablen schreiben, wie z.B die Temperatur.
Das ganze hat den Zweck das man ne Messung abspeichern kann und hinterher wieder laden kann mit all den Parametern um dann die Messung fortzusetzten.
Im Prinzip muss die Datei ungefähr so aussehen wie in dem ersten Anhang von mir.
Wäre nett wenn du eine Lösung weißt..
Danke
Gruß
Steffen
' schrieb:Beim stöbern durch das Forum habe ich gesehen das man in den Anschluss Format String auch direkt einen Text einschreiben kann. In meinen BSP habe ich das jetzt anders realisiert, weil man ja anscheinend in das Format String Feld nur 255 Zeichen einschreiben kann. Gibt es da andere Lösungen. Ich würde da ansosnten meinen Beschriftungstext direkt mit reinnehmen. In meinem original Prog müssen nämlich wesentlich mehr Daten rein. wie z.B Datum, Name, Luftdruck
Schau Dir das mal an, nur so als Anregung.
Kleiner Schönheitsfehler: Die einzugebenden Strings sollten einzeilig und ohne Leerzeichen sein.
Wenn die Zeichenlänge des Formatsrings auf 255 Zeichen beschränkt sein sollte, dann kanst Du doch den String etappenweise in die Datei schreiben bzw. rückgewinnen, mit mehreren Formatstrings. Das VI "In String suchen" besitzt dafür einen Ausgang für den Reststring.
[
attachment=16084]

[
attachment=16085]
Hi,
wenn Du später eh mit Matlab arbeitest, könntest Du (wenn Du eine entsprechende Lizenz "übrig" hast) auch direkt mit einem Matlab-Node die Sachen speichern. Mach ich auch so, hat auch den Vorteil, dass man nicht auf Teufel komm raus alles in irgendwelche Strings konvertieren muss, sondern das ganze als .mat in einer Datei abspeichern kann...
ch
' schrieb:Wenn die Zeichenlänge des Formatsrings auf 255 Zeichen beschränkt sein sollte, dann kanst Du doch den String etappenweise in die Datei schreiben bzw. rückgewinnen, mit mehreren Formatstrings.
Ergänzung: Das Bild zeigt die Aufspaltung des Fomatstrings in mehrere kleine Formatstrings (Was natürlich hier keinen Sinn macht, da der ursprüngliche Formatstring kleiner als 255 Zeichen ist).
[
attachment=16088]
Super.
Danke für eure vielen Antworten und Vorschläge. Hab mit eurer Hilfe das was ich machen will realisiert.
Bin natürlich wiedermal auf ein weiteres Problem gestoßen.
Egal wie ich Daten in eine Textdatei schreibe. Zahlen werden immer mit einem Komma getrennt. Um vernümpftig in Mathlab einzulesen ohne einen speziellen Datentyp zu verwenden müssen Zahlen mit einem Punkt getrennt werden.
Kann man das eventuell umstellen? Also Zahlen anstatt Komma mit einem Punkt zu trennen??
Vielen Dank
Steffen
Na klar:
Formatspecifer von %f auf %.;%f ändern.
Gruß, Jens
' schrieb:Na klar:
Formatspecifer von %f auf %.;%f ändern.
Oder - so habe ich es gemacht und nicht eine Sekunde bereut - das ganze LabVIEW gleich auf Dezimalpunkt umstellen:
Werkzeuge/ Optionen /Frontpanel / Häkchen "Lokales Dezimalzeichen verwenden" entfernen.
-