Einzelnen Beitrag anzeigen

Dash
(Gast)

n/a Beiträge
 
#1

Probleme mit GetFilesInDirectory Procedure

  Alt 10. Sep 2006, 02:28
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
  Mit Zitat antworten Zitat