![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_йцукен_* |
![]()
Сообщение
#1
|
Гости ![]() |
Как реализовать рекурсивный поиск?
|
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Если без использования фильтров, то так:
|
|
|
Гость_йцукен_* |
![]()
Сообщение
#3
|
Гости ![]() |
А если с фильтрами, то чем отличается?
|
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Наличием фильтра.
![]() Ну и тем, что с ними нужно быть аккуратным, так как из-за них можно не увидеть папки, соответственно ни о какой рекурсии не будет речи. |
|
|
Гость_йцукен_* |
![]()
Сообщение
#5
|
Гости ![]() |
Спасибо за помощь
|
|
|
CodeHunter |
![]()
Сообщение
#6
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
foreach( QFileInfo fi, dir.entryInfoList()) { QString szFileName = fi.absoluteFilePath(); if( fi.isDir()) { if( fi.fileName()=="." || fi.fileName()=="..") continue; FindFileAndDir( szFileName); } if( fi.isFile()) { qnFileCount++; } } Плохой пример ! Вызов dir.entryInfoList() внутри папки например "C:\Windows\System32" повесит тебе прогу минут на 5 !! Лутше использовать QDirIterator !! QDirIterator it("С:\Windows\System32",QDirIterator::Subdirectories); while (it.hasNext()) { qDebug() << it.next(); // здесь можна обработать сообщения пришедшие форме !!! } |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
CodeHunter, это будет на всех целевых платформах работать? Где-то краем уха слышал, что есть какие-то ограничения.
|
|
|
igor_bogomolov |
![]()
Сообщение
#8
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
CodeHunter, смотри на дату. QDirIterator на тот момент не существовало
|
|
|
CodeHunter |
![]()
Сообщение
#9
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
CodeHunter, смотри на дату. QDirIterator на тот момент не существовало Если следовать твоей мысли то зачем тогда новое вообще писать есть же ответы на Qt 3 Я просто написал как будет правильнее на данный момент! Где-то краем уха слышал, что есть какие-то ограничения. Линк в студию ! Никогда подобного не слышал ! |
|
|
kwisp |
![]()
Сообщение
#10
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
извиниье, не в тему:
Я просто написал как будет правильнее на данный момент! зачем тогда писал Плохой пример ! ??? написал бы "Народ сейчас появилась новая более оптимальная возможность" и я уверен тебе бы сказали спасибо... а так как написал - как будто хочешь Эдика задеть что ли. Если я ошибаюсь поправь меня. Думаю у меня не у одного такие впечатления. |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 25.5.2025, 23:18 |