AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zählen, wieviel Nodes in Treeview sind

Ein Thema von TheMiller · begonnen am 9. Apr 2005 · letzter Beitrag vom 9. Apr 2005
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Zählen, wieviel Nodes in Treeview sind

  Alt 9. Apr 2005, 14:36
Hi,

möchte herausfinden, (also, den Computer herausfinden lassen), wieviele Nodes in der Treeview sind. Zähle ich mit Items.Count-1 zählt er ja auch die untergeordneten Nodes mit. Will aber nur die "haupt"-Nodes.

Danke im Voraus
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zählen, wieviel Nodes in Treeview sind

  Alt 9. Apr 2005, 14:37
selbst eine schleife schreiben die nur die childs des root-nodes durchzählt.
bzw.: Bevor irgend ein Item erstellt wurde mit
TreeView1.Items.GetFirstNode das root-item ermitteln und in ner private-variablen sichern.
Und dan wenn du mal die anderen Items erstellt hast kannst du über
gesichtertesFirstNode.Count die anzahl ermitteln
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Zählen, wieviel Nodes in Treeview sind

  Alt 9. Apr 2005, 14:39
Genau das will ich ja. Nur ich weiß nicht wie...

[EDIT: Das verstehe ich nicht...]
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Zählen, wieviel Nodes in Treeview sind

  Alt 9. Apr 2005, 14:55
Müsste so gehen...!?

Delphi-Quellcode:
function GetRootNodeCount(Treeview: TTreeview): Integer;
var
  i:Integer;
begin
  Result := 0;
  for i:= 0 to Pred(Treeview.Items.Count) do
    if not Assigned(Treeview.Items[i].Parent) then
      Inc(Result);
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Zählen, wieviel Nodes in Treeview sind

  Alt 9. Apr 2005, 15:10
ok, falls es nochjemand nicht verstanden hat, hier der entscheidente teil der bei der pn-unterhaltung den ausschlag zum verständnis gab
Zitat:
ok, i merk grad das es müll war was ich geschrieben hab
so gehts aber wirklich (grad getestet und ich poste es auch gleich)
Items einfach vorher anlegen und damit kannst du dann später die items zählen
Delphi-Quellcode:
var LRoot: TTreeNode;
    LCount: Integer;
begin
  LCount := 0;
  LRoot := TreeView1.Items.GetFirstNode;
  while (LRoot <> nil) do
  begin
    LRoot := LRoot.getNextSibling;
    inc(LCount);
  end;
  showmessage(inttostr(LCount));
das ganze als fertige funktion würde dann so aussehen
Delphi-Quellcode:
function CountFirstLevelItems(ATreeView: TTreeView): Integer;
var LRoot: TTreeNode;
begin
  result := 0;
  LRoot := ATreeView.Items.GetFirstNode;
  while (LRoot <> nil) do
  begin
    LRoot := LRoot.getNextSibling;
    inc(result);
  end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 Uhr.
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