Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Was ist schneller? function oder 3x stringreplace?

  Alt 3. Jul 2005, 22:05
Hallo,

ich hab mal wieder eine Frage!

was ist schneller - diese Function:
Delphi-Quellcode:
function ZahlAusString(const S: string): string;
var
  i, j: Integer;
begin
  SetLength(Result, Length(S));
  j := 0;

  for i := 1 to Length(S) do
    If S[i] in ['0'..'9'] then
      begin
        Inc(j);
        Result[j] := S[i];
      end;

  SetLength(Result, j);
end;
oder diese 3 StringReplace´s:

Delphi-Quellcode:
  S := MaskEdit_Anrufe.EditText;
  S := StringReplace(S, '(', '', [rfReplaceAll]);
  S := StringReplace(S, ')', '', [rfReplaceAll]);
  S := StringReplace(S, ' ', '', [rfReplaceAll]);
Der Hintergrund ist, dass ich ein Editfeld habe, indem eine Telefonnummer steht, dessen Vorwahl in Klammern steht und nach der letzten Klammer und der eigentlichen Nummer ein Leerzeichen ist.

In meinem Code vergleich ich einen String, in dem die gesamte Telefonnummer (inkl. Vorwahl) ohne Klammern und Leerzeichen steht, mit dem Eingabefeld.

Deshalb würds mich interessieren was schneller ist - die Function oder die 3 StringReplace´s.

Ich schätze die Function - was meint ihr?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat