Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Igors от Январь 27, 2016, 12:05



Название: Проверка наличия файлов
Отправлено: Igors от Январь 27, 2016, 12:05
Добрый день

Юзер назначает путь (точнее даже 2 пути), где может быть много всяких файлов. Я знаю имена файлов которые всегда должны быть и могу найти их рекурсивно. Если не нашел вываливаю месягу типа "А Вы уверены? и.т.п.". Но вот что делать если путь - диск или десктоп или еще что-то где фалов немеряно? К сожалению, файлы могут находиться на любом уровне вложенности и имена под-каталогов могут быть любыми.

Спасибо


Название: Re: Проверка наличия файлов
Отправлено: Old от Январь 27, 2016, 12:20
А почему файлы, которые всегда должны быть, не хранить в определенном месте?


Название: Re: Проверка наличия файлов
Отправлено: Igors от Январь 27, 2016, 12:25
А почему файлы, которые всегда должны быть, не хранить в определенном месте?
Это не я решаю, а др (не мое) приложение


Название: Re: Проверка наличия файлов
Отправлено: Bepec от Январь 27, 2016, 12:29
Окно с прогрессбаром?
Или озвучьте вопрос, если я неправильно его понял.


Название: Re: Проверка наличия файлов
Отправлено: dddasd от Январь 27, 2016, 14:09
Код:
QStringList filter;
    filter << "settings.ini";
    QDirIterator iter(a.applicationDirPath(),filter,QDir::NoDotAndDotDot | QDir::Files,QDirIterator::Subdirectories);
    while (iter.hasNext()) {
         qDebug() << iter.next();
    }
как-то так...


Название: Re: Проверка наличия файлов
Отправлено: Racheengel от Январь 27, 2016, 15:36
Окно с прогрессбаром?
Или озвучьте вопрос, если я неправильно его понял.

Плюс запустить несколько потоков, и каждому по подпапке :)

А также добавить всякие системные папки (Windows там например и пр.) в список исключений, чтобы там не искать.


Название: Re: Проверка наличия файлов
Отправлено: Old от Январь 27, 2016, 15:53
Плюс запустить несколько потоков, и каждому по подпапке :)

А также добавить всякие системные папки (Windows там например и пр.) в список исключений, чтобы там не искать.
А после полные пути к файлам в кеш и пока они открываются использовать их, если перестали - повторный поиск.


Название: Re: Проверка наличия файлов
Отправлено: Igors от Январь 28, 2016, 09:23
Видимо здесь нет решения. Пример: если нет файлов *.fbx - директория некорректна, ее задание не имеет смысла. Но если даст диск - на нем какие-то *.fbx найдутся, возможно даже "те самые" но дальше до них загрузчик не дотянется, у него свои правила поиска. Чего ж тогда молотить весь диск? Придется как-то менять постановку

Ну бывает и так, спасибо за обсуждение.   


Название: Re: Проверка наличия файлов
Отправлено: Bepec от Январь 28, 2016, 09:29
Сделайте ограничение в глубину поиска, вот и всё.
Ну или как оригинальное решение для Windows - заодно со своей программой ставить everything и после лазить сразу в его бд, получая ответ о наличии на диске файла за 10-15мс.