Как увидеть все файлы и папки, в том числе скрытые при использовании Delphi XE5?

Я использую следующий код, чтобы получить список файлов и папок. Я не могу получить список, включающий скрытые файлы и папки.

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;

1 ответ

Решение

Вот цитата из справки Delphi:

Параметр Attr указывает специальные файлы для включения в дополнение ко всем обычным файлам. Выберите из этих констант атрибута файла при указании параметра Attr.

Вы должны использовать faDirectory или же faHidden или другие флаги вместо просто faDirectory и читать справку по FindFirst!

Другие вопросы по тегам