Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

Сохранение данных 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
15-1145956765
konrads
2006-04-25 13:19
2006.05.21
установка D 2005


3-1143087512
АндрейК
2006-03-23 07:18
2006.05.21
SQLServer 2000 на win2000Server и win2003Server


15-1145988181
Fenik
2006-04-25 22:03
2006.05.21
Хочу найти песню, хотя бы название и автора.


11-1083854165
Рома
2004-05-06 18:36
2006.05.21
Локальный чат


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





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