Diese Function ist genau der Zeitfresser. result:=result+buchstabe; und delete(wort,k,1); erstellen dauernd neue Strings.
Delphi-Quellcode:
function wortverdrehen(const eingabe: string): string;
var
I, Pos1, Pos2: Integer;
Temp: Char;
begin
Result := Eingabe;
for I := 1 to Length(Eingabe)*2 do
begin
Pos1 := Random(Length(Eingabe)) + 1;
Pos2 := Random(Length(Eingabe)) + 1;
Temp := Result[Pos1];
Result[Pos1] := Result[Pos2];
Result[Pos2] := Temp;
end;
end;
Die obige Funktion verwuerfelt den String einfach durch haeufiges Vertauschen zweier Buchstaben.
Length(Eingabe)*2 stellt einfach sicher das genuegend oft getauscht wird. Das gelegentlich ein Buchstabe mit sich selbst getauscht wird ist nicht weiter tragisch.
(die Funktion ist ungetestet)