Zitat von
Christian Seehase:
Moin Magier,
weil's mir gerade so ins Auge springt:
Die Variablen s2 und gerade kannst Du einsparen:
Delphi-Quellcode:
function replacetext(workstring:string):string;
var
i : integer;
s : string;
begin
s := workstring;
for i := 1 to length(s) do begin
if (i mod 2 = 0) and (s[i] <> ' ') then s[i] := '.';
end;
result :=s;
end;
das "i mod 2 = 0" reicht aber nicht aus, denn bspw. bei dem text "Hase Hase" kommt bei deiner funktion "H.s. .a.e" raus...
um sowas zu umgehen kann man z.B. eine zweite zählvariable einbauen, die die position ab dem letzten leerzeichen enthält, z.B. so:
Delphi-Quellcode:
function ReplaceText(const WorkString: string): string;
var I,C: Integer;
S: string;
begin
S := WorkString;
C := 0;
for I := 1 to Length(S) do begin
Inc(C);
if S[I] <> ' ' then begin
if C mod 2 = 0 then
S[I] := '.';
end else C := 0;
end;
Result := S;
end;
dann wird aus dem doppelten hasen (über sinngehalt wird sich nich gestritten
) auch wieder "H.s. H.s."