Поиск файлов по маске/дате/размеру
Нужно сделать программу для поиска файлов по маске, дате создания (начальная и конечная даты поиска) и размеру (минимальному и максимальному).
Не получается прикрутить поиск по дате и размеру, попробовал несколько способов, но ни один не помог (или не так пробовал).
//---------------------------------------------------------------------------
#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) )], но вот как - не понимаю. Надеюсь на вашу помощь. Заранее спасибо.