Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Rekursives durchsuchen und Letzten Dateizugriff auslesen
16. Apr 2010, 15: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
|