Главная страница
    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.004 c
2-1277807207
mefodiy
2010-06-29 14:26
2010.09.26
Настройки Дельфи при смене учетной записи


2-1277787890
zergost
2010-06-29 09:04
2010.09.26
данные поля на форме


15-1278106391
ford
2010-07-03 01:33
2010.09.26
собственный пункт в контекстном меню проводника


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


6-1226030836
dm37
2008-11-07 07:07
2010.09.26
indy - имя подключенного пользователя





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