亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cefilefind.cpp

?? CCeFileFind - File Finder class for Windows CE
?? CPP
字號:
// CeFileFind.cpp : implementation file
//

#include "stdafx.h"
#include "CeFileFind.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


#define DELETE_POINTER(ptr)		if( ptr != NULL )	\
								{					\
									delete ptr;		\
									ptr = NULL;		\
								}

#define DIR_SEPERATOR		'\\'

/////////////////////////////////////////////////////////////////////////////
// CCeFileFind

CCeFileFind::CCeFileFind()
			:m_hFileHandle(NULL), // initialize to NULL
			m_pfiledata(NULL)
{
}

CCeFileFind::~CCeFileFind()
{
	Close();
}


// Operations
BOOL CCeFileFind::FindFile(LPCTSTR pstrName)
{

	Close();

	// if NULL , wild card search 
	if( NULL == pstrName )
	{
		m_csRoot = DIR_SEPERATOR;
		pstrName = _T("\\*.*");
		
	}
	else
	{

		m_csRoot = pstrName;
		int nPos = m_csRoot.ReverseFind( '\\' );
		if( nPos == 0 )
			m_csRoot = '\\';
		else
			m_csRoot = m_csRoot.Left( nPos );
	
	}

	m_pNextdata = new WIN32_FIND_DATA;
	// search for file
	m_hFileHandle = FindFirstFile( pstrName, m_pNextdata );
	
	if ( m_hFileHandle == INVALID_HANDLE_VALUE )
	{
		Close();
		return FALSE;
	}

	// file was found
	return TRUE;
}


BOOL CCeFileFind::FindNextFile()
{
	ASSERT(m_hFileHandle != NULL);

	if (m_hFileHandle == NULL)
		return FALSE;

	if (m_pfiledata == NULL)
		m_pfiledata = new WIN32_FIND_DATA;

	AssertDoneNext();

	LPWIN32_FIND_DATA pTemp = m_pfiledata;
	m_pfiledata = m_pNextdata;
	m_pNextdata = pTemp;

	return ::FindNextFile(m_hFileHandle, m_pNextdata);
}


void CCeFileFind::Close()
{
	DELETE_POINTER( m_pfiledata );
	DELETE_POINTER( m_pNextdata );

	if( m_hFileHandle!= NULL && m_hFileHandle != INVALID_HANDLE_VALUE )
	{
		::FindClose( m_hFileHandle );
		m_hFileHandle = NULL;
	}
}

BOOL CCeFileFind::MatchesMask(DWORD dwMask) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if ( m_pfiledata != NULL)
		return (!!(m_pfiledata->dwFileAttributes & dwMask) );
	else
		return FALSE;
}


CString GetRoot() const
{
	ASSERT(m_hFileHandle != NULL);
	ASSERT(pTimeStamp != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL && pTimeStamp != NULL)
		return m_csRoot;
	else
		return "";

}

BOOL CCeFileFind::GetLastAccessTime(FILETIME* pTimeStamp) const
{
	ASSERT(m_hFileHandle != NULL);
	ASSERT(pTimeStamp != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL && pTimeStamp != NULL)
	{
		*pTimeStamp = m_pfiledata -> ftLastAccessTime;
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::GetLastWriteTime(FILETIME* pTimeStamp) const
{
	ASSERT(m_hFileHandle != NULL);
	ASSERT(pTimeStamp != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL && pTimeStamp != NULL)
	{
		*pTimeStamp = m_pfiledata -> ftLastWriteTime;
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::GetCreationTime(FILETIME* pTimeStamp) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL && pTimeStamp != NULL)
	{
		*pTimeStamp = m_pfiledata -> ftCreationTime;
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::GetLastAccessTime(CTime& refTime) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		refTime = CTime( m_pfiledata -> ftLastAccessTime );
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::GetLastWriteTime(CTime& refTime) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		refTime = CTime( m_pfiledata -> ftLastWriteTime );
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::GetCreationTime(CTime& refTime) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		refTime = CTime( m_pfiledata -> ftCreationTime );
		return TRUE;
	}
	else
		return FALSE;
}

BOOL CCeFileFind::IsDots() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	// return TRUE if the file name is "." or ".." and
	// the file is a directory

	BOOL bResult = FALSE;
	if (m_pfiledata != NULL && IsDirectory())
	{
		LPWIN32_FIND_DATA pFindData = m_pfiledata;
		if (pFindData->cFileName[0] == '.')
		{
			if (pFindData->cFileName[1] == '\0' ||
				(pFindData->cFileName[1] == '.' &&
				 pFindData->cFileName[2] == '\0'))
			{
				bResult = TRUE;
			}
		}
	}

	return bResult;
}

BOOL CCeFileFind::IsArchived( ) const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_ARCHIVE )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;

}

BOOL CCeFileFind::IsCompressed() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_COMPRESSED )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}


BOOL CCeFileFind::IsDirectory() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}

BOOL CCeFileFind::IsHidden() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_HIDDEN )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}


BOOL CCeFileFind::IsNormal() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_NORMAL )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}

BOOL CCeFileFind::IsReadOnly() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_READONLY )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}

BOOL CCeFileFind::IsSystem() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_SYSTEM )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}


BOOL CCeFileFind::IsTemporary() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
	{
		if( m_pfiledata -> dwFileAttributes == FILE_ATTRIBUTE_TEMPORARY )
			return TRUE;
		else
			return FALSE;
	}
	return FALSE;
}


CString CCeFileFind::GetFilePath() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	CString csResult = m_csRoot;
	if (csResult[csResult.GetLength()-1] != DIR_SEPERATOR )
		csResult += DIR_SEPERATOR;
	csResult += GetFileName();
	return csResult;
}


CString CCeFileFind::GetFileName() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	CString ret;

	if (m_pfiledata != NULL)
		ret = m_pfiledata->cFileName;
	return ret;
}

DWORD CCeFileFind::GetLength() const
{
	ASSERT(m_hFileHandle != NULL);
	AssertDoneNext();

	if (m_pfiledata != NULL)
		return m_pfiledata -> nFileSizeLow;
	else
		return 0;
}


void CCeFileFind::AssertDoneNext() const
{
	// if you trip the ASSERT in the else side, you've called
	// a Get() function without having done at least one
	// FindNextFile() call

	if (m_hFileHandle == NULL)
		ASSERT( m_pfiledata == NULL && m_pNextdata == NULL);
	else
		ASSERT( m_pfiledata != NULL && m_pNextdata != NULL);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文乱码免费一区二区| 日韩一区在线播放| 国产精品亲子伦对白| 中文字幕一区二区三区不卡在线| 亚洲素人一区二区| 欧美96一区二区免费视频| 成人黄色片在线观看| 制服丝袜成人动漫| 中文字幕一区二区三区四区不卡| 肉色丝袜一区二区| 97aⅴ精品视频一二三区| 精品国产凹凸成av人网站| 亚洲精品久久嫩草网站秘色| 久久99最新地址| 欧美日韩在线一区二区| 国产精品国产三级国产普通话99 | 色综合天天综合狠狠| 日韩色在线观看| 洋洋av久久久久久久一区| 懂色一区二区三区免费观看| 91精品国产手机| 亚洲综合图片区| 成人福利视频在线看| 日韩欧美国产一区二区在线播放| 亚洲永久免费视频| 91香蕉视频在线| 国产精品麻豆久久久| 黑人精品欧美一区二区蜜桃| 欧美精品三级日韩久久| 亚洲已满18点击进入久久| 91在线播放网址| 欧美激情一区二区三区| 国产精品一线二线三线精华| 日韩一区二区三| 日韩精品亚洲一区| 欧美日韩精品三区| 午夜影院久久久| 欧美日韩精品高清| 偷窥国产亚洲免费视频| 欧美日韩一级二级| 午夜久久久影院| 欧美乱妇15p| 天堂在线一区二区| 日韩欧美不卡一区| 狠狠狠色丁香婷婷综合激情| 精品久久国产97色综合| 国产一区不卡精品| 欧美国产精品久久| 成人avav在线| 亚洲美女一区二区三区| gogo大胆日本视频一区| 亚洲免费看黄网站| 欧美亚洲一区二区三区四区| 亚洲小说欧美激情另类| 欧美精品少妇一区二区三区| 热久久免费视频| 精品久久人人做人人爰| 顶级嫩模精品视频在线看| 中文字幕一区二区三区四区不卡 | 日韩综合一区二区| 日韩区在线观看| 国产白丝精品91爽爽久久 | 国产一区二区三区最好精华液| 精品99久久久久久| 成人av影院在线| 亚洲图片自拍偷拍| 精品国产免费视频| 成人黄色大片在线观看| 亚洲自拍偷拍图区| 日韩欧美一区二区免费| 懂色中文一区二区在线播放| 亚洲最新视频在线播放| 日韩一卡二卡三卡国产欧美| 成人午夜精品一区二区三区| 亚洲综合男人的天堂| 精品伦理精品一区| 91小视频在线| 国内一区二区视频| 一区二区在线观看视频在线观看| 在线不卡欧美精品一区二区三区| 国产精品18久久久久| 亚洲一区二区三区美女| 久久精品亚洲精品国产欧美| 色94色欧美sute亚洲线路一ni| 久久精品国产77777蜜臀| 亚洲日本在线视频观看| 久久亚洲综合色| 欧美无砖专区一中文字| 国产成人自拍网| 日韩不卡在线观看日韩不卡视频| 国产精品视频一二三区| 日韩免费高清视频| 色94色欧美sute亚洲13| 豆国产96在线|亚洲| 青青草91视频| 亚洲一区视频在线| 自拍av一区二区三区| wwwwxxxxx欧美| 在线播放91灌醉迷j高跟美女 | 麻豆精品国产91久久久久久| 亚洲精品日日夜夜| 中文字幕av一区二区三区高| 日韩一级免费观看| 欧美日韩一卡二卡三卡| 91一区二区三区在线观看| 国产一区二区在线影院| 看片的网站亚洲| 亚洲中国最大av网站| 亚洲色大成网站www久久九九| 久久久久久久久久看片| 日韩一级黄色大片| 欧美日韩你懂得| 在线视频综合导航| 色婷婷激情久久| 97se亚洲国产综合自在线| 成人av电影免费在线播放| 成人美女视频在线观看18| 国产suv精品一区二区883| 国产一区二区三区精品欧美日韩一区二区三区| 视频一区二区国产| 婷婷综合在线观看| 日韩综合一区二区| 奇米色一区二区| 免费人成在线不卡| 精油按摩中文字幕久久| 精品一区免费av| 国产一级精品在线| 国产成人亚洲综合a∨婷婷| 国产精品一级片在线观看| 国产精品18久久久久久久久| 国产精品亚洲第一| 国产91丝袜在线播放九色| 成人av网址在线观看| 99久久99久久综合| 日本高清不卡一区| 欧美日韩国产一级二级| 日韩午夜精品视频| 精品美女一区二区三区| 国产人成亚洲第一网站在线播放| 中文字幕国产一区| 亚洲欧美日韩国产成人精品影院| 亚洲色图制服诱惑| 午夜精品久久久久久不卡8050| 日本中文一区二区三区| 国产毛片精品国产一区二区三区| 国产一区二区不卡老阿姨| 白白色 亚洲乱淫| 欧美中文字幕一区二区三区| 欧美一区二区女人| 久久久精品免费免费| 亚洲精品免费在线| 日本一道高清亚洲日美韩| 国产精品18久久久| 91麻豆蜜桃一区二区三区| 欧美一区二区三区在线视频| 国产三级一区二区| 亚洲自拍偷拍av| 国产一区二区伦理片| 91小视频在线| 欧美第一区第二区| 亚洲另类中文字| 狠狠色丁香婷婷综合久久片| 99久久婷婷国产精品综合| 欧美理论在线播放| 中文成人av在线| 日韩高清电影一区| 成人免费观看av| 欧美一区二区高清| 亚洲欧美中日韩| 久久精品国产久精国产| 色诱视频网站一区| 久久综合九色综合97婷婷| 亚洲影院久久精品| 成人精品免费网站| 日韩精品一区在线| 亚洲精品视频自拍| 成人一道本在线| 日韩一区二区三区视频在线| 综合av第一页| 狠狠狠色丁香婷婷综合激情 | 色狠狠综合天天综合综合| 久久午夜国产精品| 日韩av在线播放中文字幕| 色综合久久88色综合天天| 久久综合九色欧美综合狠狠| 一区二区三区四区高清精品免费观看| 精品一区二区免费| 欧美精品在线观看播放| 一区二区三区四区国产精品| 懂色av噜噜一区二区三区av| 欧美精品一区二区三区蜜桃视频| 亚洲一区日韩精品中文字幕| heyzo一本久久综合| 国产丝袜欧美中文另类| 精品一区二区三区蜜桃| 日韩欧美亚洲另类制服综合在线| 亚洲大片精品永久免费| 在线亚洲一区二区| 亚洲欧美一区二区久久| av综合在线播放|