AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie kann ich rausfinden ob ein trreviewitem mehr als 1 paren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich rausfinden ob ein trreviewitem mehr als 1 paren

Ein Thema von vollmer-net · begonnen am 15. Sep 2004 · letzter Beitrag vom 15. Sep 2004
Antwort Antwort
vollmer-net
(Gast)

n/a Beiträge
 
#1

Wie kann ich rausfinden ob ein trreviewitem mehr als 1 paren

  Alt 15. Sep 2004, 16:05
Hi,


Wie kann ich rausfinden ob ein trreviewitem mehr als 1 parent hat?

Gruß

Alex
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 16:06
In dem du einafch von immer jeweils den Parent abfragst und wenn die Abfrage Delphi-Referenz durchsuchenHasParent Fales ergibt, hast du sie alle.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#3

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 16:11
aber wie kann ich das machen...

so sieht z.B. das treeview aus...

Code:
test
    -test1
         - test2
jetzt vrauche ich den namen von test1 und test, die dynamisch generiert sind und ich herausfinden muss!

aber wie?

alex
  Mit Zitat antworten Zitat
ipworks

Registriert seit: 27. Jul 2004
65 Beiträge
 
#4

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 16:20
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
Peter
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#5

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 16:23
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!
  Mit Zitat antworten Zitat
ipworks

Registriert seit: 27. Jul 2004
65 Beiträge
 
#6

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 16:37
OK,
also aus dem Kopf

Delphi-Quellcode:
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;
Hab's nicht getestet, sondern gerade aus dem Kopf geschrieben.
Hoffe es hilft.
Lass es uns wissen.
mfg
Peter
Peter
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#7

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 17:05
ok, so hats funktioniert:
Code:
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;
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
  Mit Zitat antworten Zitat
ipworks

Registriert seit: 27. Jul 2004
65 Beiträge
 
#8

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 17:14
ok sorry....hatte den exception-Handler am Ende vergessen.
Delphi-Quellcode:
try
...
except end;
so Du möchtest den Text kombinieren?

Delphi-Quellcode:
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;
War das deine Frage?
Peter
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#9

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 17:53
ok, danke schon mal , das ist sehr gut!

aber ich habe noch folgendes problem!


Code:
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;
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
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#10

Re: Wie kann ich rausfinden ob ein trreviewitem mehr als 1 p

  Alt 15. Sep 2004, 17:55
hat sich schon erledigt
  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 16:43 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