Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
Delphi 2006 Professional
|
Re: Alle anderen Zeichen außer a-z entfernen!
4. Okt 2005, 15:54
Hai ihr,
nur mal so als vergleichswert:
Delphi-Quellcode:
begin
for ndx := 1 to 1000 do
begin
s := s + 'A';
end;
end;
function StripToLetters(const InStr: string): string;
var
I, Cnt: Integer;
begin
SetLength(Result, Length(InStr));
Cnt := 0;
for I := 1 to Length(InStr) do
begin
if InStr[I] in ['A'..'Z', 'a'..'z'] then
begin
Inc(Cnt);
Result[Cnt] := InStr[I];
end;
end;
SetLength(Result, Cnt);
end;
function StripToLetters2(const InStr: string): string;
var
i: Integer;
begin
for i := 1 to Length(InStr) do
begin
if InStr[i] in ['A'..'Z', 'a'..'z'] then
begin
Result := Result + InStr[i];
end;
end;
end;
procedure TForm1.btn_Test1Click(Sender: TObject);
var
start : Cardinal;
ende : Cardinal;
foo : string;
ndx : integer;
begin
start := GetTickCount;
for ndx := 1 to 1000 do
foo := StripToLetters(s);
ende := GetTickCount;
lbl_Label1.Caption := Format('Zeit %d',[ende-start]);
start := GetTickCount;
for ndx := 1 to 1000 do
foo := StripToLetters2(s);
ende := GetTickCount;
lbl_Label2.Caption := Format('Zeit %d',[ende-start]);
end;
Bei Funktion1 : 1 ms
Bei Funktion2 : 2200 ms
Stephan B. "Lasst den Gänsen ihre Füßchen"
|
|
Zitat
|