Einzelnen Beitrag anzeigen

Benutzerbild von HariboHunter
HariboHunter

Registriert seit: 5. Okt 2004
Ort: Kentucky
78 Beiträge
 
#2

Re: Treeview rukursiv füllen?

  Alt 5. Dez 2005, 10:17
benutze ein wenig die Suche - Funktion. Hilft bei Treeview sehr.

habe dort das hier gefunden:

Code:
Procedure SearchText1(ANode : TTreeNode; Const ASearchText : String; AOutPut : TStrings);
Begin
    // 1. Suchtext suchen
  If ( Pos(ASearchText, ANode.Text) > 0 ) Then
    AOutPut.Add('Node "' + ANode.Text + '" Level ' + IntToStr(ANode.Level) +
                ' Index ' + IntToStr(ANode.Index));

    // 2. Kinder durchsucehn
  If ( ANode.getFirstChild <> Nil ) Then
    SearchText1(ANode.GetFirstChild, ASearchText, AOutPut);

    // 3. Knoten auf gleicher Ebene durchsuchen
  If ( ANode.getNextSibling <> Nil ) Then
    SearchText1(ANode.getNextSibling, ASearchText, AOutPut);
End;        

 
Procedure SearchText2(ANode : TTreeNode; Const ASearchText : String; AOutPut : TStrings);
Begin
    // 1. Suchtext suchen
  If ( Pos(ASearchText, ANode.Text) > 0 ) Then
    AOutPut.Add('Node "' + ANode.Text + '" Level ' + IntToStr(ANode.Level) +
                ' Index ' + IntToStr(ANode.Index));

    // 2. nächsten Knoten holen
  If ( ANode.getNext <> Nil ) Then
    SearchText2(ANode.GetNext, ASearchText, AOutPut);
End;
ist von nem anderen, keine Ahnung von wem. Funktioniert aber (das 2., das erste hab ich net probiert.)


edit:
Urg ich bin doof, das ist da um das Treeview nach nem Eintrag zu durchsuchen.
Um es zu füllen benutze die Funktionen

addchild... mom hier etwas code.
Code:
 

             for i:= 1 to *INTEGER* do
                begin;
                      with form1.treeview1.Items.Addchild(  nil, *STRING*  ) do
            begin..
damit fügst Du dann die Children ein...
  Mit Zitat antworten Zitat