von Toxitom » Fr, 13.01.2017 15:21
Hei Martin,
ja, geht.... aber ob Du Dir das wirklich antuen willst......
Die Datei selbst auszuwerten und direkt zu ändern wirst Du mit Basic nicht so ohne weiteres hinbekommen - und mit der UNO-API Methoden direkt auch nicht.
Der Weg ist: Datei entweder zeilenweise einlesen und auswerten (sicher der beste Weg) oder als "Datenstrom" komplett einlesen.
Wenn Du also Basic nutzt:
Datei öffnen zum Lesen -> Zeilen weise einlesen, Zeile als String auswerten und schauen, ob die Zeile begint mit "EM=" - dann Wert vergleichen.
Bis jetzt hast Du also lediglich die Tatsache, dass etwas geändert werden muss.
Um nun die geänderte Werte wieder in eine Datei zurück zuschreiben, müsstest Du alle Zeilen einzeln wieder in eine neue Datei schreiben, dann die "alte" löschen und die neue umbenennen. Ich weiss nicht, wie viel Zeilen die Datei beinhaltet - wenn das aber einige tausend sind, so ist das natürlich nicht wirklich perform.
Du kannst auch den kompletten Dateiinhalt in einen String einlesen (Achtung! Max Größe der Stringvariabblen beachten) - dann dort die Suche starten und ersetzen - und dann komplett zurückschreiben. Ist bei kleineren Dateien wahrscheinlich performer.
Eventuell solltest Du über andere Scriptsprachen nachdenken (Python, Perl) - die mit regulären Ausdrücken solche Aufgaben m.A. deutlch schneller lösen können.
Viele Grüße
Tom
Hei Martin,
ja, geht.... aber ob Du Dir das wirklich antuen willst......
Die Datei selbst auszuwerten und direkt zu ändern wirst Du mit Basic nicht so ohne weiteres hinbekommen - und mit der UNO-API Methoden direkt auch nicht.
Der Weg ist: Datei entweder zeilenweise einlesen und auswerten (sicher der beste Weg) oder als "Datenstrom" komplett einlesen.
Wenn Du also Basic nutzt:
Datei öffnen zum Lesen -> Zeilen weise einlesen, Zeile als String auswerten und schauen, ob die Zeile begint mit "EM=" - dann Wert vergleichen.
Bis jetzt hast Du also lediglich die Tatsache, dass etwas geändert werden muss.
Um nun die geänderte Werte wieder in eine Datei zurück zuschreiben, müsstest Du alle Zeilen einzeln wieder in eine neue Datei schreiben, dann die "alte" löschen und die neue umbenennen. Ich weiss nicht, wie viel Zeilen die Datei beinhaltet - wenn das aber einige tausend sind, so ist das natürlich nicht wirklich perform.
Du kannst auch den kompletten Dateiinhalt in einen String einlesen (Achtung! Max Größe der Stringvariabblen beachten) - dann dort die Suche starten und ersetzen - und dann komplett zurückschreiben. Ist bei kleineren Dateien wahrscheinlich performer.
Eventuell solltest Du über andere Scriptsprachen nachdenken (Python, Perl) - die mit regulären Ausdrücken solche Aufgaben m.A. deutlch schneller lösen können.
Viele Grüße
Tom