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


Автор: lastovetski 11.10.2007, 20:29
как заполучить  дерево каталогов и файлов???? 

Автор: EvilsInterrupt 11.10.2007, 20:39
lastovetski, А что с деревом будешь делать? Вывод в файл или в мемо, может тревью?

Автор: Alix 11.10.2007, 21:16
Если тебе нужно просто пройтись по каталогом с заходом в подкаталоги, то примерно так:
Код
procedure TraverseDir(const path:string);
var sr:tSearchRec;

begin
   findfirst(path + '*.*', faAnyFile, sr);
   repeat

     // I skip non-directories, but you may not
     if (sr.Attr and faDirectory)=0 then 
       continue;

     if (sr.name='.') or (sr.name='..') then 
       continue;

     traversedir(path + sr.name + pathdelim);
   until (findnext(sr)<>0);
end;

Автор: lastovetski 12.10.2007, 00:15
Если честно, нужно загнать в массив полные адреса всех файлов лежащих в d:\bla bla bla\ . 

Автор: Dende-Soft 16.2.2008, 16:44
Цитата

lastovetski, А что с деревом будешь делать? Вывод в файл или в мемо, может тревью? 


Если вывод, то что предложишь?

Автор: Rohoss 16.2.2008, 21:47
Код

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 <> '.')then begin
        List.Add(StartDir + SearchRec.Name + '\');
      ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
  end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;


Где-то нашёл, непомню где...

Автор: elCorsaiR 20.2.2008, 16:00
Есть интерфейс IShellFolder, предоставляющий доступ не только к реальным папкам, но и к Моему компьютеру и т.д. С его помощью можно полностью реализовать все функциональность Проводника и даже больше... В состав Делфы входит пример(Borland\Delphi7\Demos\Virtual Listview) как с ним работать.

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