Форум: "Основная";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
ВнизПоиск в 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c