Главная страница
    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.47 MB
Время: 0.003 c
2-1277904434
JohnKorsh
2010-06-30 17:27
2010.09.26
StringGrid, Вопрос по свойствам.


2-1277975828
Андрей Воркин
2010-07-01 13:17
2010.09.26
Изменение имени TextEdit в цикле


15-1277833769
bss
2010-06-29 21:49
2010.09.26
Интересный вызов Initialization секции в BPL


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


6-1226523473
Yozch1
2008-11-12 23:57
2010.09.26
Учесть в программе используемый в системе Proxy





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский