Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Was ist schneller? function oder 3x stringreplace?

  Alt 3. Jul 2005, 23:04
Generell dürfte ein Besuche bei den Bei Google suchenFastcoders einen Versuch Wert sein.

Bei deiner Funktion fällt mir auf, dass du die Größe des Strings 2-mal besetzt und Zum Iterieren durch einen string eignet sich ein PChar ganz gut.


Delphi-Quellcode:
function ZahlAusString(const aSearchString: string): string;
var
   i : Integer;
   CurrentChar : PChar;
   NumberFound : Boolean;
   NumberStart : Integer;
   NumberLength : Integer;
begin

   NumberFound := False;
   NumberStart := -1;
   NumberLength := 0;

   CurrentChar := PChar(aSearchString);

   for i := 1 to Length(aSearchString) do
   begin
      if CurrentChar^ in ['0'..'9'] then
      begin
         inc(NumberLength);

         if not NumberFound then
         begin
            NumberStart := i;
            NumberFound := True;
         end;
      end
      else if NumberFound then
         break;

      inc(CurrentChar);
   end;

   if NumberFound then
      result := Copy(aSearchString, NumberStart, NumberLength)
   else
      result := '';
end;
  Mit Zitat antworten Zitat