0

我正在使用以下代码来获取文件和文件夹的列表。我似乎无法让列表包含隐藏文件和文件夹。

procedure GetAllSubFolders(sPath: String; Listbox: TListbox);
var
  Path: String;
  Rec: TSearchRec;
begin
  try
    Path := IncludeTrailingBackslash(sPath);
    if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then
    try
      repeat
        if (Rec.Name <> '.') and (Rec.Name <> '..') then
        begin
          if (ExtractFileExt(Path + Rec.Name) <> '') And (Directoryexists(Path + Rec.Name + '\') = False) then
          Begin
            Listbox.Items.Add(Path+Rec.Name);
          End;
          GetAllSubFolders(Path + Rec.Name, Listbox);
        end;
      until FindNext(Rec) <> 0;
    finally
      FindClose(Rec);
    end;
  except
    on e: Exception do
      Showmessage('Err : TForm1.GetAllSubFolders - ' + e.Message);
  end;
end;
4

1 回答 1

3

下面是 Delphi 帮助中的一段话:

Attr 参数指定除了所有普通文件之外要包含的特殊文件。指定 Attr 参数时,从这些文件属性常量中进行选择。

您应该使用faDirectoryorfaHidden或其他标志,而不仅仅是faDirectory阅读帮助FindFirst

于 2014-05-29T04:39:35.813 回答