📄 ycode.cpp
字号:
#include "YCode.h"
/*********************************************************************************************
* SysFunc *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
BOOL FileExists( LPCWSTR lpszFileName )
{
WIN32_FIND_DATA findData;
HANDLE hFile = FindFirstFile( lpszFileName, &findData );//FindFirstFile(lpszFileName, NULL);
if( INVALID_HANDLE_VALUE != hFile )
{
CloseHandle( hFile );
return TRUE;
}
return FALSE;
}
char * FindText( char *pStr, char *pSubStr)
{
char * R, *tmp1, *tmp2;
R = NULL;
while( *pStr )
{
tmp2 = pSubStr;
tmp1 = pStr;
R = tmp1;
while( *tmp2 )
{
if( !(*tmp1) )
{
R = 0;
break;
}
if( *tmp1 != *tmp2 )
{
R = 0;
break;
}
tmp1++;
tmp2++;
}
if( R )
break;
pStr++;
}
return R;
}
/*********************************************************************************************
* CList *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
CList::CList()
{
m_unMax = 30;
m_unCount = 0;
m_pData = malloc( m_unMax * sizeof(void *) );
}
CList::~CList()
{
free( m_pData );
}
void CList::CheckMem( void )
{
void *p;
if( m_unCount == m_unMax)
{
m_unMax += 30;
p = m_pData;
m_pData = malloc( m_unMax * sizeof(void *) );
memcpy( m_pData, p, m_unMax * sizeof(void *) );
free( p );
}
}
UINT CList::Add( void *p )
{
CheckMem();
*((UINT *)m_pData + m_unCount) = (UINT)p;
return m_unCount++;
}
void CList::Delete( void *p )
{
UINT i, j;
for( i = 0; i < m_unCount; i++ )
{
if( *((UINT *)m_pData + i) == (UINT)p )
{
for( j = i; j < m_unCount - 1; j++ )
*((UINT *)m_pData + j) = *((UINT *)m_pData + j + 1);
m_unCount -= 1;
return;
}
}
}
UINT CList::Insert( UINT unIndex, void *p )
{
UINT i;
UINT tmp;
if( unIndex >= m_unCount )
return Add( p );
CheckMem();
tmp = ((UINT *)m_pData)[unIndex];
((UINT *)m_pData)[unIndex] = (UINT)p;
unIndex++;
for( i = unIndex; i <= m_unCount; i++ )
{
p = (void *)(((UINT *)m_pData)[i]);
((UINT *)m_pData)[i] = tmp;
tmp = (UINT)p;
}
return unIndex;
}
UINT CList::GetCount( void )
{
return m_unCount;
}
void * CList::GetItem( UINT unIndex )
{
return (void *)(*((UINT *)m_pData + unIndex));
}
void CList::Clear( void )
{
m_unCount = 0;
}
/*********************************************************************************************
* CString *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
#define SIZE_STRING_DEFAULT 126
CString::CString()
{
m_nLength = 0;
m_nBufSize = 0;
m_pszText = NULL;
SetBufSize( SIZE_STRING_DEFAULT );
}
CString::~CString()
{
free( (void *)m_pszText );
}
void CString::SetBufSize( int nSize )
{
m_nBufSize = nSize;
WCHAR *tmp = m_pszText;
m_pszText = (WCHAR *)malloc( m_nBufSize + 2);
if( tmp )
{
if( m_nLength )
memcpy( (void *)m_pszText, (void *)tmp, m_nLength * 2 );
free( (void *)tmp );
}
m_pszText[m_nLength] = 0;
}
void CString::CheckBufSize( int nSize )
{
if( nSize > m_nBufSize )
SetBufSize( nSize + SIZE_STRING_DEFAULT);
}
void CString::Clear( void )
{
if( m_nLength > SIZE_STRING_DEFAULT )
{
m_nLength = 0;
SetBufSize( SIZE_STRING_DEFAULT );
}else
m_nLength = 0;
}
int CString::GetLength( void )
{
return m_nLength;
}
void CString::Copy( LPCWSTR lpszDes, int nTextMax )
{
if( m_nLength < nTextMax )
nTextMax = m_nLength;
memcpy( (void *)lpszDes, m_pszText, nTextMax * 2 );
((WCHAR *)lpszDes)[nTextMax] = 0;
}
LPCWSTR CString::GetString( void )
{
return m_pszText;
}
WCHAR CString::operator []( const int nIndex) const
{
if( (0 <= nIndex) && (nIndex < m_nLength) )
return m_pszText[nIndex];
else
return m_pszText[m_nLength - 1];
}
WCHAR & CString::operator []( const int nIndex )
{
if( (0 <= nIndex) && (nIndex < m_nLength) )
return m_pszText[nIndex];
else
return m_pszText[m_nLength - 1];
}
void CString::operator = ( LPCWSTR pszStr )
{
if( pszStr == m_pszText )
return;
int Len = lstrlen( pszStr );
if( Len * 2 > m_nBufSize )
{
m_nLength = 0;
SetBufSize( Len * 2 + SIZE_STRING_DEFAULT );
}
lstrcpy( m_pszText, pszStr );
m_nLength = Len;
}
void CString::operator = ( LPCSTR pszStr )
{
int Len = strlen( pszStr );
if( Len * 2 > m_nBufSize )
{
m_nLength = 0;
SetBufSize( Len * 2 + SIZE_STRING_DEFAULT );
}
m_nLength = Len;
MultiByteToWideChar( CP_ACP, 0, pszStr, -1, m_pszText, m_nLength );
}
CString & CString::operator + ( LPCWSTR pszStr )
{
if( pszStr == m_pszText )
return *this;
int Len = m_nLength + lstrlen( pszStr );
CheckBufSize( Len * 2 );
lstrcpy( m_pszText + m_nLength, pszStr );
m_nLength = Len;
return *this;
}
CString & CString::operator + ( LPCSTR pszStr )
{
int Len = m_nLength + strlen( pszStr );
CheckBufSize( Len * 2 );
MultiByteToWideChar( CP_ACP, 0, pszStr, -1, m_pszText + m_nLength, Len );
m_nLength = Len;
return *this;
}
void CString::operator += ( LPCWSTR pszStr )
{
*this + pszStr;
}
void CString::operator += ( WCHAR wcChar )
{
CheckBufSize( m_nLength * 2 + 2);
m_pszText[m_nLength++] = wcChar;
m_pszText[m_nLength] = 0;
}
void CString::operator -- ( void )
{
if( m_nLength )
{
m_nLength--;
m_pszText[m_nLength] = 0;
}
}
void CString::operator = ( CString & str)
{
*this = str.m_pszText;
}
CString & CString::operator + ( CString & str)
{
*this + str.m_pszText;
return *this;
}
void CString::operator += ( CString & str)
{
*this += str.m_pszText;
}
/*********************************************************************************************
* CIni *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
void CIni::Open( LPCWSTR pszFileName )
{
/*m_hFile = CreateFile(pszFileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS | CREATE_NEW | OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if( INVALID_HANDLE_VALUE != hf )
{
DWORD fs = GetFileSize( m_hFile, NULL );
m_pBuf = (unsigned char *)malloc( fs );
DWORD rs;
ReadFile( m_hFile, m_pBuf, fs, &rs, NULL );
if( fs == rs )
{
for( i = 0; i < rs; i++)
{
if(
}
}
}*/
}
void CIni::Close( void )
{
if(INVALID_HANDLE_VALUE != m_hFile)
CloseHandle( m_hFile );
m_hFile = INVALID_HANDLE_VALUE;
}
void CIni::WriteStr( LPCSTR pszSection, LPCSTR pszIdent, LPCSTR pszValue )
{
}
void CIni::WriteFloat( LPCSTR pszSection, LPCSTR pszIdent, float fValue )
{
}
void CIni::WriteInt( LPCSTR pszSection, LPCSTR pszIdent, int nValue )
{
}
void CIni::WriteDateTime( LPCSTR pszSection, LPCSTR pszIdent, SYSTEMTIME &pDateTime )
{
}
void CIni::RealStr( LPCSTR pszSection, LPCSTR pszIdent, LPCSTR pszValue )
{
}
float CIni::ReadFloat( LPCSTR pszSection, LPCSTR pszIdent )
{
return 0;
}
int CIni::ReadInt( LPCSTR pszSection, LPCSTR pszIdent )
{
return 0;
}
void CIni::ReadDateTime( LPCSTR pszSection, LPCSTR pszIdent, SYSTEMTIME &pDateTime )
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -