Hallo,
ich habe einen TTreeView, der beliebig tief verschachtelte Nodes enthält. Einigen Nodes ist per Node.Data ein Objekt zugewiesen. Ich möchte diesen Baum nun durchlaufen um alle Nodes zu löschen, bei denen
- Node.Data = nil ist und keine Kinder vorhanden sind
- Node.Data = nil ist und *ausschließlich* Kinder vorhanden, bei denen Node.Data = nil ist.
Beispiel: Eingabe:
Delphi-Quellcode:
Node 1 (Data = nil)
Node 1.1 (Data = nil)
Node 1.2 (Data = nil)
Node 1.3 (Data = nil)
Node 2
Node 2.1
Node 2.1.1 (Data = nil)
Node 2.1.1.1
Node 2.2 (Data = nil)
Node 2.3
Node 2.3.1 (Data = nil)
Node 2.3.2
Node 3
Ausgabe:
Delphi-Quellcode:
Node 2
Node 2.1
Node 2.1.1 (Data = nil)
Node 2.1.1.1
Node 2.3
Node 2.3.2
Node 3