|
// *********************************************************
// ファイル情報の取得
// *********************************************************
void MyClass::MyEnumFileGet(LboxString *LWild)
{
// システムイメージリストのインデックス取得用
LboxFileSystem Fs;
LboxString LWork;
if ( this->MyDir.operator != ("") ) {
Fs.ChangeDirectory( &(this->MyDir) );
}
// ファイル情報取得用
HANDLE hFile;
BOOL bRet;
WIN32_FIND_DATA wfd;
FILETIME ft;
SYSTEMTIME st;
hFile = ::FindFirstFile( LWild->szLboxString, &wfd );
if ( hFile == INVALID_HANDLE_VALUE ) {
return;
}
bRet = true;
while( bRet ) {
// ファイルのみ
if ( !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ) {
LView->AddRow();
// ファイル名
LView->SetColumnText( 0, wfd.cFileName );
// サイズ
LWork.Printf( "%lu", wfd.nFileSizeLow );
LWork.NumberFormat( &LWork );
LView->SetColumnText( 1, &LWork );
// 更新日時
::FileTimeToLocalFileTime( &(wfd.ftLastWriteTime), &ft );
::FileTimeToSystemTime( &ft, &st );
LView->SetColumnPrintf(
2,
"%02d/%02d/%02d %02d:%02d:%02d",
st.wYear,
st.wMonth,
st.wDay,
st.wHour,
st.wMinute,
st.wSecond
);
// イメージ
LView->SetImage(
LView->nCurrentRow,
0,
Fs.SmallIconIndex( wfd.cFileName )
);
}
bRet = ::FindNextFile( hFile, &wfd );
}
::FindClose( hFile );
LView->Sort( 0, 0 );
}
| |