Главная страница
    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.049 c
15-1147085436
BAngel
2006-05-08 14:50
2006.06.04
Скачать делфи


4-1142375379
wild sam
2006-03-15 01:29
2006.06.04
Сабклассинг TListBox - не ловится WM_DRAWITEM


15-1147368073
ArtemESC
2006-05-11 21:21
2006.06.04
FAR


2-1147947986
KyRo
2006-05-18 14:26
2006.06.04
Как Можно удалить файл ?


2-1147831588
Wood
2006-05-17 06:06
2006.06.04
Обработка события при аварийном завершении приложения





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