Initial Commit
This commit is contained in:
55
common/FINDDATA.CPP
Normal file
55
common/FINDDATA.CPP
Normal file
@@ -0,0 +1,55 @@
|
||||
#include <common/finddata.hpp>
|
||||
|
||||
void FindData::destroyFind(void)
|
||||
{
|
||||
if(INVALID_HANDLE_VALUE==mhFindHandle)return;
|
||||
::FindClose(mhFindHandle);
|
||||
mhFindHandle=INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
WORD FindData::findFirst(const String &searchFileName,DWORD searchAttributes)
|
||||
{
|
||||
destroyFind();
|
||||
zeroInit();
|
||||
if(searchFileName.isNull())return FALSE;
|
||||
fileName(searchFileName);
|
||||
attributes(searchAttributes);
|
||||
if(INVALID_HANDLE_VALUE==(mhFindHandle=::FindFirstFile((LPSTR)searchFileName,&((WIN32_FIND_DATA&)*this))))return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void FindData::altFileName(String altFileName)
|
||||
{
|
||||
WORD nameLength(altFileName.length());
|
||||
|
||||
if(altFileName.isNull())return;
|
||||
if(nameLength>=sizeof(WIN32_FIND_DATA::cAlternateFileName))altFileName.length(sizeof(WIN32_FIND_DATA::cAlternateFileName)-1);
|
||||
::strcpy(WIN32_FIND_DATA::cAlternateFileName,(LPSTR)altFileName);
|
||||
}
|
||||
|
||||
FindData &FindData::operator=(const FindData &someFindData)
|
||||
{
|
||||
attributes(someFindData.attributes());
|
||||
creationTime(someFindData.creationTime());
|
||||
lastAccessTime(someFindData.lastAccessTime());
|
||||
lastModifyTime(someFindData.lastModifyTime());
|
||||
sizeHigh(someFindData.sizeHigh());
|
||||
sizeLow(someFindData.sizeLow());
|
||||
fileName(someFindData.fileName());
|
||||
altFileName(someFindData.altFileName());
|
||||
return *this;
|
||||
}
|
||||
|
||||
WORD FindData::operator==(const FindData &someFindData)const
|
||||
{
|
||||
return (attributes()==someFindData.attributes()&&
|
||||
creationTime()==someFindData.creationTime()&&
|
||||
lastAccessTime()==someFindData.lastAccessTime()&&
|
||||
sizeHigh()==someFindData.sizeHigh()&&
|
||||
fileName()==someFindData.fileName()&&
|
||||
altFileName()==someFindData.altFileName());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user