![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сохранить дополнительные данные к узлам в treeview
linuxoid © (2010-07-02 10:17:00)на форме имеется treeview со списком авто и два edita. в первом-страна-производитель, во втором-президент компании.
вопрос: где лучше сохранить вот эти данные (без БД)?
заранее благодарю.
12 (2010-07-02 14:26:00) [1]обходить придется в ручную, или см.другую свою ветку :)
linuxoid (2010-07-02 14:03:00) [2]treeview1.SaveToFile('test.trv');
12 (2010-07-02 13:52:00) [3]> узлы я сохраняю в файле 'tree.trv' для последующего открытия.
как ?
linuxoid (2010-07-02 12:57:00) [4]как теперь сохранить данные 'R.S' ???
узлы я сохраняю в файле 'tree.trv' для последующего открытия.
12 (2010-07-02 12:29:00) [5]type
PRec = ^Rec;
Rec = Record
S : string;
end;
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
R : PRec;
TreeNode : TTreeNode;
TreeNode2 : TTreeNode;
begin
New(R);
R.S := 'Внутри';
TreeNode := TreeView1.Items.AddChildObject(nil,'asasas',R);
New(R);
R.S := 'Внутри2';
TreeNode2 := TreeView1.Items.AddChildObject(TreeNode,'sdsfsff',R);
end;
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
ShowMessage(Rec(Node.Data^).S);
end;
linuxoid (2010-07-02 12:24:00) [6]опишу подробно на примере.
имеется две формы mainform и addforml.
mainform содержит treeview, edit1(марка авто), edit2(страна), edit3(президент) и button1.
addform содержит edit1(марка авто), edit2(страна), edit3(президент) и button1 по нажатию которого данные с едитов должны добавиться.
на mainform в treeview должны хранятся марки авто по нажатии на них (treeview.onchange) в edit1 должен отобразится марка авто, в edit2-страна, edit3-президент (которые мы ранее добавили).
узлы treeview(марки авто) добавляю и сохраняю в файле 'avto,trv'.
вопрос: как сохранять данные (страна, президент) и отобразить их?
linuxoid (2010-07-02 12:08:00) [7]теперь не могу понять с " R.S := 'Внутри';"???
как его сохранить и отобразить?
Ega23 (2010-07-02 11:52:00) [8]
> 12 © (02.07.10 10:43) [3]
Зачем так сложно? Создай стринглист, строки храни как Name-Value, а в Node.Data прописывай ItemIndex
Node.Data := Pointer(ItemIndex);
ItemIndex := Integer(Node.Data);
И всё.
12 (2010-07-02 11:48:00) [9]ну да, вернее так
PRec = ^Rec;
R : PRec;
Ega23 (2010-07-02 11:41:00) [10]
> не получается чето.
Это Windows, сынок.
linuxoid (2010-07-02 11:29:00) [11]не получается чето. New(R)???
12 (2010-07-02 10:43:00) [12]Rec = Record
S : string;
end;
R : Rec;
New(R);
R.S := 'Внутри';
NewNode:=TreeView.Items.AddChildObject(CurentNode, 'Для вида', R);
linuxoid (2010-07-02 10:32:00) [13]как это реализовать?
Ega23 (2010-07-02 10:30:00) [14]Node.Data