![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTreeView [D6, WinXP]
DJ! © (2003-01-02 19:04:00)begin
Здравствуйте уважаемые МАСТЕРА!
Есть небольшой вопрос, на который я надеюсь получить ответ.
В TTreeView к 1-му TTreeNode добавляются Child"ы - полные пути к каким либо папкам.
(Они разбиваются на имена отдельных папок и добавляются по уровням,
т.е. как в стандартном диалоге обзора папки).
Как сделать, что - бы при добавлении путей "C:\Program Files\WinAmp" и "C:\Program Files\Delphi6"
была только одна ветвь "C:\Program Files\" с двумя Child"ами "WinAmp" и "Delphi6" ?
Заранее благодарен всем, кто поможет :p
end.
Геннадий (2003-01-02 21:31:00) [1]У тебя "на входе" путь. (C:\Windows\ICQ) Тебе его нужно разбить на подкаталоги. Для этого используй array of String (динамический). В ячейку [0] пиши первый подкатолог. (Windows) В [1] - второй - ICQ. Затем, когда ты путь "раскидал" в ячейки массива - в цикле проверяй с [0] существование ветки с нужным именем. Если нет - создавай. Если есть - добавляй child.
Вопросы?
Rouse_ (2003-01-02 19:46:00) [2]А если каждый раз Root переопределять :))
Или написать такой код?
I:= Length(NewPath);
if NewPath[I] = "/" then Delete(NewPath, I, 1);
Dec(I);
while NewPath[I] <> "/" do Dec[I];
Delete(NewPath, 1, I);
//и теперь добавляй NewPath
Желаю успехов
TTCustomDelphiMaster (2003-01-02 19:33:00) [3]А что ExtractFileName и ExtractFileDir не работают?
DJ! (2003-01-02 19:19:00) [4]Ну а если путей много и разных и не известна их ROOT ?
Rouse_ (2003-01-02 19:13:00) [5]Элементарный парсинг.
к примеру:
Root:= "C:\Program Files\";
NewPath := "C:\Program Files\Winamp";
Delete(NewPath, 1, Length(Root));
//и теперь добавляй NewPath
Желаю успехов