Форум: "Потрепаться";
Текущий архив: 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