Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.26;
Скачать: [xml.tar.bz2];

Вниз

как сохранить дополнительные данные к узлам в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
15-1277843390
Юрий
2010-06-30 00:29
2010.09.26
С днем рождения ! 30 июня 2010 среда


2-1278015203
AKE
2010-07-02 00:13
2010.09.26
Как сделать так чтобы элементы StringList...


15-1278077122
AKE
2010-07-02 17:25
2010.09.26
Есть ли хорошая библиотека по работе с матрицами для Delphi?


2-1278015627
AKE
2010-07-02 00:20
2010.09.26
Как создать несколько Edit полей на форме?


6-1226291905
Publ
2008-11-10 07:38
2010.09.26
Скрыть HTTP_REFERRER





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский