Главная страница
    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.015 c
2-1146503783
Golik
2006-05-01 21:16
2006.05.21
DBLookupComboBox ???


1-1144745826
MiHoY
2006-04-11 12:57
2006.05.21
поиск дочернего окна


3-1143442741
Физик
2006-03-27 10:59
2006.05.21
Вызов ConnectionString в TADOConnection


4-1141284323
lightix
2006-03-02 10:25
2006.05.21
Опросить переменную окружения Win2k


15-1146143390
oldman
2006-04-27 17:09
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский