Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TDirectoryListBox скрытые папки


Автор: 14SatanA88 29.11.2011, 22:20
Доброго времени суток, уважаемые программеры.

Есть у меня в одном проекте TDirectoryListBox. Нужно было сделать так, чтобы он показывал скрытые папки.
Я немного погуглил, и в итоге поправил исходники FileCtrl.pas
Добавил к строке Status := FindFirst(SlashSep(ParentDirectory, '*.*'), faDirectory, SearchRec); ко второму атрибуту FindFirst faHidden.

Код

function TDirectoryListBox.ReadDirectoryNames(const ParentDirectory: string;
  DirectoryList: TStringList): Integer;
var
  Status: Integer;
  SearchRec: TSearchRec;
begin
  Result := 0;
  Status := FindFirst(SlashSep(ParentDirectory, '*.*'), faDirectory or faHidden, SearchRec); // вот здесь внес изменения
  try
    while Status = 0 do
    begin
      if (SearchRec.Attr and faDirectory = faDirectory) then
      begin
        if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
        begin
          DirectoryList.Add(SearchRec.Name);
          Inc(Result);
        end;
      end;
      Status := FindNext(SearchRec);
    end;
  finally
    FindClose(SearchRec);
  end;
end;


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

Я не понимаю, что за магия. Помогите.

Вопрос: как заставить TDirectoryListBox читать скрытые папки?

Автор: northener 29.11.2011, 23:59
Цитата(14SatanA88 @  29.11.2011,  22:20 Найти цитируемый пост)
Есть у меня в одном проекте TDirectoryListBox.

И охота вам возиться с компонентом разработанным для Д1 и оставленным нам для обратной совместимости.

Автор: 14SatanA88 30.11.2011, 08:04
не в этом дело, компонент-то нормальный
меня интересует, почему при внесении изменений в исходники этого компонента ничего не происходит?


northener, посоветуйте тогда аналог на замену.

Автор: 14SatanA88 30.11.2011, 09:39
нашел отличную замену, TsShellTreeView из набора AlphaSkins
тему можно закрывать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)