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!
Hallo nach langem hin u. her probieren frage ich doch nun einmal hier im Forum.
Ich möchte in einer bestehenden .txt Datei einen Parameterwert überschreiben.
D.h. für mich nach dem Schlüsselwort config.serial suchen und das dahinter überschreiben.
Ich habe die Datei einmal angehängt (Ausschnitt).
config.serial comxxxx
Dieses com soll mit dem richitgen Wert ersetzt werden.
Wie suche ich nun genau nach der Stelle und überschreibe auch genau dies?
Wie ich den Pfad der .txt Datei definieren muss ist klar.
Vielen Dank schon einmal
Eine Stelle in einem txt-File überschreiben, dass ist so eine Sache. Wenn du jetzt ein Byte mehr oder weniger schreibst, dann zerstörst du dir deinen ganzen txt-File.
Ich würde mich an deiner Stelle mit den Config-File-VIs beschäftigen. Da erledigt die dahinterliegende Library für dich, wenn du einen Schlüssel/Key ersetzt.
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!
dass Problem ist das die Config.txt Datei nicht geändert werden kann, da sie für mehrere Applikationen erstellt wurde...
leider
Das mit dem Configfile habe ich mir bereits angesehen.
Nur ist eben die vorhanden Parameterdatei schon so...
Dann wäre mein Vorgehen:
- die gesamte Datei einlesen, am besten so, dass jede Zeile in einem Array of String landet.
- die nötigen Änderungen machen (In For/While-Schleife nach dem Key-Wort suchen, dann diesen String entsprechend ersetzen).
- die gesamte Datei wieder (im Replace-Modus) schreiben.
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!
EDIT ON
Das Überprüfen der Größe des Change-Arrays solltest du weglassen. Der Gedanke dahinter war gut, doch wenn das Array leer ist und noch Textzeilen kommen, werden die verschluckt. EDIT OFF
Ich bin einfach mal davon ausgegangen, dass wenn du einen Wert ändern willst... willst du bestimmt auch mal mehrere ändern.
Das Überschreiben der original Datei musst du noch programmieren.
Gruß SeBa
PS:
Ich würd dir empfehlen immer ein Backup der original Datei zu machen. Dann kannst du immer zur letzten Version gehen, falls was schief läuft.
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
ich habe jetzt einmal das Prg. von SeBa weiterentwickelt, siehe Anhang.
(die For-Schleifenbedingung geht in 8.6 nicht, deswegen While)
Funktioniert soweit, was noch nicht einwandfrei ist, ist dass wenn ein Therm ersetzt wird es mit dem Seitenumbruch irgendwie
Probleme bereitet. An was kann es noch liegen...
Du beendest deinen ersetzten String mit einer Wagenrücklauf-Konstanten.. du meinst aber eine Wagenrücklauf&Zeilenvorschub-Konstante.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
habe es nun angepasst...
Was mir noch aufgefallen ist, wenn ich com6 reinschreibe, bleibt am Schluss des txt files nach der Bearbeitung ein Rest.
Das sind noch die letzten Stellen des alten Files, wie kann ich zuerst alles löschen und dann aus dem Array reinschreiben?