Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Показываем директории в TTreeView


procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string;
Item: TTreeNode; IncludeFiles: Boolean);
var 
  SearchRec: TSearchRec; 
  ItemTemp: TTreeNode; 
begin 
  Tree.Items.BeginUpdate; 
  if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; 
  if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then 
  begin 
    repeat 
      if (SearchRec.Attr and faDirectory = faDirectory) and
      (SearchRec.Name[1] <> '.') then 
      begin 
        if (SearchRec.Attr and faDirectory > 0) then 
          Item := Tree.Items.AddChild(Item, SearchRec.Name); 
        ItemTemp := Item.Parent; 
        GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles); 
        Item := ItemTemp; 
      end 
      else if IncludeFiles then 
        if SearchRec.Name[1] <> '.' then 
          Tree.Items.AddChild(Item, SearchRec.Name); 
    until FindNext(SearchRec) <> 0; 
    FindClose(SearchRec); 
  end; 
  Tree.Items.EndUpdate; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  Node: TTreeNode; 
  Path: string; 
  Dir: string; 
begin 
  Dir := 'c:\temp'; 
  Screen.Cursor := crHourGlass; 
  TreeView1.Items.BeginUpdate; 
  try 
    TreeView1.Items.Clear; 
    GetDirectories(TreeView1, Dir, nil, True); 
  finally 
    Screen.Cursor := crDefault; 
    TreeView1.Items.EndUpdate; 
  end; 
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay