Warum es mit Pos langsamer ist, kann man sich doch vorstellen, denn schließlich wird immer wieder der Sting von Anfang an durchsucht, selbst wenn schon ein Teil bearbeitet wurde und das immer wieder.
Delphi-Quellcode:
i := Pos('#', S);
While i > 0 do Begin
S[i] := ',';
i := PosEx('#', S, i + 1);
End;
Das könnte man zwar auch noch auf PChar umstellen, oder wenn man beim String bleiben will, dann ginge auch noch sowas ^^
Delphi-Quellcode:
UniqueString(S);
i := Pos('#', S);
While i > 0 do Begin
PByte(@S[i])^ := Byte(',');
i := PosEx('#', S, i + 1);
End;
Für PosEx gibt's ja 2 Versionen in der CodeLib, da es das erst seit D4 gibt.