Suchen und ersetzen?
Suchen und ersetzen?
hi wie kann ich eine txt datei öffnen diese nach einem bestimmten string durchsuchen und den string durch einen anderen ersetzen und speichern?
4
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Suchen und ersetzen?
> hi wie kann ich eine txt datei öffnen
Mit ReadFile()
> diese nach einem bestimmten string durchsuchen
Mit ReadString() und FindString()
> und den string durch einen anderen ersetzen
mit ReplaceString()
> und speichern?
mit WriteString()
> 3.9x
wieso nicht PB4?
Grüße ... Kiffi
Mit ReadFile()
> diese nach einem bestimmten string durchsuchen
Mit ReadString() und FindString()
> und den string durch einen anderen ersetzen
mit ReplaceString()
> und speichern?
mit WriteString()
> 3.9x
wieso nicht PB4?
Grüße ... Kiffi
a²+b²=mc²
also ich hätt das jetzt so gemacht aber ähm geht net so wirklich
geht aber nich so
hier die zu editierende file
PB 4.00 is mir zu
, ich bin oldschool benutzt ja auch php4 anstatt php5 ;D
Code: Alles auswählen
If OpenFile(1,"config.cfg")
String$ = ReadString()
Stringresulut$ = ReplaceString(String$, "SET movie "0"", "SET movie "1"")
CloseFile(1)
EndIf
hier die zu editierende file
Code: Alles auswählen
SET hwDetect "0"
SET gxColorBits "24"
SET gxDepthBits "24"
SET gxResolution "1024x768"
SET gxRefresh "60"
SET gxWindow "1"
SET gxMultisample "1"
SET gxMultisampleQuality "0.000000"
SET gxFixLag "0"
SET fullAlpha "1"
SET lodDist "100.000000"
SET SmallCull "0.040000"
SET DistCull "500.000000"
SET trilinear "1"
SET frillDensity "32"
SET farclip "477"
SET specular "1"
SET pixelShaders "1"
SET particleDensity "1.000000"
SET unitDrawDist "300.000000"
SET movie "0"
SET checkAddonVersion "0"
SET mouseSpeed "1"
SET DesktopGamma "1"
SET Gamma "1.000000"

4
> also ich hätt das jetzt so gemacht
* Du verwendest OpenFile() statt ReadFile(): Du musst die Datei ja nur lesen
und nicht (wie es bei OpenFile() der Fall ist) bei Bedarf erstellen
* Du liest nur eine Zeile ein. Um alles einzulesen, musst Du solange in
einer Schleife die Zeilen lesen, bis EOF() #True ist.
* Du schreibst Stringresulut$ (soll das nicht Stringresult$ heissen?) nicht
wieder auf die Platte.
> PB 4.00 is mir zu
ähm, ja, da fehlen mir die Worte.
Grüße ... Kiffi
* Du verwendest OpenFile() statt ReadFile(): Du musst die Datei ja nur lesen
und nicht (wie es bei OpenFile() der Fall ist) bei Bedarf erstellen
* Du liest nur eine Zeile ein. Um alles einzulesen, musst Du solange in
einer Schleife die Zeilen lesen, bis EOF() #True ist.
* Du schreibst Stringresulut$ (soll das nicht Stringresult$ heissen?) nicht
wieder auf die Platte.
> PB 4.00 is mir zu

ähm, ja, da fehlen mir die Worte.
Grüße ... Kiffi
a²+b²=mc²
> ich will doch die datei ersetzten
so, wie Du das vorhast, geht das aber nicht.
Du musst die zu lesende Datei mit ReadFile() öffnen. Dann erstellst Du
eine *neue* Datei mit CreateFile(). Mit ReadString() liest Du die Zeilen aus
der zu lesenden Datei und mit WriteString() schreibst Du in die zu
schreibende Datei.
Grüße ... Kiffi
so, wie Du das vorhast, geht das aber nicht.
Du musst die zu lesende Datei mit ReadFile() öffnen. Dann erstellst Du
eine *neue* Datei mit CreateFile(). Mit ReadString() liest Du die Zeilen aus
der zu lesenden Datei und mit WriteString() schreibst Du in die zu
schreibende Datei.
Grüße ... Kiffi
a²+b²=mc²
Code: Alles auswählen
ReadFile(0, "config.cfg")
Repeat
text$=ReadString()
Debug text$
Until Eof(0)<>0
stringresult$ = ReplaceString(text$, "SET movie "0"", "SET movie "1"")
CloseFile(0)
DelefteFile("config.cfg")
OpenFile(1,"config.cfg")
WriteString(Text$)
CloseFile(1)
4
> also nun ist alles richtig aber ähm geht net
na, dann kann's ja nicht richtig sein
> DelefteFile("config.cfg")
Was ist denn das für ein Befehl?
DeleteFile() bräuchtest Du übrigens nicht, wenn Du (wie mehrfach in den
Postings oben geschrieben) CreateFile() verwenden würdest. Liest Du denn
auch mal die Postings, die Dir andere schreiben?
Grüße ... Kiffi
na, dann kann's ja nicht richtig sein

> DelefteFile("config.cfg")
Was ist denn das für ein Befehl?

DeleteFile() bräuchtest Du übrigens nicht, wenn Du (wie mehrfach in den
Postings oben geschrieben) CreateFile() verwenden würdest. Liest Du denn
auch mal die Postings, die Dir andere schreiben?

Code: Alles auswählen
Quelldatei öffnen (ReadFile())
Tempdatei öffnen (CreateFile())
while not eof(Quelldatei)
UseFile(Quelldatei)
Zeile aus Quelldatei auslesen
Zeileninhalt ersetzen
UseFile(Tempdatei)
Zeile in Tempdatei schreiben
wend
Tempdatei schliessen
Quelldatei schliessen
Quelldatei löschen
Tempdatei in Quelldatei umbenennen
a²+b²=mc²