Einzelnen Beitrag anzeigen

Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#6

Re: StringList schnell nach mehreren Strings durchsuchen

  Alt 2. Okt 2007, 16:15
Hallo,

ist das wirklich soviel schneller? Die Listenelemente sind doch schon ein array mit Pointer. Ob der anfängliche Aufwand sich rechnet?

Delphi-Quellcode:
function SeekStrings(List: TStringList;strs: TStringList): TStringList;
var
  i,j,k: integer;
  TmpStr : String;
  tmp: TStringList;
begin
  tmp:=TStringList.Create;
  for i:=0 to strs.Count-1 do begin
    k:=0;
    TmpStr := strs[i];
    for j:=0 to List.Count-1 do begin
      if pos(TmpStr,List[j])>0 then
        Inc(k);
    end;
    tmp.Add(IntToStr(k));
  end;
  TmpStr := '';
  Result:=tmp;
end;
Wie so oft hilft das FastCode Project
http://fastcode.sourceforge.net/ dort
http://fastcode.sourceforge.net/chal...ntent/Pos.html
Pos_JOH_IA32_6 ist über alle Plattformen das schnellste ~ 3 fach.

Und natürlich die längere Liste in der aüßeren schleife.

Gruß Horst
  Mit Zitat antworten Zitat