...eine Liste von vollständigen Verzeichnissnamen aus einem TreeView bekommen?

Autor: Robert Machula

Kategorie: Dateien

var
  
SL: TStringList;

// gibt den kompletten Pfad vom übergebenen Node zurück
// for one node...
function TForm1.GetDir(Node: TTreeNode): string;
var
  
s: string;
begin
  
s := Node.Text + '\';
  while Node.Parent <> nil do 
  begin
    
s    := Node.Parent.Text + '\' + s;
    Node := Node.Parent;
  end;
  Result := s;
end;


// geht alle Nodes durch
// for all nodes
procedure TForm1.Nodes_durchgehen(Tree: TTreeView; Node: TTreeNode);
var
  
i: Integer;
begin
  if 
Node.Count > 0 then 
  begin
    for 
i := 0 to Node.Count - 1 do 
    begin
      
Memo1.Lines.Add(GetDir(Node.Item[i]));
      if Node.Count > 0 then
        
Nodes_durchgehen(Tree, Node.Item[i]);
    end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  
// Verzeichnisse auflisten
  // hierbei wird die Komponente als auch das Stammverzeichnis (z.B. 'C:\') übergeben
  
  // recreate List.
  // You should pass the root-node as argument
  
Nodes_durchgehen(TreeView1, TreeView1.Items[0]);
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base