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

Вниз

Поиск в TreeView   Найти похожие ветки 

 
VMan80 ©   (2009-11-28 20:17) [0]

Пишу компонент для выбора папки (директории) на основе TreeView. Вернее он практически уже готов. Хочу реализовать функцию, чтобы при запуске в дереве TreeView открывалась заданная папка (ветка). К примеру: C:\Test\1\. Хочу сделать так (думаю наиболее оптимальный по скорости работы путь, если нет - поправьте): из искомой строки в цикле поочередно выделяю сегмент для поиска: "C:\", "Test\" и "1\", которые затем поочередно буду искать в каждом соответствующем уровне дерева TreeView.  
С первым уровнем все понятно (пример условный):
SearchStr := "C:\";
CurItem: = TreeView1.Items.GetFirstNode;
while CurItem<>nil do
 begin
     if CurItem.Text = SearchStr then
         // вот тут нужно выполнить переход на следующий Level, чтобы пройти по его Item-am Но вот как?
         // если указать CurItem :=  CurItem.GetNextChild(CurItem); - то происходит переход на следующий Item  
         // на этом же уровне дерева, а мне надо перейти на новый Level !!!!!
     else
        CurItem: = CurItem.GetNext;
 end;

Вообще, может есть готовые варианты решения?


 
Ухарь   (2009-11-28 21:25) [1]

Готовые варианты решения конечно же есть - функция SelectDirectory

а по поводу цикла по дереву - можно сделать сквозной цикл:

for I:=0 to TreeView1.Items.Count - 1 do
 begin
 if TreeView1.Items[I].text = SearchStr then ...
 end;


 
VMan80 ©   (2009-11-29 11:33) [2]

Спасибо! Разобрался.



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

Текущий архив: 2011.07.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1301692279
istok
2011-04-02 01:11
2011.07.17
Просьба попороть иконки...


10-1175512056
Дмитрий Белькевич
2007-04-02 15:07
2011.07.17
Как передать динамический массив битмапов.


2-1302097423
Mishutka
2011-04-06 17:43
2011.07.17
сделать активной ячейку StringGrid


15-1301644671
sniknik
2011-04-01 11:57
2011.07.17
Pivot tables in OpenOffice Calc ... формирование программно


2-1302495929
Максон
2011-04-11 08:25
2011.07.17
Подмена окончаний в слове