![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение данных TreeView [D7, WinXP]
Steplerr © (2006-04-07 17:41:00)Такая задача - в результате длительногоанализа информация попадает в TreeView. Нужно сохранить данные в файл и загрузить их потом оттуда. Задача осложняется тем что каждая нода в дереве имеет иконку.
GrayFace (2006-04-08 16:18:00) [1]> Может не очень удачное решение. Если есть поудачнее решение, то какое?
Например так:
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;
Deka (2006-04-08 10:56:00) [2]IMHO переделать процедуры сохранения и загрузки. Можно под свой формат, а можно и под XML ([3]). Сможешь сохоанить все что хочешь и загрузить тоже.
GanibalLector (2006-04-07 23:19:00) [3]Используй XML. Очень удобно и просто получится ;)
Steplerr (2006-04-07 17:56:00) [4]Программа сканирует папки и отображает их в 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 грузится иконка из файла в корне этих папок.
DesWind (2006-04-07 17:46:00) [5]Сохранять как Id | ParentID | Caption а иконка выбирается в зависимости от данных или случайным образом?