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

Вниз

Путь к ветке дерева   Найти похожие ветки 

 
harismatik   (2002-12-18 19:20) [0]

У меня есть дерево папок. Как, выбрав одну из них, получить полный путь к ней и вывести этот путь как Label.caption?


 
dona   (2002-12-18 19:28) [1]


Используйте компонент OpenDialog (страница Dialogs).
Например,
if OpenDialog1.Execute then Label1.Caption:=OpenDialog1.FileName;


 
Skier   (2002-12-18 19:28) [2]

>harismatik

Если я правильно понял
то тебе понадобятся св-ва

- TTreeView.Selected
- TTreeNode.Parent
- TTreeNode.Text

движешься от выбранного узла дерева (TTreeView.Selected)
вверх по иерархии папок (TTreeNode.Parent) и суммируешь путь
(TTreeNode.Text) в конце получить полный путь..

Ну а вообще-то лучше запоминать полный путь к узлу
при построении дерева папок. (здесь : TTreeNode.Data)


 
Danlicha   (2002-12-18 19:35) [3]

Не лучше


 
harismatik   (2002-12-18 19:51) [4]

2 Skier - ты меня правильно понял. И в принципе, я это сделал в цикле. Только остался один вопрос: как при выборе папки определить ее индекс{то бишь индекс Items} (что-то не хочется перебирать все папки в цикле, пока не будет найдена та, которая имеет признак Selected) Может есть какой другой способ? И какой ивент компонента TreeView лучше для этого использовать (я использую OnClick)?


 
Skier   (2002-12-19 09:57) [5]

>harismatik
А зачем искать узел с признаком Selected ???
Его можно получить сразу...
TTreeView.Selected - вернёт тебе указатель на объект TTreeNode,
т.е. указатель на узел, который выбран в данный момент времени...
Ежели TTreeView.Selected = nil, то - нет выбранного узла.

А что касается индекса узла, то посмотри св-ва
TTreeNode.Index и TTreeNode.AbsoluteIndex



 
Polevi   (2002-12-19 10:27) [6]

procedure GetPath(Node:TTreeNode;var s:string)
begin
s:=s+Node.Text;
if Assigned(Node.Parent) then GetPath(Node.Parent,s);
end;

GetPath(TV.Selected,s);
ShowMessage(s);



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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
3-99015
Tracer
2002-12-10 17:11
2002.12.30
InterBase vs MS Access


14-99258
Uncle Archi
2002-12-10 21:26
2002.12.30
Нужны файлы!!!


3-99032
Максим
2002-12-10 10:58
2002.12.30
fox базы - Language driver not found


1-99102
sbz
2002-12-20 07:06
2002.12.30
Как сделать такой интерфейс?


7-99366
Карелин Артем
2002-10-25 15:58
2002.12.30
Как определить размер памяти, используемом прогой.





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