Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

Re: Prozedur in Funktion umwandeln?

  Alt 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
  Mit Zitat antworten Zitat