Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
1-1102683452
Bobby Digital
2004-12-10 15:57
2004.12.26
Line


14-1102051996
MBo
2004-12-03 08:33
2004.12.26
Пятница. Задачки. Вася Пупкин снова в бою ;)


1-1102841605
Russko
2004-12-12 11:53
2004.12.26
Проверка на существование формы


1-1103000444
leonidus
2004-12-14 08:00
2004.12.26
Как в Inno 4 на этапе установки предоставить юзеру выбор языка?


1-1102956645
Dema-X
2004-12-13 19:50
2004.12.26
что за qtintf70.dll