Seite 1 von 1
Suchen und ersetzen?
Verfasst: 27.10.2006 22:13
von mx03
hi wie kann ich eine txt datei öffnen diese nach einem bestimmten string durchsuchen und den string durch einen anderen ersetzen und speichern?
Verfasst: 27.10.2006 22:15
von Kaeru Gaman
ReadString() - FindString() - WriteString()
Re: Suchen und ersetzen?
Verfasst: 27.10.2006 22:16
von Kiffi
> 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
Verfasst: 27.10.2006 22:24
von mx03
also ich hätt das jetzt so gemacht aber ähm geht net so wirklich
Code: Alles auswählen
If OpenFile(1,"config.cfg")
String$ = ReadString()
Stringresulut$ = ReplaceString(String$, "SET movie "0"", "SET movie "1"")
CloseFile(1)
EndIf
geht aber nich so
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"
PB 4.00 is mir zu

, ich bin oldschool benutzt ja auch php4 anstatt php5 ;D
Verfasst: 27.10.2006 22:29
von uweb
Du hast gelesen, verglichen und einen neuen String erzeugt. Kann es sein, daß Du vergessen hast zu schreiben ?
Verfasst: 27.10.2006 22:32
von Kiffi
> 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
Verfasst: 27.10.2006 22:45
von mx03
* Du verwendest OpenFile() statt ReadFile(): Du musst die Datei ja nur lesen
und nicht (wie es bei OpenFile() der Fall ist) bei Bedarf erstellen
ich will doch die datei ersetzten und mit read les ich doch nur und kann das ersetzte nich speichern oder nich?
Verfasst: 27.10.2006 22:48
von Kiffi
> 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
Verfasst: 27.10.2006 22:58
von mx03
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)
also nun ist alles richtig aber ähm geht net
Verfasst: 27.10.2006 23:09
von Kiffi
> 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?
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
Grüße ... Kiffi