Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Suche in ListBox beschleunigen

  Alt 6. Jan 2007, 07:51
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)
  Mit Zitat antworten Zitat