Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

?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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
2-1147755522
Daimyo
2006-05-16 08:58
2006.06.04
Erorr


2-1147840232
petvv
2006-05-17 08:30
2006.06.04
Отчёт frxReport (Fast Report 3)


2-1147866961
webpauk
2006-05-17 15:56
2006.06.04
Clipboard


15-1147165282
asd
2006-05-09 13:01
2006.06.04
Как сделать почтовик?


2-1147426161
eclipse
2006-05-12 13:29
2006.06.04
Множество таблиц... их связь с одной.... или другие варианты