Einzelnen Beitrag anzeigen

Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#13

Re: Alle Verzeichnisse in TTreeView - schnellere Lösung?

  Alt 12. Sep 2006, 14:51
Zitat von Sicho:
hm..das Problem ist dass ich die entsprechenden Parameter ja dann (beim Aufruf des Events des TTreeview On Click) nicht mehr zur Verfügung habe... bzw. ich mit diesen kryptischen Variablennamen des UrsprungsCodes nicht viel anfangen kann, da ich nicht weiß, was er meint =/
Doch, die hast Du
Du kannst Dir doch aus den bereits vorhandenen Knoten den Pfad zusammenbasteln:
Delphi-Quellcode:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
  txt : String;
  tn : TTreeNode;
begin
  { Add subitems only once }
  IF NOT Node.HasChildren THEN
  BEGIN
    txt := '';
    tn := Node;
    REPEAT
      { Get path }
      txt := tn.Text + '\' + txt;
      tn := tn.Parent;
    UNTIL (tn=NIL);
    GetDirs(txt,TreeView1,Node);
  END;
END;
Dabei ist natürlich wichtig, dass der gesamte Pfad inkl. Laufwerksbuchstabe im TreeView steht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  { Scan C:\ and create first node "C:\" in TreeView  }
  GetDirs('C:\',TreeView1,TreeView1.Items.Add(NIL,'C:\'));
end;
PS: ADirectory, Start und Tree sind imho nicht wirklich "kryptische"Bezeichner


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat