(CodeLib-Manager)
Registriert seit: 10. Jun 2002
4.648 Beiträge
Delphi XE Professional
|
Re: Prozedur in Funktion umwandeln?
9. Feb 2005, 06:24
Zitat von Binärbaum:
Dann kann man sich doch gleich eine eigene Funktion oder Prozedur schreiben, die die Funktionalität von StringReplace ersetzt und dabei zählt, wie oft eine Ersetzung durchgeführt wurde.
Genau!
Delphi-Quellcode:
function ReplaceStr(s, OldSubStr, NewSubStr: string; var Count: Integer): string;
var
i: integer;
OldSubLen, TotalLength: integer;
begin
Result := '';
Count := 0;
if s <> '' then
begin
OldSubLen := Length(OldSubStr);
TotalLength := Length(s);
i := 1;
while i <= TotalLength do
begin
if (i <= TotalLength - OldSubLen) and (Copy(s, i, OldSubLen) = OldSubStr) then
begin
Inc(Count);
Result := Result + NewSubStr;
Inc(i, OldSubLen);
end
else
begin
Result := Result + s[i];
Inc(i);
end;
end;
end;
end;
Thomas
|
|
Zitat
|