Главная страница
    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.46 MB
Время: 0.029 c
14-1102182152
ArMellon
2004-12-04 20:42
2004.12.26
У меня стоит Apache , как виртуальным хостам


4-1100151730
Delph
2004-11-11 08:42
2004.12.26
Блокировка щелчка мышью в заголовке окна (формы)


1-1102686631
Zilog
2004-12-10 16:50
2004.12.26
Ограничение рабочего стола


14-1102058586
КаПиБаРа
2004-12-03 10:23
2004.12.26
Есть ссылки на расписание поездов из Самары в сторону Челябинска?


4-1100285274
AndroiD
2004-11-12 21:47
2004.12.26
дескриптор приложения





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