quinta-feira, 17 de setembro de 2009

Replacing strings

Function ReplaceStr (Text,oldstring,newstring:string):string;
var atual, strtofind, originalstr:pchar;
NewText:string;
lenoldstring,lennewstring,m,index:integer;
begin //ReplaceStr
NewText:=Text;
originalstr:=pchar(Text);
strtofind:=pchar(oldstring);
lenoldstring:=length(oldstring);
lennewstring:=length(newstring);
Atual:=StrPos(OriginalStr,StrtoFind);
index:=0;
while Atual<>nil do
begin //Atual<>nil
m:=Atual - OriginalStr - index + 1;
Delete(NewText,m,lenoldstring);
Insert(newstring,NewText,m);
inc(index,lenoldstring-lennewstring);
Atual:=StrPos(Atual+lenoldstring,StrtoFind);
end; //Atual<>nil
Result:=NewText;
end; //ReplaceStr

Nenhum comentário:

Postar um comentário