![]() |
Wie kann ich rausfinden ob ein trreviewitem mehr als 1 paren
Hi,
Wie kann ich rausfinden ob ein trreviewitem mehr als 1 parent hat? Gruß Alex |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
In dem du einafch von immer jeweils den Parent abfragst und wenn die Abfrage
![]() |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
aber wie kann ich das machen...
so sieht z.B. das treeview aus...
Code:
jetzt vrauche ich den namen von test1 und test, die dynamisch generiert sind und ich herausfinden muss!
test
-test1 - test2 aber wie? alex |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
Schlag doch mal unter der Hilfe von Delphi nach:
Begriffe: TTreenode.HasParent TTreenode.HasChildren TTreenode.Index Desweiteren kannst Du mit AbsoluteIndex arbeiten. Wenn Du weitere Fragen hast (vielleicht ein wenig präziser) kann ich u.U. auch ein bisschen Source-Code posten. mfg Peter |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
ich weiß immer noch nicht wie ich das machen soll...
ich muss einfach nur wissen ob der eintrag einen oder 2 parents hat, wenn er 2 hat muss ich den namen von parent 1 und 2 wissen! |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
OK,
also aus dem Kopf
Delphi-Quellcode:
Hab's nicht getestet, sondern gerade aus dem Kopf geschrieben.
var
Checknode: TTreeNode; x: Byte; begin try //--Zähler x:=0; //----Irgendein gewählter Treenode Checknode:=TreeView1.Selected; while Checknode.Parent<>nil do begin Inc(x); Checknode:=Checknode.Parent; end; ShowMessage(Treeview1.Selected.Text+' hat '+InttoStr(x)+' Parentnodes'); end; Hoffe es hilft. Lass es uns wissen. mfg Peter |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
ok, so hats funktioniert:
Code:
meine frage jetzt aber folgendes...wie bekomme ich jetzt den text, von den parents zu sehen? das heißt, wenn es 2 parents gibt das ich den text von parent 1 + den text von parent 2 bekomme
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var Checknode: TTreeNode; x: Byte; begin try //--Zähler x:=0; //----Irgendein gewählter Treenode Checknode:=TreeView1.Selected; while Checknode.Parent<>nil do begin Inc(x); Checknode:=Checknode.Parent; end; ShowMessage(Treeview1.Selected.Text+' hat '+InttoStr(x)+' Parentnodes'); finally end; end; |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
ok sorry....hatte den exception-Handler am Ende vergessen.
Delphi-Quellcode:
so Du möchtest den Text kombinieren?
try
... except end;
Delphi-Quellcode:
War das deine Frage?
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
const // falls Du einen Separator zwischen die Nodetext einfügen willst Separator:String='\\'; var Checknode: TTreeNode; x: Byte; nodetext: string; begin try //--Zähler x:=0; //----Irgendein gewählter Treenode Checknode:=TreeView1.Selected; nodetext:=Checknode.Text; while Checknode.Parent<>nil do begin Inc(x); Checknode:=Checknode.Parent; nodetext:=Checknode.Text+Separator+nodetext; end; ShowMessage(Treeview1.Selected.Text+' hat '+InttoStr(x)+' Parentnodes'+#13+'Gesamtnodetext: '+nodetext); except end; end; |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
ok, danke schon mal , das ist sehr gut!
aber ich habe noch folgendes problem!
Code:
so, ich lese praktisch die verzeichnisstruktur ins treeview ein...dann möchte ich so die dateien öffnen...jetzt sagt er mir aber bei dem ersten unterknoten, dass die datei nicht geöffnet werde kann. klar, denn das ist ja auch keine datei...aber ich kann ich jetzt noch prüfen ob die angeklickte datei ein parent ist? denn es sollen nur die richtigen endtreevieweinträge geladen werden
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
const // falls Du einen Separator zwischen die Nodetext einfügen willst Separator:String='\\'; var Checknode: TTreeNode; x: Byte; nodetext: string; begin try //--Zähler x:=0; //----Irgendein gewählter Treenode Checknode:=TreeView1.Selected; nodetext:=Checknode.Text; while Checknode.Parent<>nil do begin Inc(x); Checknode:=Checknode.Parent; nodetext:=Checknode.Text+Separator+nodetext; end; Memo1.lines.loadfromfile(extractfilepath(paramstr(0))+'verzeichnis\'+nodetext); except end; end; |
Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p
hat sich schon erledigt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz