Цитата:
Сообщение от Wervolfe
Добрый день всем. Необходимы исходники примера, чтобы сохранить дерево с данными (string и integer) в файл и восстановление из файла.
Примеры все посмотрел, перелистал все поисковики, сижу ночами уже несколько дней, но разобраться не могу, так как я не программист. В готовом примере смогу разобраться. Заранее спасибо.
|
Зависит от того, как у тебя храняться данные в дереве.
В принципе, т.к. xml это, по сути, тексовый файл, то можно сохранять очень просто:
Код:
procedure SaveTreeToXML(ATree : TTreeView; AFilaName : String);
procedure SaveNode(ANode : TTreeNode; AList : TStringList);
var
I : Integer;
begin
AList.Add('<Node value="' + ANode.Caption + '">');
For I := 0 To Node.Items.Count-1 Do
SaveNode(Node.Items[i],AList);
AList.Add('</Node>');
end;
var
I : Integer;
L : TStringList; // Для простоты сохраняем в список
begin
L : TStringList.Create;
L.Add('<Tree>');
For I := 0 To TreeView.Items.Count-1 Do
If TreView.Items[i].Parent = Nil Then
SaveNode(TreView.Items[i],L);
L.Add('</Tree'>);
L.SaveToFile(AFilaName);
L.Free;
end;
С чтением чуть сложнее, но тоже не сложно. Просто читаешь строчку и принимаешь решение, что делать.
Если стукрура данных сложнее, то рекомендую работать с TXMLDocument. По сути, это то же дерево, так что построить одно дерево по другому не так и сложно.