Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.227 Beiträge
 
Delphi 12 Athens
 
#15

Re: Schnelle Dateisuche

  Alt 9. Jan 2008, 10:46
nicht nur jetzt (das braucht man eigentlich immer.

Nja, aber mal zu der/solchen Funktionen:
ich werwende sowas eigentlich nie, da ich es mir selbst implementier und direkt in der Suchfunktion die Dateibehandlung implementier,
also die gefundenen Dateien sofort beim auffinden behandel.

Es wird also nicht erst eine (womögliche) rießengroße Dateiliste erstellt und erst dann diese abgearbeitet.


ich war aber schon manchmal am Überlegen eine Suchfunktion mit Callback zu nutzen (war dann aber "für mich" meistens nicht nötig)

mit Callback:
Delphi-Quellcode:
Function FindFiles(Cost Dir, FileMask: String; Callback: TSearchCallback;
  Private: Integer; Subdirs: Boolean = False): Boolean;
  // das müßte dann nur noch erstellt werden,
  // so das es den Callback aufruft und mit Suchmasken arbeitet

Function MySearchCallback(Const Dateiname: String; Private: Integer): Boolean;
  Begin
    // Datei behandeln
    Result := True; // weiter Dateien suchen (false=Suche abbrechen)
  End;

Dir := 'C:\irgendwas\';
FileMask := 'ACA_CDM.DAT|*.~*|*.$*|*.BAK|*.SIK|*.ERR|*.TMP';
FindFiles(Dir, FileMask, MySearchCallback, 0{oder irgendein Wert/Zeiger...,
  welcher an Callback übergeben wird}
, True);
ich weiß jetzt nicht, ob's sowas schon fertig gibt,
aber es wäre wohl vom Speicher/Tempo her eine optimale Lösung,
abgesehn von einer direkten Implementation ala wicht(#11)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat