Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TForm1.FormCreate(Sender: TObject);
- var i: integer;
- Node: TTreeNode;
- begin
- Node := Form1.TreeView1.Items.AddChild(nil, 'C:\');
- Node.HasChildren := true;
- //TreeView1.OnClick:=@GetDir;
- GetDir(Node);
- TreeView1.Items.EndUpdate;
- end;
- procedure TForm1.GetDir(ParentNode: TTreeNode);
- var
- sr: TSearchRec;
- node: TTreeNode;
- path: string;
- begin
- node := ParentNode;
- path := '';
- Caption := node.Text;
- repeat
- path := IncludeTrailingPathDelimiter(node.Text) + path;
- node := node.Parent;
- until node = nil;
- //ShowMessage(path);
- // Сначала ищем папки
- if FindFirstUTF8(path + '*.*', faDirectory, sr) = 0 then
- try
- repeat
- if (sr.Name = '.') or (sr.Name = '..') or
- (sr.Attr and faDirectory <> faDirectory) then Continue;
- // Нашли Folder - вызываем рекурсивно GetDir
- node := TreeView1.Items.AddChild(ParentNode, IncludeTrailingPathDelimiter(sr.Name));
- //GetDir(node);
- until FindNextUTF8(sr) <> 0;
- finally
- FindCloseUTF8(sr);
- end;
- // теперь - файлы
- if FindFirstUTF8(path + '*.*', faAnyFile, sr) = 0 then
- try
- repeat
- if (sr.Name = '.') or (sr.Name = '..') or
- (sr.Attr and faDirectory = faDirectory) then Continue;
- // Нашли файл - просто добавляем его в дерево
- TreeView1.Items.AddChild(ParentNode, sr.Name);
- until FindNextUTF8(sr) <> 0;
- finally
- FindCloseUTF8(sr);
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement