скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Показываем директории в 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;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook