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

Вниз

TreeView полный путь   Найти похожие ветки 

 
electric   (2004-12-12 21:34) [0]

Как получить полный путь к выделенной строке? Как в проводнике это сделано. Путь изменяется динамически.


 
electric   (2004-12-12 22:19) [1]

Полный адресс. например C:\Games\Balls\Balls.exe


 
begin...end ©   (2004-12-12 22:24) [2]

Не понял вопроса. Поподробнее, пожалуйста.


 
Sergey_Masloff   (2004-12-12 22:25) [3]

В TreeView путь? Подняться к корню последовательно. У TTreeNode естьсвойство Parent


 
electric   (2004-12-12 22:47) [4]

>Sergey_Masloff   (12.12.04 22:25) [3]

Ведь неизвестно сколько раз придётся писать Parent чтобы добраться до самого корня! Как это можно сделать для динамического количества узлов?


 
OneFragLeft ©   (2004-12-12 22:49) [5]

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
label1.Caption:="";
while not(Node.Parent=nil) do
begin
 label1.Caption:=Node.Text+"\"+label1.Caption;
 node:=node.Parent;
end;
 label1.Caption:=Node.Text+":\"+label1.Caption;

end;


так? Не судите строго.


 
begin...end ©   (2004-12-12 22:50) [6]

> [4] electric   (12.12.04 22:47)

Что-то вроде этого:

var
 Path: String;
 Node: TTreeNode;
begin
 Path := "";
 Node := TreeView.Selected;
 while Assigned(Node) do
 begin
   Path := "\" + Node.Text + Path;
   Node := Node.Parent
 end;
 Delete(Path, 1, 1)
end.


P.S. Написал прямо здесь, в Delphi не проверял, заранее прошу прощения за возможные ошибки.


 
begin...end ©   (2004-12-12 23:00) [7]

Ну вот, уже вижу у себя ошибку. Если ничего не выбрано, то удаляется символ из пустой строки. :-( Пойду спать...


 
electric   (2004-12-12 23:00) [8]

> begin...end ©   (12.12.04 22:24) [2]

К примеру в проводнике структура каталогов :
-C
+Programm Files
-Windows
 -Temp
-Games
 -Balls

При нажатии на папку Balls в поле адреса появится путь к этой папке C:\Games\Balls. Как это же сделать в TreeView при условии что количество узлов заранее неизвестно?


 
OneFragLeft ©   (2004-12-12 23:02) [9]

Меня сёдня все игнорят? Пойду спать:)


 
Sergey_Masloff   (2004-12-12 23:05) [10]

electric   (12.12.04 23:00) [8]
>при условии что количество узлов заранее неизвестно
Что такое рекурсия знаешь? Если нет то google или yandex, поиск и через 1 минуту все будет понятно. В конце концов цикл с постусловием сделать - вот как минимум 2 абсолютноочевидных решения.


 
electric   (2004-12-12 23:08) [11]

> OneFragLeft ©   (12.12.04 22:49) [5]

Работает отлично! =) Благодарю! =)


 
OneFragLeft ©   (2004-12-12 23:18) [12]

Тебе спасибо. Заставил старого обезьяна мозгами пошевелить=)



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

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

Наверх





Память: 0.47 MB
Время: 0.036 c
1-1102952442
alex145
2004-12-13 18:40
2004.12.26
Главная форма


3-1101878985
Sergo
2004-12-01 08:29
2004.12.26
InterBase


1-1102510383
Светочка
2004-12-08 15:53
2004.12.26
внешние приложения


11-1084318593
Dilma
2004-05-12 03:36
2004.12.26
Как сделать табуляцию у элементов контейнеров?


1-1103043162
denis24
2004-12-14 19:52
2004.12.26
form.oncreate





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