Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tree und seine Eigenschaften (https://www.delphipraxis.net/82394-tree-und-seine-eigenschaften.html)

Muetze1 13. Dez 2006 16:47

Re: Tree und seine Eigenschaften
 
Etwas performanter, da er nicht tiefer als bis zur 2. Ebene eintaucht:

Delphi-Quellcode:
Procedure Button1.Click(Sender: TObject);

  Procedure SecondLevel(AFirstNode: TTreeNode);
  Var
    lChild: TTreeNode;
  Begin
    If Assigned(AFirstNode) Then
    Begin
      lChild := AFirstNode;

      While Assigned(lChild) Do
      Begin
        If lChild.Level < 1 Then
          SecondLevel(lChild.GetFirstChild)
        Else
          ShowMessage(lChild.Text);

        lChild := lChild.GetNextSibling;
      End;
    End;
  End;

Begin
  SecondLevel(TreeView1.Items.GetFirstNode);
End;

kaiser1401 13. Dez 2006 16:53

Re: Tree und seine Eigenschaften
 
Aber wo ja eh nur zwei ebenen da sind dacht ich mir es könnte reichen. außerdem find ich es etwas übersichtlicher... ;-)

btw: Hört dein Code nicht mit "Herbert" auf? NextSibling nimmt doch nur die Knoten gleicher Ebene zu einem gemeinsammen Parent, oder?

Ajin 13. Dez 2006 16:54

Re: Tree und seine Eigenschaften
 
:wall: arghl

Delphi-Quellcode:
if node.level = 1 then
...

Knapp vorbei ist auch daneben :drunken:

Vielen Dank Herr Kaiser!

Muetze1 13. Dez 2006 18:18

Re: Tree und seine Eigenschaften
 
Zitat:

Zitat von kaiser1401
btw: Hört dein Code nicht mit "Herbert" auf? NextSibling nimmt doch nur die Knoten gleicher Ebene zu einem gemeinsammen Parent, oder?

Richtig, und auch nicht. NextSibling ist richtig erläutert. Wenn er nun mit NextSibling ein NIL bekommt, kehrt er von der Funktion zurück zum Aufrufer und dort geht es dann eine Ebene höher weiter mit dem NextSibling, bis dieser NIL ist. Grundlage hierfür ist die Rekursion, wenn die Ebene noch kleiner als 1 ist.

kaiser1401 14. Dez 2006 08:40

Re: Tree und seine Eigenschaften
 
oh, das hatt ich dann wohl irgendwie übersehen. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz