Russian Qt Forum
Июнь 16, 2024, 03:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDir::entryList QT3.3.8 ограничить число строк  (Прочитано 5571 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Октябрь 23, 2015, 12:53 »

Формирует список файлов указанного каталога. Если каталог очень большой, то это занимает много времени. Есть ли возможность как то ограничить длину списка, что бы список состоял, например, из первых 100 файлов, удовлетворяющих фильтру?
Записан

Как мало времени и как много нужно узнать
Bepec
Гость
« Ответ #1 : Октябрь 23, 2015, 13:05 »

Попробуйте использовать entryInfoList. Он менее затратный по ресурсам и уже на основании его формировать список из ста первых.

Ну или переходите на платформозависимые методы.
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #2 : Октябрь 23, 2015, 13:51 »

А почему он менее затратный?
В entryList возвращается список строк с именами файлов, а в entryInfoList список структур с характеристиками файлов.
Из чего следует, что это менее затратно?
Записан

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Октябрь 23, 2015, 13:53 »

А QDirIterator в тройке не было?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #4 : Октябрь 23, 2015, 13:54 »

нет
Записан

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октябрь 23, 2015, 13:56 »

Тогда пиши сам реализацию. Я так понимаю, у тебя МСВС? Значит только Линух. Значит одна реализация.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Октябрь 23, 2015, 13:56 »

Или используй стороннюю либу (Буст?)
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #7 : Октябрь 23, 2015, 13:57 »

ок, бум думать
Записан

Как мало времени и как много нужно узнать
Bepec
Гость
« Ответ #8 : Октябрь 23, 2015, 14:17 »

Ну, не знаю что за магия внутри, но список в порядка 20к файлов в QStringList формировался дольше, чем QFileInfoList. Ну да смотрите сами.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Октябрь 23, 2015, 14:27 »

Ну, не знаю что за магия внутри, но список в порядка 20к файлов в QStringList формировался дольше, чем QFileInfoList. Ну да смотрите сами.
Вполне возможно, внутри сначала формируется QFileInfoList, из которого достаются имена.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.