Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#43

Re: Rekursives durchsuchen und Letzten Dateizugriff auslesen

  Alt 16. Apr 2010, 14:00
Ich hab die Klassenmethode jetzt mal auf das Notwendigste gekürzt, auch wenn das vermutlich nicht fehlerverursachend war:
Delphi-Quellcode:
class procedure TDataWork.GetAllFilesInDirectorys(Directory: string; List: TStrings; ClearList: Boolean);

    procedure ScanDir(const Directory: string);
    var SR : TSearchRec;
    begin
      if FindFirst(Directory+'*.*',faAnyFile,SR) = 0 then
      begin
        try
          repeat
            if (SR.Attr and faDirectory) = faDirectory then
            begin
              if (SR.Name <> '.') and (SR.Name <> '..') then
                ScanDir(IncludeTrailingPathDelimiter(Directory+SR.Name));
            end
            else
            begin
              List.Add(Directory+SR.Name+'#'+IntToStr(SR.FindData.nFileSizeHigh)+'*'
                     +IntToStr(SR.FindData.ftLastAccessTime.dwLowDateTime));
            end;
          until FindNext(SR) <> 0;
        finally
          FindClose(SR);
        end;
      end;
    end;

begin
  List.BeginUpdate;
  try
    if ClearList then
    begin
      List.Clear;
    end;
    Directory := trim(Directory);
    if Directory = 'then
    begin
      Exit;
    end;
    Directory := IncludeTrailingPathDelimiter(Directory);
    ScanDir(Directory);
  finally
    List.EndUpdate;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat