Главная страница
    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.044 c
8-1097515235
tox
2004-10-11 21:20
2005.01.23
Плейлисты


3-1103185133
ksa2002
2004-12-16 11:18
2005.01.23
Вопрос по IBDataset


1-1105421082
Alex_d
2005-01-11 08:24
2005.01.23
Пропал dpr


9-1097411691
rts111
2004-10-10 16:34
2005.01.23
Поиск пути


4-1102093835
кактусбел
2004-12-03 20:10
2005.01.23
Поиск фаила в каталоге и его подкаталогах





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