Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Pointerspeichern bei Treeview

  Alt 16. Jan 2006, 21:04
Hallo Max,

du solltest deine Baumknoten rekursiv abspeichern. Im Beispiel verwende ich das XMLDocument aus der Palette:

Delphi-Quellcode:
procedure TDemoForm.GatherNodes(doc: IXMLDocument; eParent: IXMLNode; tn: TTreeNodes; nParent: TTreeNode);
var
  i: Integer;
  eChild: IXMLNode;
  nChild: TTreeNode;
begin
  if Assigned(nParent)
    then nChild := nParent.getFirstChild
    else nChild := tn.GetFirstNode;
  while Assigned(nChild) do
  begin
    eChild := eParent.AddChild(nChild.Text);
    GatherNodes(xmlDocument, eChild, tn, nChild);
    nChild := nChild.getNextSibling;
  end;
end;

procedure TDemoForm.SaveButtonClick(Sender: TObject);
begin
  with xmlDocument do
  begin
    Active := true;
    DocumentElement := CreateElement('root', '');
    GatherNodes(xmlDocument, DocumentElement, TreeView.Items, nil);
    ShowMessage(xml.Text);
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat