Habe mir die Hilfe durchgelesen, war auch so schlau mal in die Delphi Hilfe zu gucken. Naja ich kenn mich mit den sachen halt nicht aus, habe ich noch nie was mit gemacht. Tut mir leid wenn ich es euch unnötig schwer mache, bin froh das ihr mir helft!
Ok, das mit dem Datum und der Größe habe ich jetzt auch so, nur wie kann ich das jetzt in meine Stringlist schreiben, die ist leider immer noch leer und ich weiß nicht warum. Das Debugen hab ich schon probiert, das hilft mir nicht weiter, scheinbar schreibt er garnichts in List...
Wäre super wenn mir da noch jemand helfen könnte, das ist dann denke ich der letzte schritt.
Das ist di Funktion:
Delphi-Quellcode:
class procedure TDataWork.GetAllFilesInDirectorys(Directory: string; List: TStrings; ClearList: Boolean);
procedure ScanDir(const Directory: string);
var Mask : string;
var SR : TSearchRec;
begin
Mask := '*.*';
if FindFirst(Directory+Mask,faAnyFile and not faDirectory, SR) = 0 then
begin
try
repeat
List.Add(Directory+SR.Name+'#'+IntToStr(SR.FindData.nFileSizeHigh)+'*'
+IntToStr(SR.FindData.ftLastAccessTime.dwLowDateTime));
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
if FindFirst(Directory+Mask,faAnyFile,SR) = 0 then
begin
try
repeat
if ((SR.Attr and faDirectory) = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') then
begin
ScanDir(Directory+SR.Name+'\');
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;
begin
List.BeginUpdate;
try
if ClearList then
begin
List.Clear;
end;
if Directory = '' then
begin
Exit;
end;
if Directory[Length(Directory)] <> '\' then
begin
Directory := Directory+'\';
end;
Directory := Directory+'\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
So versuche ich sie Aufzurufen: (wie gesagt mit einer ListBox funktionierts)
Delphi-Quellcode:
var List : TStringList;
List := TStringList.Create;
TDataWork.GetAllFilesInDirectorys(Pfad,List,true);
Wie gesagt die Liste bleibt leer, egal was ich auch schon probiert hab.
Gruß
AnyKey