Solved

Navigating Treeview

Posted on 1997-04-19
7
203 Views
Last Modified: 2010-04-04
How do I navigate up the path from a child node.  I need to get the path from the root of the tree to the farthest child, but I need to start at the child.  
0
Comment
Question by:DPomeroy
  • 4
  • 2
7 Comments
 

Author Comment

by:DPomeroy
ID: 1335515
Edited text of question
0
 

Author Comment

by:DPomeroy
ID: 1335516
This is the second time I've asked this question.  I guess I wasn't clear the first time.
0
 

Expert Comment

by:gooch
ID: 1335517
By farthest, do you mean the deepest child??  The one with the
longest search path??  I don't see how you'll be able to search for the child with the deepest search path starting at an arbitrary child.  If you start at the root, sure.

I suppose one could write an algorithm to start at all leaf nodes then progress to the root, finally giving you the leaf node (child) that had the longest path.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 3

Accepted Solution

by:
sperling earned 50 total points
ID: 1335518
If I understand your question right, this should be what you're looking for.

This is a simple form with a TTreeView called 'TV' and a TLabel called 'Label1'

Add the following code to TV.OnClick...

procedure TForm1.TVClick(Sender: TObject);
var
  ANode : TTreeNode;
  s     : STRING;
begin
  // Set ANode to the starting node
  ANode := TV.Selected;

  // Set the last "Subdirectory" of the path
  s := ANode.Text;
  repeat
    // Get the parent node
    ANode := ANode.Parent;
   
    // If not nil, insert in beginning of path
    if ANode <> nil then s := ANode.Text + '\' + s;

  until ANode = nil;

  Label1.Caption := s;
end;



0
 

Author Comment

by:DPomeroy
ID: 1335519
I don't know if this will work so its hard to grade.  Thanks for the help.  I didn't see parent in the treenodes property.  How did you figure out it had a parent property?
Thanks again.
Dave Pomeroy
0
 

Author Comment

by:DPomeroy
ID: 1335520
Great answer.  I would like to pay for this information.  The answer is simple but I am learning the object part of Delphi and am struggling.  It helped a lot.  
0
 
LVL 3

Expert Comment

by:sperling
ID: 1335521
>I don't know if this will work so its hard to grade. Thanks for

Try it out first, and then grade it. That's what you ought to do for all questions. If not, I could just give you a nonsense answer, and after grading it there's nothing you can do about it.

>the help. I didn't see parent in the treenodes property. How did
>you figure out it had a parent property?

I looked in the source ;)

Regards,

Erik.

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
System restore point 4 91
Thread safe  opinion 7 126
Virtuailstring tree compare node issue 14 105
Strange behavior when a form is closed 6 51
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now