«Фильтр и сортировка имен файлов»




Скачать 94.08 Kb.
Название «Фильтр и сортировка имен файлов»
Дата публикации 15.06.2014
Размер 94.08 Kb.
Тип Пояснительная записка
literature-edu.ru > Право > Пояснительная записка
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра «Информатика и программное обеспечение»
«У Т В Е Р Ж Д А Ю»

Зав. кафедрой «И и ПО», к.т.н., доцент

____________________ Подвесовский А.Г.

«____» _____________ 2012г.
Пояснительная записка

К курсовой работе

Вариант №9

Выполнил студент гр. 11-ПРИ
____________________Синдеев C.C.
«_____»______________2012 г.
Руководитель
_________ ассистент Подпружников Ю.В.
«_____»______________2012 г.
Брянск 2012

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Информатика и программное обеспечение»
ЗАДАНИЕ

На курсовую работу по дисциплине ПРОГРАММИРОВАНИЕ
Студенту гр. 11-ПрИ
Тема «Фильтр и сортировка имен файлов»

Содержание работы

Программа должна загружать список фалов из выбранной папки, осуществлять возможность добавления маски, фильтрации по маски.
Рекомендации ________________________________________________

Замечания ___________________________________________________

Дата получения ______________________

Дата сдачи ______________________

Студент ______________________

Руководитель ______________________

Брянск 2012

Оглавление

1анализ 4

1.Наименование и назначение программы 4

2.Требования к программе 4

2проектирование 5

3программирование 6

4Описание интерфейса программы 6

5 код программы 8

1Тестирование 10

Список используемой литературы 11


1анализ


Техническое задание:

1.Наименование и назначение программы



Фильтр и сортировка имен файлов.

Она позволяет ознакомиться с практической точки зрения с понятиями "каталог" или "папка", "файл", "сортировка", "маска", "фильтр".

2.Требования к программе



2.1. Выбор текущего каталога с помощью диалогового окна. Путь к каталогу отображается в текстовом поле (QLineEdit), которое доступно только для чтения.

2.2. Заполнение таблицы атрибутами файлов из выбранного каталога, состоящей из 3-х колонок: имя файла, расширение, дата создания.

2.3. Сортировка файлов по имени, расширению и дате. Выбор типа сортировки и порядка (по возрастанию/убыванию) осуществляется с помощью переключателей (QRadioButton).

2.4. Фильтрация файлов по маске/типу файлов. На форме присутствует компонент "выпадающий список" (QComboBox), в который занесены 10 наиболее распространенных типов файлов (например, *.txt, *.jpg, *.doc), пользовательские маски + дополнительный пункт (см. ниже). Так же на форме присутствует текстовое поле для задания маски.

2.4.1. При выборе типа файла в выпадающем списке, в текстовое поле автоматически подставляется маска этого файла. Например, пользователь выбрал "Текстовый файл (*.txt)", тогда в поле для маски подставляется "*.txt". Если же пользователь вводит маску вручную, то в выпадающем списке выбирается дополнительный пункт "Пользовательский". Если пользователь сначала выбрал тип файла с помощью выпадающего списка, а затем выбрал пункт "Пользовательский", то автоматически подставленная маска не меняется.

2.4.2. Пользователь может сохранить текущую маску в выпадающем списке, нажав на соответствующую кнопку, или удалить уже сохраненную. Если выбрана предустановленная маска, кнопка "Удалить" будет неактивна.

2.4.3. Когда пользователь ввел маску, он может отобразить только те файлы, которые ей соответствуют. Для этого он должен нажать клавишу Enter или кнопку "Фильтровать по маске". При этом, если выбрана сортировка, она примениться к отфильтрованному списку.

2.4.4. При введении некорректной маски (например, "**abc", "*?"), будет выдано сообщение об ошибке (QMessageBox), с предложением, если возможно, заменить на правильную (то есть на "*abc", "*");

2.5. При закрытии программы все текущие параметры программы сохраняются: текущий каталог, фильтр, тип сортировки, пользовательские маски. При запуске программы эти параметры загружаются. Таким образом, пользователь продолжает работу.


2проектирование



В ходе этапа проектирования была определена внутренняя структура программы.

Основной задачей была реализация считывания списка данных файлов из папки и осуществление фильтрации по маски этого списка пользователем.

Суть использования метода фильтрации по маски:

  1. Считать из выпадающего списка значения для фильтра.

  2. Выделить цветом те файлы которые относятся к выбранной маски.

  3. Отобразить пользователю отфильтрованный список.



3программирование



Открываем среду разработки QT Creator, перед нами появляется стартовая страница, выбираем вкладку Файл -> Новый файл или проект ->Проект QT widget -> GUI приложение QT.

После этого, размещаем на форме нужные нам элементы (См. Рис.3.1 )



Рис.3.1. Форма приложения

Подробный разбор всех элементов формы описан в главе «Описание интерфейса программы».


4Описание интерфейса программы



Ниже представлен интерфейс работы программы (См. рис.4.1)



Рис.4.1. Пример работы программы

Интерфейс программы состоит из следующих компонентов:

QComboBox (comboBox) - фильтрация, который отвечает за фильтр компонентов. Элементы в QComboBox с самого начала работы программы уже сохранены стандартные маски.

QPushButton (Path) – кнопка, выполняющая функцию открытия диалогового окна, в котором пользователь сможет выбрать по каталогам путь к файлам папки.

QPushButton (FilterButton) – кнопка, выполняющая функцию фильтрации по маске, с помощью которого пользователь увидит нужные ему файлы.

QPushButton (SelectButton) – кнопка, выполняющая функцию выделение по маске, с помощью которого пользователь увидит выделенные нужные файлы из всего списка.

QLabel - 2 заголовка, поясняющие пользователю значение QComboBox и RadioButton.

QListWidget – Элемент интерфейса , в котором выводится список файлов с датой изменения , считанный из папки.








5 код программы


Получения пути к папке с файлами:

void MainWindow::on_CheckPathButton_clicked()

{

QString path;

if(lastdir=="")

path=QFileDialog::getExistingDirectory(this,"Введите директорию");

else

path=QFileDialog::getExistingDirectory(this,"Введите директорию",lastdir);

if(path=="")

return;

SetPath(path);

QDir::SortFlags flags=SetSortingFromForm();

SetSorting(flags);

ShowList();

}


Листинг 1. Загрузка списка из файла
Вывод списка на экран:

void MainWindow::ShowList()

{

ui->FileList->clear(); //очистка

files=dir.entryList(); //выдает файлы и папки

fileProperties=dir.entryInfoList(); // QFilelist вбивает в список информацию о файлах

QFileInfo fileProperty;

for(unsigned int i=0;i

{

fileProperty=fileProperties[i];

if(fileProperty.isFile())

{

ui->FileList->addItem("Дата изменения: "+fileProperty.lastModified().toString("dd.MM.yyyy")+". Имя: "+files[i]);

}

}

}

Листинг 2. Вывод списка на экран


Фильтрация по маске:

void MainWindow::on_FilterButton_clicked()

{

QString filter=ui->MaskEdit->text();

if(filter=="")

{

QMessageBox::warning(this,"Ошибка","Пустая маска");

return;

}

SetFilter(filter);

ShowList();

}

Листинг 3. Добавление данных

Выделение по маске:

void MainWindow::on_SelectButton_clicked()

{

QString filter=ui->MaskEdit->text();

if(filter=="")

{

QMessageBox::warning(this,"Ошибка","Пустая маска");

return;

}

selectFilterList.clear();

selectFilterList<

dir.setNameFilters(selectFilterList);

selectedFiles=dir.entryList();

for(int i=0;iFileList->count();i++)

{

QListWidgetItem *item=ui->FileList->item(i);

for(int j=0;j

if(item->text().contains(" "+selectedFiles[j]))

item->setBackgroundColor(QColor(64,64,255));

}

}

Листинг 4. Добавление данных
Код для фильтрации списка:

void MainWindow::SetSorting(QDir::SortFlags flags)

{

dir.setSorting(flags);

dir.sorting();

}

Листинг 5. Фильтр


  1. Тестирование



Результат тестирования программы методом черного ящика:

Таблица 6.1

Тестирование черного ящика




Сценарий

Ожидаемый результат

Полученный результат

1

  1. Задать любые признаки сортировки

  2. Выбрать папку

Корректная сортировка после выбора папки

Корректная сортировка после выбора папки

2

  1. Выбрать любую предустановленную маску

  2. Ввести символы в поле для маски

  3. Нажать «Фильтровать по маске»

В выпадающем списке масок должен выбраться пункт «Пользовательская»

Пункт не выбрался

3

  1. Выбрать любую предустановленную маску

  2. Отфильтровать по ней

Корректная фильтрация

Корректная фильтрация

4

  1. Ввести любую маску

  2. Отфильтровать по ней

Корректная фильтрация

Корректная фильтрация

5

  1. Выбрать папку %systemroot%

  2. Ввести маску «*»

  3. Нажать кнопку «Выделить по маске»

  4. Ввести маску «*.exe»

  5. Нажать кнопку «Снять выделение»

  6. Ввести маску «*.ini»

  7. Нажать кнопку «Снять выделение»

  8. Нажать кнопку «Инверсия выделения»

Выделены файлы «*.exe» и «.ini»

Выделены файлы «*.exe» и «.ini»

6

  1. Ввести маску «?*»

  2. Нажать кнопку «Выделить по маске»

Выделены все файлы

Выделены все файлы

7

Попытка фильтрации после выделения

Выделение снято, файлы отфильтрованы корректно

Выделение снято, файлы отфильтрованы корректно

8

  1. Ввести пустую маску в поле масок

  2. Отфильтровать/выделить/снять выделение по маске

Выдано сообщение о пустой маске

При фильтрации все файлы исчезли из списка (как неподходящие маске «»)

При выделении/снятии выделения ничего не произошло.







Список используемой литературы





  1. Бланшет Жасмин, Саммерфилд Марк. Qt 4: Программирование GUI на C++ / Пер. с англ. 2-е дополненное издание. - М.: «Кудиц-Пресс», 2007г. - 736с.




  1. Сергей Бобровский. Технологии C++ Builder, 2007г. – 560с.



  1. Юрий Земсков. QT на примерах. – М.: «БХВ-Петербург» , 2008г. -782с.

Добавить документ в свой блог или на сайт

Похожие:

«Фильтр и сортировка имен файлов» icon Мною разработан Программный комплекс для автоматизации работы Библиотеки....
Каталогизацыя. Функции программы ввод данных в базу, их редактирование, сортировка, и печать отчьетов в мs offiсe. Сортировка данных...
«Фильтр и сортировка имен файлов» icon Тема проекта: Разработка программного обеспечения мобильного устройства...
Ставит перед собой следующую цель: разработать модуль на основе rtp/rtcp/sip, позволяющий устанавливать VoIP/gprs соединения, управлять...
«Фильтр и сортировка имен файлов» icon «Целостный мир viii» 2014 Секция №1 «В царстве линий, формул и файлов»
Моделирование поведения искусственного интеллекта в редакторе уровней на примере двумерной игры
«Фильтр и сортировка имен файлов» icon Выполнила : Камалова Айгуль
Происхождение имен
«Фильтр и сортировка имен файлов» icon Т. Е. Баженова особенности образования гипокористических имен собственных...
Особенности образования гипокористических имен собственных в одном владимиро-поволжском говоре
«Фильтр и сортировка имен файлов» icon Методические указания по выполнению лабораторных работ для студентов...
Целью лабораторной работы является изучение простейших способов воспроизведения звуковых файлов при помощи использования функции...
«Фильтр и сортировка имен файлов» icon Название предмета
Упражнение в написании падежных окончаний имен прилагательных на твердую основу. 4 кл
«Фильтр и сортировка имен файлов» icon Базы данных Пояснительная записка к курсовой работе
По сути, бд это некоторое подобие электронной картотеки, электронного хранилища данных, которое хранится в компьютере в виде одного...
«Фильтр и сортировка имен файлов» icon Tallinna Teeninduskool Все о компьютерных вирусах «реферат»
«командного пункта» перехватывают управление другими запущенными приложениями или модулями операционной системы, препятствуя их нормальной...
«Фильтр и сортировка имен файлов» icon М. Ландор тревожные вопросы франсуа мориака
Среди первых имен прозы XX века на Западе энтузиастов русской классики было немало; но Мориак неповторим
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции