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

Вниз

?TreeView Сохранение и загрузка с учётом записанных данных?   Найти похожие ветки 

 
Николай Владимирович   (2006-05-19 16:10) [0]

Помогите лыди опытные

  Как  сохранить treeView с даными записанными в свойство data для каждого узла (данные: путь к файлу,..(структура)) в файл.
   А потом загрузить это дерево с данными для каждого узла, соблюдая родительские и дочерние узлы.
                                    Не прозодите мимо


 
Сергей М. ©   (2006-05-19 16:13) [1]

Ув. Николай Владимирович !

Мы бы и рады тебе помочь, но ты в свойсве data держишь инф-цию под грифом "Совершенно секретно"..


 
Николай Владимирович   (2006-05-19 16:20) [2]

Секрета нету....

PnodeOptions=^nodeOptions; //Указатель на структуру
 NodeOptions=record
   way:string[255]; //к файлу
   typeK:integer;   //нужный мне признак
 end;

Я использую указатель на структуру записывая её в котейнер типа tlist.
Пытался из неё сохранять.....Не могу.....


 
Сергей М. ©   (2006-05-19 16:33) [3]


> Пытался из неё сохранять.....Не могу.....
>


Ув. Николай Владимирович !

Судя по отсутствию комментариев к "пытался" Вы - сексот, а судя по отсутствию к "не могу" Вы - импотент. Что мне думать по этому поводу ?)


 
Николай Владимирович   (2006-05-19 16:38) [4]

Может совет дашь? =)


 
vovnuke ©   (2006-05-19 16:41) [5]

2 [4] Николай Владимирович   (19.05.06 16:38)
> Может совет дашь? =)
может код приведешь, вот на эту тему:
> Пытался из неё сохранять.....Не могу.....


 
Ega23 ©   (2006-05-19 17:00) [6]

Ой, способов, на самом деле - тьма. Можно всё в один неструктурированый бинарник пихать, с указанием смещения внутре. Можно Data для каждого узла в отдельном файле хранить. Можно в одном, ибо структура имеет фиксированный размер.

Но в любом случае придётся делать свой "сохранятор" и свой "загружатор".


 
Николай Владимирович   (2006-05-19 17:06) [7]

где посмотреть примеры на эти  "сохраняторы" и свой "загружаторы" не знаешь?
Может даш ссылку полезную?

"Можно Data для каждого узла в отдельном файле хранить" - интересная идея, но не для большого дерева.


 
Ega23 ©   (2006-05-19 17:11) [8]


> где посмотреть примеры на эти  "сохраняторы" и свой "загружаторы"
> не знаешь?
> Может даш ссылку полезную?
>
> "Можно Data для каждого узла в отдельном файле хранить"
> - интересная идея, но не для большого дерева.


Дык, самому придумывать надо.
Сохранение самого дерева, без Data проблемы вызывает, или нет?


 
Николай Владимирович   (2006-05-19 17:23) [9]

Конечно не вызывает!

Скажи пожалуйста
где посмотреть примеры на эти  "сохраняторы" и свой "загружаторы"?


 
Ega23 ©   (2006-05-19 17:31) [10]

Да нет никаких примеров.
Лично я пошёл бы следующим образом:
Сохранение:
1. В структуру NodeOptions=record добавил бы поле NodeIndex:Integer и при добавлении узла к дереву прописывал бы туда TTreeNode.AbsoluteIndex
2. Создать File of NodeOptions
3. Пробежаться по всем узлам дерева и записать последовательно каждую структуру в файл.
4. Сохранить дерево.

Загрузка:
1. Загрузить дерево.
2. Открыть файл с данными.
3. Последовательно прочитать все данные из файла, создавая в памяти структуру
4. При создании каждой из структур будет определено поле NodeIndex.
5. Найти в дереве узел с AsoluteIndex=NodeIndex
6. Проставить в поле Data полученного узла указатель на соответствующую структуру

Вот таким бы образом я действовал. Насчёт AbsoluteIndex я не совсем уверен, но попробуй, может получится.
Если я не прав, то мастера меня поправят.


 
Николай Владимирович   (2006-05-19 17:39) [11]

Я видел это свойство AsoluteIndex но не смог его найти

procedure TMainForm.TreeView1Changing(Sender: TObject; Node: TTreeNode; var AllowChange: Boolean);
begin

end;

как например обратится к AsoluteIndex в этой процедуре

Спасибо


 
Alien1769 ©   (2006-05-19 17:50) [12]


> как например обратится к AsoluteIndex в этой процедуре


Мы все учились понемногу, чему нибудь и как нибудь!?!
Так вспомнилось.


 
Николай Владимирович   (2006-05-19 17:52) [13]

Понятно!
Ну а к делу как? я не смог найти!?


 
vovnuke ©   (2006-05-19 18:05) [14]

2 [11] Николай Владимирович   (19.05.06 17:39)
Node.AbsoluteIndex


 
Николай Владимирович   (2006-05-19 19:17) [15]

Всё гениальное просто....



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

Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.043 c
2-1148013655
Мурзилка
2006-05-19 08:40
2006.06.04
Спец. символы


2-1147794206
Laymer
2006-05-16 19:43
2006.06.04
Перемещение изображения


9-1130965634
2Wish
2005-11-03 00:07
2006.06.04
С DelphiX на PowerDraw


2-1147756978
manevil
2006-05-16 09:22
2006.06.04
Еще один вопрос про OpenDialog


1-1146111022
гога
2006-04-27 08:10
2006.06.04
Спецсимвол в компоненте Label





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