Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.26;
Скачать: CL | DM;

Вниз

как сохранить дополнительные данные к узлам в treeview   Найти похожие ветки 

 
linuxoid   (2010-07-02 10:17) [0]

на форме имеется treeview со списком авто и два edita. в первом-страна-производитель, во втором-президент компании.
вопрос: где лучше сохранить вот эти данные (без БД)?

заранее благодарю.


 
Ega23 ©   (2010-07-02 10:30) [1]

Node.Data


 
linuxoid   (2010-07-02 10:32) [2]

как это реализовать?


 
12 ©   (2010-07-02 10:43) [3]

Rec = Record
   S : string;
 end;

 R : Rec;

 New(R);
 R.S := "Внутри";

    NewNode:=TreeView.Items.AddChildObject(CurentNode, "Для вида", R);


 
linuxoid   (2010-07-02 11:29) [4]

не получается чето. New(R)???


 
Ega23 ©   (2010-07-02 11:41) [5]


> не получается чето.


Это Windows, сынок.


 
12 ©   (2010-07-02 11:48) [6]

ну да, вернее так
PRec = ^Rec;
R : PRec;


 
Ega23 ©   (2010-07-02 11:52) [7]


> 12 ©   (02.07.10 10:43) [3]


Зачем так сложно? Создай стринглист, строки храни как Name-Value, а в Node.Data прописывай ItemIndex

Node.Data := Pointer(ItemIndex);

ItemIndex := Integer(Node.Data);

И всё.


 
linuxoid   (2010-07-02 12:08) [8]

теперь не могу понять с " R.S := "Внутри";"???

как его сохранить и отобразить?


 
linuxoid   (2010-07-02 12:24) [9]

опишу подробно на примере.

имеется две формы mainform и addforml.

mainform содержит treeview, edit1(марка авто), edit2(страна), edit3(президент) и button1.

addform содержит edit1(марка авто), edit2(страна), edit3(президент) и button1 по нажатию которого данные с едитов должны добавиться.

на mainform в treeview должны хранятся марки  авто по нажатии на них (treeview.onchange) в edit1 должен отобразится марка авто, в edit2-страна, edit3-президент (которые мы ранее добавили).

узлы treeview(марки авто) добавляю и сохраняю в файле "avto,trv".

вопрос: как сохранять данные (страна, президент) и отобразить их?


 
12 ©   (2010-07-02 12:29) [10]

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:57) [11]

как теперь сохранить данные "R.S" ???

узлы я сохраняю в файле "tree.trv" для последующего открытия.


 
12 ©   (2010-07-02 13:52) [12]

> узлы я сохраняю в файле "tree.trv" для последующего открытия.


как ?


 
linuxoid   (2010-07-02 14:03) [13]

treeview1.SaveToFile("test.trv");


 
12 ©   (2010-07-02 14:26) [14]

обходить придется в ручную, или см.другую свою ветку :)



Страницы: 1 вся ветка

Текущий архив: 2010.09.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1277647865
New555
2010-06-27 18:11
2010.09.26
Обработка события onMouseMove


8-1205151598
Пётр
2008-03-10 15:19
2010.09.26
Подключение кодеков к TMediaPlayer


2-1278023963
AKE
2010-07-02 02:39
2010.09.26
Существует ли компонент "консоль" для Delphi?


2-1278147722
SIV5000
2010-07-03 13:02
2010.09.26
PNG + Componenet;


15-1277717982
Den
2010-06-28 13:39
2010.09.26
Техническое задание на разработку ПО