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

Вниз

Сохранение данных TreeView   Найти похожие ветки 

 
Steplerr ©   (2006-04-07 17:41) [0]

Такая задача - в результате длительного анализа информация попадает в TreeView. Нужно сохранить данные в файл и загрузить их потом оттуда. Задача осложняется тем что каждая нода в дереве имеет иконку.


 
DesWind ©   (2006-04-07 17:46) [1]

Сохранять как Id | ParentID | Caption  а иконка выбирается в зависимости от данных или случайным образом?


 
Steplerr ©   (2006-04-07 17:56) [2]

Программа сканирует папки и отображает их в TreeView, а файл иконки для папки лежит в ней самой, если её не существует подгружается 0 из ImgList. Делается это примерно так:

ico:=TIcon.Create; ico.Height:=16; ico.Width:=16;
if FileExists( папка + файл.ico)
 then ico.LoadFromFile(p+"\"+pf)
 else MainForm.imglst.GetIcon(0,ico);
MainForm.imglst.AddIcon(ico);
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].ImageIndex:=MainForm.lst.Items.Count;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].SelectedIndex:=MainForm.lst.Items.Count;

Может не очень удачное решение. Если есть поудачнее решение, то какое?

P.S. ImgList привязан к TreeView (она же lst). В 0 ImgList грузится иконка из файла в корне этих папок.


 
GanibalLector ©   (2006-04-07 23:19) [3]

Используй XML. Очень удобно и просто получится ;)


 
Deka ©   (2006-04-08 10:56) [4]

IMHO переделать процедуры сохранения и загрузки. Можно под свой формат, а можно и под XML ([3]). Сможешь сохоанить все что хочешь и загрузить тоже.


 
GrayFace ©   (2006-04-08 16:18) [5]

> Может не очень удачное решение. Если есть поудачнее решение, то какое?

Например так:
ico:=TIcon.Create; ico.Height:=16; ico.Width:=16;
if FileExists( папка + файл.ico) then
begin
  ico.LoadFromFile(p+"\"+pf);
  MainForm.imglst.AddIcon(ico);
  i:=MainForm.imglst.Items.Count-1;
end else
  i:=0;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].ImageIndex:=i;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].SelectedIndex:=i;



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
15-1146029671
ArtemESC
2006-04-26 09:34
2006.05.21
Программка для локальной сети...


5-1132135864
Shopot
2005-11-16 13:11
2006.05.21
Где достать компоненты?


3-1143189367
Emik
2006-03-24 11:36
2006.05.21
InterBase+SQL


3-1143635944
Inna_Z
2006-03-29 16:39
2006.05.21
Как правильно сделать независимую копию датасета?


15-1146145979
X9
2006-04-27 17:52
2006.05.21
ICQ на смартфоне