Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TreeView: TreeNode am Text erkennen

  Alt 11. Jul 2007, 07:10
Hallo HalluDu

Zitat von HalloDu:
Ich habe mich gerade ausgiebig mit Baumdarstellungen beschäftigt und glaub mir,wie mein Vorredner schon gesagt hat geht das nur mit Rekursion.
Ich kann mir nicht vorstellen, dass du dich in diesem Fall ausgiebig damit beschäftigt hast, denn es geht hier wirklich auch ohne Rekursion und das schneller als mit. Items.Count gibt die Anzahl aller Items zurück, nicht nur die der ersten Ebene. Man kann somit wunderbar durch-iterieren und mittels Items[i] auf alle Items zugreifen. Ich habe im Anhang auch einen weiteren Screenshot und das Programm, vielleicht glaubst du's dann.

Zitat von HalloDu:
Wenn du nicht weiß was das ist, Google hilft bestimmt gerne und sagt dir das.

Aber um es kurz anzureisen: Rekursion bedeutet, das sich eine Methode sich selbst wieder aufruft bis das Ziel erreicht ist. Das ist bei Baumdarstellungen besonders effizient und nützlich.
Ich denke, was Rekursion ist, wissen die meisten und für einige Baumdarstellungen ist dies auch zwingend erforderlich (Bsp: Binärbäume), doch bei einem TreeView eben nicht. Dies ist auch kein Baum in dem Sinne.

Der Code zum Programm, dessen Screenshot sich im Anhang befindet:

Delphi-Quellcode:
var
  Item: TListItem;
  i: Integer;
begin
  ListView1.Clear;

  for i := 0 to Pred(TreeView1.Items.Count) do
  begin
    Item := ListView1.Items.Add;
    Item.Caption := IntToStr(i);
    Item.SubItems.Add(TreeView1.Items[i].Text);
  end;
end;
Miniaturansicht angehängter Grafiken
treeview_971.png  
Angehängte Dateien
Dateityp: zip treeview_demo_346.zip (5,2 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat