function fnReemplazar(Original: string; Reemplazo: string; PosOriginal: Integer; PosReemplazo: Integer; Reemplazar: Boolean): string;
begin
if Original[PosOriginal] = '*' then
Reemplazar := not Reemplazar
else if Reemplazar = True then begin
Original[PosOriginal] := Reemplazo[PosReemplazo];
Inc(PosReemplazo);
end;
if Original[PosOriginal] <> '' then
Original := fnReemplazar(Original, Reemplazo, PosOriginal+1, PosReemplazo, Reemplazar) ;
result:= Original;
end;
var
vFrase, vSustituto : String;
Reemplazar : Boolean;
i : Integer;
vFrase := 'Si los puedes *entender* se puede programar';
vSustituto := 'imaginar';
Reemplazar := False;
vFrase := fnReemplazar(vFrase,vSustituto,1,1,Reemplazar);