![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
XML + TreeView [D7, XP, 2003]
TRSteep © (2009-01-14 13:38:00)Не могу понять как сохранить TreeView (с доп параметрами) в XML и загрузить его потом.
Единственное что пока понял
XDoc := TXMLDocument.Create(application);
XDoc.Active := true;
XDoc.Version := '1.0';
XDoc.Options := XDoc.Options + [doNodeAutoIndent];
//Top level
TopNode := XDoc.Node.AddChild( TreeView.Items.Item[0].Text );
for I := 1 to TreeView.Items.Count - 1 do
begin
TopNodeChiled := TopNode.AddChild( TreeView.Items.Item[i].Text );
end;
tmpNode := TopNodeChiled.AddChild( LabeledEdit_NameSoft.Text );
tmpNode.SetAttribute('Version', LabeledEdit_Version.Text );
но так просто создает каждый раз дочерний объект и все.
Хотелось бы сохранение XML по структуре такой же как TreeView
но при выделении какого то Node из TreeView грузилась соответствующая инфа и сохранялась при изменении.
Сложность для меня в том что не понимаю как в цикле создать нужную вложенность.
и еще сканируешь TreeView подряд ( еще нашел как вложенность можно проверить TreeView.Items.Item[i].Level = 1 :), а сохранять XML пока умею только от конкретного родителя...
Не подскажите как тут сделать?
TRSteep (2009-01-14 15:18:00) [1]
> тогда причем здесь xml?
просто может какие то комманды есть. я не знаю.
> if Чайлдноде(i).ЧайлдКаунт > 0
не знал. спасибо
Медвежонок Пятачок (2009-01-14 14:24:00) [2]function EnumNode(ANode : TTreeNode) : interger;
begin
for i := 0 to чайлдкаунт ду
begin
СэйвЧайлдноде(i)
if Чайлдноде(i).ЧайлдКаунт > 0 then EnumNode(Чайлдноде(i));
end;
end;
Медвежонок Пятачок (2009-01-14 14:20:00) [3]Сложность для меня в том что не понимаю как в цикле создать нужную вложенность.
тогда причем здесь xml?