Hi,
ich habe mir folgenden Code aus dem Delphi Forum kopiert:
Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: String; const Mask: String;
List: TStrings;
WithSubDirs, ClearList: Boolean);
procedure ScanDir(const Directory: String);
var
SR: TSearchRec;
begin
if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then try
repeat
List.Add(Directory + SR.Name)
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if WithSubDirs then
begin
if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then
try
repeat
if (SR.Attr = faDirectory) and
(SR.Name <> '.') and (SR.Name <> '..') then
ScanDir(Directory + SR.Name + '\');
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;
begin
List.BeginUpdate;
try
if ClearList then
List.Clear;
if Directory = '' then Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetFilesInDirectory('C:\', '*.*', Listbox1.Items, False, True);
end;
procedure TForm1.Button1Click(Sender: Tobject);
var
F: TSearchRec;
begin
if FindFirst(ed_dateiname.text, faAnyFile, F) = 0 then try
Label1.Caption := F.Name
Label2.Caption := IntToStr(F.Size);
finally
FindClose(F);
end;
end;
Allerdings habe ich jetzt das Problem, dass er z.B. einfach C:\Programme auslässt wenn ich als Ordner C:\ angebe. Aber auch eine Menge anderer Ordner wie Temp Ordner werden einfach ausgelassen... kann mir jemand sagen was hier schief läuft?
Gruß
Dash