Einzelnen Beitrag anzeigen

Joe24

Registriert seit: 21. Dez 2004
Ort: Berlin
51 Beiträge
 
#3

Re: Strings vergleichen geht SAULAHM!!!

  Alt 30. Dez 2004, 22:51
Das dein Code so langsam ist wird wohl eher an diesem Teil deiner Funktion liegen

Zitat:
Delphi-Quellcode:
...
  i := LastDelimiter('.'+PathDelim+DriveDelim, e);
  if (i > 0) and (e[i] = '.') then begin
    e := LOWERCASE(Copy(e, i+1, MaxInt));
...
den folgenden Teil habe ich 10000000 mal mit einer Schleife aufgerufen, und diese war
nach der Zeitmessung in 4sec durchlaufen.

Zitat:
Delphi-Quellcode:
...
  e := 'lnk';
  RESULT := 17;

 if (e='exe') then
    RESULT := 6
    else if (e='jpg') or (e='jpeg') or (e='bmp') or (e='gif') or (e='png') then
    RESULT := 7
    else if (e='htm') or (e='html') then
    RESULT := 8
    else if (e='txt') or (e='ini') or (e='inf') or (e='css') then
    RESULT := 9
    else if (e='rar') or (e='zip') or (e='cab') then
    RESULT := 10
    else if (e='mp3') or (e='wav') or (e='ogg') or (e='mid') or (e='wma') then
    RESULT := 11
    else if (e='mpg') or (e='mpeg') or (e='mpe') or (e='wmv') or (e='avi') or (e='asf') or (e='mov') or (e='rm') then
    RESULT := 12
    else if (e='doc') or (e='rtf') or (e='pdf') or (e='ppt') then
    RESULT := 13
    else if (e='hlp') or (e='chm') then
    RESULT := 14
    else if (e='swf') then
    RESULT := 15
    else if (e='lnk') then
    RESULT := 16
...
  Mit Zitat antworten Zitat