crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
RazrFalcon
  опции профиля:
сообщение 3.10.2011, 19:24
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Программа имеет настройку вида: "Сканировать субдиректории".
Текущий код:
  QFileInfoList fileList;
  if (chBoxRecursive->isChecked()) {
    QDirIterator dirIt(folder,QDirIterator::Subdirectories); //! QDirIterator::Subdirectories
    while (dirIt.hasNext()) {
      dirIt.next();
      if (QFileInfo(dirIt.filePath()).isFile())
        if (!QFileInfo(dirIt.filePath()).suffix().isEmpty())
          if (dirIt.fileName().contains(QRegExp("svg$|svgz$")))
            fileList.append(dirIt.filePath());
    }
  } else {
    QDirIterator dirIt(folder,QDirIterator::NoIteratorFlags); //! QDirIterator::NoIteratorFlags
    while (dirIt.hasNext()) {
      dirIt.next();
      if (QFileInfo(dirIt.filePath()).isFile())
        if (!QFileInfo(dirIt.filePath()).suffix().isEmpty())
          if (dirIt.fileName().contains(QRegExp("svg$|svgz$")))
            fileList.append(dirIt.filePath());
    }
  }

  qDebug()<<fileList.count();

Как его можно упростить? Никак не могу вынести интератор, так как он очень по кривому создается. <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 3.10.2011, 21:13
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


QFileInfoList fileList;

QDirIterator dirIt(folder,chBoxRecursive->isChecked()?QDirIterator::Subdirectories:QDirIterator::NoIteratorFlags);

while (dirIt.hasNext())
{
    dirIt.next();
    if(QFileInfo(dirIt.filePath()).isFile())
    {
        if (!QFileInfo(dirIt.filePath()).suffix().isEmpty())
        {
            if (dirIt.fileName().contains(QRegExp("svg$|svgz$")))
            {
                fileList.append(dirIt.filePath());
            }
        }
    }
}


Сообщение отредактировал Алексей1153 - 3.10.2011, 21:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 3.10.2011, 21:58
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Хитро ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.6.2025, 12:49