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

Вниз

степень вложенности treeview   Найти похожие ветки 

 
syte_ser78 ©   (2005-01-05 12:49) [0]

как определить сабж?
Тоесть какой уровень вложенности имеет выбранный эллемент?


 
DiamondShark ©   (2005-01-05 12:51) [1]

TTreeNode.Level


 
syte_ser78 ©   (2005-01-05 13:59) [2]

Спасибо.
А кто как бы решил такую задачу:
Есть триивив
а
 б
   в
     г - selected

нужно получить полный путь к выделенному элементу типа а/б/в/г

Есть вариант.
г пишем в масив, переходим к предку, пишем в масив и так до ...level=0 Потом читаем массив в обратном порядке.

Как можно по другому?


 
begin...end ©   (2005-01-05 14:05) [3]

> [2] syte_ser78 ©   (05.01.05 13:59)

Я бы сделал что-то вроде этого:

var
 Node: TTreeNode;
 Path: String;

begin
 Node := TreeView.Selected;
 while Node <> NIL do
 begin
   Path := Node.Text + "/" + Path;
   Node := Node.Parent
 end
end.


 
Кудесник ©   (2005-01-05 14:13) [4]

Если не жалко ресурсов, то можешь прописывать путь в Data... %)


 
SergP ©   (2005-01-05 14:41) [5]


>  [4] Кудесник ©   (05.01.05 14:13)
> Если не жалко ресурсов, то можешь прописывать путь в Data...
> %)


Data предназначено для хранения pointer"а, и непосредственно хранить там можно до 4-х байт инфы. А хранить данные, (которые можно получить более простым способом) в другом месте, а в data указатель на них - это извращение.


 
begin...end ©   (2005-01-05 14:44) [6]

> [5] SergP ©   (05.01.05 14:41)

Ну тогда в Borland"е работают извращенцы. См. описание TTreeNode.Data и пример там же.


 
Кудесник ©   (2005-01-05 14:51) [7]


> [5] SergP ©   (05.01.05 14:41)
> Data предназначено для хранения pointer"а

А я о чём? Засандалить туду PChar... в него прописать путь. При добавлении узла, считывать путь из Data парента, и прибавлять имя создаваемого. При выводе, просто считывать путь из Data. Что-то типа этого... %)


 
syte_ser78 ©   (2005-01-05 14:55) [8]


> begin...end ©   (05.01.05 14:05) [3][Ответить]

Чем не ответ?


 
DiamondShark ©   (2005-01-05 16:29) [9]


function NodePath(Node: TTreeNode): string;
begin
 if Node.Parent = nil
   then Result := Node.Text
   else Result := NodePath(Node.Parent) + "\" + Node.Text;
end;


 
AlterEgo of WondeRu ©   (2005-01-05 16:48) [10]

SergP ©   (05.01.05 14:41) [5]
а в data указатель на них - это извращение.


я думал, что я ламер, а оказывается еще и извращенец!



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

Форум: "Потрепаться";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
14-1104443459
olookin
2004-12-31 00:50
2005.01.23
Томительно легко... откуда строчки?


1-1104333606
saNat
2004-12-29 18:20
2005.01.23
Дерево потоков.


14-1104925531
Зигмунд Сигизмундович
2005-01-05 14:45
2005.01.23
Как Вставить Символ Ё и ё?


1-1105214398
Garfunkel
2005-01-08 22:59
2005.01.23
Сохранение rtf и html файлов в виде ресурсов


6-1099436336
Stexen
2004-11-03 01:58
2005.01.23
Asynchronous socket error 10053?





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