Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
2-1302413666
snake-as
2011-04-10 09:34
2011.07.17
При запуске второй копии программы восстанавливать из трея первую


2-1302557511
zulus
2011-04-12 01:31
2011.07.17
Интеграция кода ид С++ DLL В Delphi


15-1301936177
Leon-Z
2011-04-04 20:56
2011.07.17
БД в формате XML ???


4-1249050847
Decoding
2009-07-31 18:34
2011.07.17
TaskBar


2-1302269300
johnjar
2011-04-08 17:28
2011.07.17
OpenGl GLine и GL_POINTS





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