Главная страница
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.027 c
11-1126614037
MaFon
2005-09-13 16:20
2006.05.21
KOL+MCK - резидентная программа


15-1146148622
oldman
2006-04-27 18:37
2006.05.21
Праздник. так уж праздник... :(


15-1145861204
DelphiN!
2006-04-24 10:46
2006.05.21
Отключить контексное меню в TWebBrowser-e


2-1146844463
WST
2006-05-05 19:54
2006.05.21
Edit


2-1146245403
Mark86rus
2006-04-28 21:30
2006.05.21
как в строке отрезать последние три символа?