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;