du könntest der funktion eine Callback-routine übergeben und diese in der schleife aufrufen.
so in etwa (ungetestet):
Delphi-Quellcode:
Type TCallback=procedure(percent:byte) {of object};
pocedure {TForm1.}CallbackProc(percent:byte);
begin
//progressbar etc. ändern
end;
function TransformString(const input, source, dest:string;cb:TCallback):string;
...
for ...
begin
..
cb(Round(100*i/length(input)));
end;
Caption := TransformString('56456|444:', source, dest,CallbackProc);
oder du greifst in der schleife gleich auf die entsprechenden Instanzen zur anzeige zu (nicht zu empfehlen).
ggf. muss application.processmessage o.ä. verwendet werden.
HTH Frank