Главная страница
    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.073 c
4-1097473620
Rentgen
2004-10-11 09:47
2004.12.26
Включить компьютер.


14-1102280007
sunvit
2004-12-05 23:53
2004.12.26
ПОМОГИТЕ!!! Как сохранить изменения на сервере Oracle?


1-1102945000
ruslanyd
2004-12-13 16:36
2004.12.26
Форма как фрейм


14-1102576195
Dmitriy O.
2004-12-09 10:09
2004.12.26
Вот как борются у нас с Русским национализмом.


3-1101447040
LEXX_55
2004-11-26 08:30
2004.12.26
SQL





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