Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск файлов по маске/дате/размеру

70K
08 мая 2011 года
Лампожуй
1 / / 05.05.2011
Доброго времени суток, уважаемые.
Нужно сделать программу для поиска файлов по маске, дате создания (начальная и конечная даты поиска) и размеру (минимальному и максимальному).
Не получается прикрутить поиск по дате и размеру, попробовал несколько способов, но ни один не помог (или не так пробовал).

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "SearchUtils.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cmbSearchInTreeClick(TObject *Sender)
{
Screen->Cursor = crHourGlass;
//Поиск в дереве
string folder = txtFolder->Text.c_str();
string mask = txtMask->Text.c_str();

DWORD flags = 0;
if (chkFolder->Checked) flags |= FILE_ATTRIBUTE_DIRECTORY;
if (chkHidden->Checked) flags |= FILE_ATTRIBUTE_HIDDEN;
if (chkSystem->Checked) flags |= FILE_ATTRIBUTE_SYSTEM;
if (chkReadOnly->Checked) flags |= FILE_ATTRIBUTE_READONLY;
if (chkArchive->Checked) flags |= FILE_ATTRIBUTE_ARCHIVE;

list<string> result;
lstResult->Clear();
if ( SearchInTree(folder, mask, flags, true, result) )
{
\\Вывод результатов поиска
std::list<string>::const_iterator it;
for ( it = result.begin(); it != result.end(); it++ )
lstResult->AddItem(it->c_str(), NULL);
}
else
{
lstResult->AddItem("Подходящих файлов не найдено", NULL);
}

Screen->Cursor = crDefault;
}
//---------------------------------------------------------------------------


Мне кажется, что нужно сделать поля "Edit*" под каждый из 4х пунктов и забить их в 35-ю строчку кода [ if ( SearchInTree(folder, mask, flags, true, result) )], но вот как - не понимаю. Надеюсь на вашу помощь. Заранее спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог