AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schnelles Suchen nach Dateien

Ein Thema von GFEMajor · begonnen am 25. Jan 2009 · letzter Beitrag vom 25. Jan 2009
Antwort Antwort
GFEMajor

Registriert seit: 30. Dez 2008
15 Beiträge
 
#1

Re: Schnelles Suchen nach Dateien

  Alt 25. Jan 2009, 09:48
Ok, ich werd es mal Testen, aber warum sollte eine verkettete Liste schneller sein?
Ich leg ja das Array schon vor dem Einladen an. Es existieren also schon alle Einträge (nur ohne die richtigen Werte ). Und zur Laufzeit weise ich dann die Werte zu.

Bei einer List müsste ich in jedem Durchlauf ein Element anlegen und Zeiger setzen.

Edit:
----

Ich hab jetzt mal noch ne kleinere Zeitmessung gemacht. uUnd zwar mit folgendem Code:

Delphi-Quellcode:
procedure TCRSDataSourceFile.FindAllFiles(var FileEntrys : array of RCRSFileEntry; RootFolder: string; Mask: TStrings = nil; Recurse: Boolean = True);
var
  SR: TSearchRec;
  i: Integer;
  Item: RCRSFileEntry;
begin
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);
  if Mask = nil then
  begin
    Mask := TStringList.Create;
    Mask.Add('*.*');
  end;
  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then // Verzeichnis
        begin
          if (SR.Name <> '.') and (SR.Name <> '..') then
          begin
            FindAllFiles(FileEntrys, RootFolder + SR.Name, Mask, Recurse);
          end;
        end else // Datei gefunden
        begin
          aktLength := 0;
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;
Es wird also nichts mit den Dateien gemacht. Nur jede einmal angefasst. Und da dauert das einlesen von 10.000 Elementen schon 3 Minute lang. Ich denke also, der Beschränkende Faktor ist entweder die Festplattengeschwindigkeit oder Die Funkntionen FindFist/FindNext usw.
Oder habt ihr eine andere Idee?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz