du warst schneller, aber ich komme zum gleichen Ergebnis.
Code: Alles auswählen
Searchchr$ = "."
Replacechr$ = ","
Offset.l = 51
SourceFile$ = "c:\source.csv"
TargetFile$ = "c:\target.csv"
Source = ReadFile(#PB_Any, SourceFile$)
If Source
Target = CreateFile(#PB_Any, TargetFile$)
If Target
While Eof(Source)=0
Zeile$ = ReadString(Source)
ReplaceString(Zeile$, Searchchr$,Replacechr$, 2, Offset.l )
WriteStringN(Target, Zeile$)
Wend
CloseFile(Target)
Else
; Target.Csv konnte nicht erstellt werden
EndIf
CloseFile(Source)
Else
; Source.Csv konnte nicht gelesen werden
EndIf
Alle Variabeln lasse ich über ein ini-file einlesen und bin somit sehr flexibler beim suchen und ersetzen.
OK, beim ReplaceString habe ich Sonderfall, da ich den Modus 2 verwende, der sehr schnell ist, allerdings zur Bedingung hat das der zu ersetzende String die gleiche Länge haben muss. Ich hoffe, das ich diesen durch eine Überprüfung der Stringlänge von Searchchr$ und Replacechr$
von Fall zu Fall unterscheiden kann.
Ich habe noch eine weiter Frage , die ich aber in einem neuen Thema erstellt habe " Anzahl der Zeilen in einer Textdatei ermitteln"
Vielen Dank für die Ideen.