Показать сообщение отдельно
  #1  
Старый 14.05.2011, 18:05
Cheater Cheater вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 14
Репутация: 10
По умолчанию Как получить список файлов со всеми подкаталогами? Компонент

Приветствую!

Помогите пожалуйста вот эту программу перевести в компонент:
http://www.delphisources.ru/pages/fa...r_subdirs.html

Как получить список файлов со всеми подкаталогами
Код:
procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
  SearchRec: TSearchRec;
begin
  if Mask = '' then
    Mask := '*.*';
  if StartDir[Length(StartDir)] <> '\' then
    StartDir := StartDir + '\';
  if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then
        List.Add(StartDir + SearchRec.Name)
      else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')thenbegin
        List.Add(StartDir + SearchRec.Name + '\');
      ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
  end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
Пример вызова, параметры 1. имя папки 2. маска, по умолчанию *.* 3. хранилище для резульатат, любой наследник от TString, например TStringList
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Clear;
  ScanDir('c:', '', ListBox1.Items);
  Label1.Caption := IntToStr(ListBox1.Items.Count);
end;
Ответить с цитированием