Hi,
ich würde den Code noch etwas eindampfen:
Delphi-Quellcode:
// EDIT: Signatur verbessert
function TopLevelCount(items: TTreeNodes): Integer;
var
node: TTreeNode;
begin
Result := 0;
node := items.GetFirstNode;
while Assigned(node) do
begin
Inc(Result);
node := node.getNextSibling;
end;
end;
Übrigens: Node.Count liefert immer die Zahl der ChildNodes. Auf Ebene 0 funktioniert das nicht, weil kein Parent zugänglich ist. Dort wird dann die Gesamtzahl der Knoten im Baum zurückgegeben. Trotz- und deswegen ist die Semantik aber sauber.
Freundliche Grüße