📄 misc.cpp
字号:
(pStr[i] == ':') || (pStr[i] == '*') || (pStr[i] == '?') || (pStr[i] == '!') ||
(pStr[i] == '$') || (pStr[i] == '|') || (pStr[i] == '"') || (pStr[i] == '\'') ||
(pStr[i] == '<') || (pStr[i] == '>') || (pStr[i] == '@') || (pStr[i] == '#') ||
(pStr[i] == '%') || (pStr[i] == '^') || (pStr[i] == '(') || (pStr[i] == ')') ||
(pStr[i] == '&') || (pStr[i] == '_') || (pStr[i] == ' ') || (pStr[i] == '`') ||
(pStr[i] == '{') || (pStr[i] == '}') || (pStr[i] == ';') || (pStr[i] == '-') ||
(pStr[i] == '+') || (pStr[i] == ']') || (pStr[i] == '[') || (pStr[i] == '~'))
return FALSE;
}
return TRUE;
}
#elif DEF_LANGUAGE == 2
BOOL CMisc::bCheckValidName(char *pStr)
{
int i, iLen;
iLen = strlen(pStr);
for (i = 0; i < iLen; i++) {
// 漂荐 巩磊啊 甸绢啊 乐绰 版快 芭何
if( (unsigned char)pStr[i] >= 0xa1 && (unsigned char)pStr[i] <= 0xa9 )
{
if ( (unsigned char)pStr[i] >= 0xa1 && (unsigned char)pStr[i] <=0xa7 )
{
if ( (unsigned char)pStr[i+1] >= 0xa1) return FALSE;
}
else
{
return FALSE;
}
i++;
}else if ( (pStr[i] == ',') || (pStr[i] == '=') || (pStr[i] == '\n') ||
(pStr[i] == '\t') || (pStr[i] == '.') || (pStr[i] == '\\') || (pStr[i] == '/') ||
(pStr[i] == ':') || (pStr[i] == '*') || (pStr[i] == '?') || (pStr[i] == '!') ||
(pStr[i] == '$') || (pStr[i] == '|') || (pStr[i] == '"') || (pStr[i] == '\'') ||
(pStr[i] == '<') || (pStr[i] == '>') || (pStr[i] == '@') || (pStr[i] == '#') ||
(pStr[i] == '%') || (pStr[i] == '^') || (pStr[i] == '(') || (pStr[i] == ')') ||
(pStr[i] == '&') || (pStr[i] == '_') || (pStr[i] == ' ') || (pStr[i] == '`') ||
(pStr[i] == '{') || (pStr[i] == '}') || (pStr[i] == ';') || (pStr[i] == '-') ||
(pStr[i] == '+') || (pStr[i] == ']') || (pStr[i] == '[') || (pStr[i] == '~'))
return FALSE;
}
return TRUE;
}
#elif DEF_LANGUAGE == 4
BOOL CMisc::bCheckValidName(char *pStr)
{
int i, iLen;
iLen = strlen(pStr);
for (i = 0; i < iLen; i++) {
if ( pStr[i] < 0 ) return FALSE;
#ifndef DEF_FUCK_USA
// 漂荐 巩磊啊 甸绢啊 乐绰 版快 芭何
if ( (pStr[i] == ',') || (pStr[i] == '=') || (pStr[i] == ' ') || (pStr[i] == '\n') ||
(pStr[i] == '\t') || (pStr[i] == '.') || (pStr[i] == '\\') || (pStr[i] == '/') ||
(pStr[i] == ':') || (pStr[i] == '*') || (pStr[i] == '?') || (pStr[i] == '<') ||
(pStr[i] == '>') || (pStr[i] == '|') || (pStr[i] == '"') || (pStr[i] == '`') ) return FALSE;
//固惫 辑厚胶侩篮 坷流 康巩磊父 荤侩 啊瓷.
#else
// 漂荐 巩磊啊 甸绢啊 乐绰 版快 芭何
if ( (pStr[i] == ',') || (pStr[i] == '=') || (pStr[i] == ' ') || (pStr[i] == '\n') ||
(pStr[i] == '\t') || (pStr[i] == '.') || (pStr[i] == '\\') || (pStr[i] == '/') ||
(pStr[i] == ':') || (pStr[i] == '*') || (pStr[i] == '?') || (pStr[i] == '<') ||
(pStr[i] == '>') || (pStr[i] == '|') || (pStr[i] == '"') || (pStr[i] == '`') ||
(pStr[i] == ';') || (pStr[i] == '=') || (pStr[i] == '@') || (pStr[i] == '[') ||
(pStr[i] == ']') || (pStr[i] == '^') || (pStr[i] == '_') || (pStr[i] == '\'') ) return FALSE;
if( (pStr[i] < '0') || (pStr[i] > 'z')) return FALSE;
#endif
}
return TRUE;
}
#elif DEF_LANGUAGE == 5
BOOL CMisc::bCheckValidName(char *pStr)
{
int i, iLen;
iLen = strlen(pStr);
for (i = 0; i < iLen; i++) {
// 漂荐 巩磊啊 甸绢啊 乐绰 版快 芭何
if ( (pStr[i] == ',') || (pStr[i] == '=') || (pStr[i] == ' ') || (pStr[i] == '\n') ||
(pStr[i] == '\t') || (pStr[i] == '.') || (pStr[i] == '\\') || (pStr[i] == '/') ||
(pStr[i] == ':') || (pStr[i] == '*') || (pStr[i] == '?') || (pStr[i] == '<') ||
(pStr[i] == '>') || (pStr[i] == '|') || (pStr[i] == '"') || (pStr[i] == '`') ) return FALSE;
}
return TRUE;
}
#endif
int CMisc::_iGetFileCheckSum(char * pFn)
{
HANDLE hFile;
FILE * pFile;
DWORD dwFileSize;
char * pContents;
int iCheckSum, iV1, iV2, iV3;
UINT i;
char cRealFn[512];
// 颇老 捞抚捞 鞠龋拳 登绢 乐促.
ZeroMemory(cRealFn, sizeof(cRealFn));
strcpy(cRealFn, pFn);
for (i = 0; i < strlen(cRealFn); i++)
if (cRealFn[i] != NULL) cRealFn[i]++;
hFile = CreateFile(cRealFn, GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);//CreateFile(cRealFn, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
dwFileSize = GetFileSize(hFile, NULL);
CloseHandle(hFile);
if (hFile == INVALID_HANDLE_VALUE) {
return 0;
}
pFile = fopen(cRealFn, "rb");
if (pFile == NULL) return 0;
else {
pContents = new char[dwFileSize+1];
ZeroMemory(pContents, dwFileSize+1);
fread(pContents, 1, dwFileSize, pFile);
fclose(pFile);
}
iCheckSum = 0;
iV1 = (int)pContents[dwFileSize/2];
iV2 = (int)pContents[dwFileSize/2 - (dwFileSize/2)/2];
iV3 = (int)pContents[dwFileSize/2 + (dwFileSize/2)/2];
iCheckSum = iV1+iV2+iV3;
delete[] pContents;
return abs(iCheckSum);
}
BOOL CMisc::_iConvertFileXor(char *pFn, char * pDestFn, char cKey)
{
HANDLE hFile;
DWORD dwFileSize;
FILE * pFile;
char * pContents;
int i;
// 眉农侩 庆歹 贸府..mando
char pHeader[10];
char cHeaderKey = 20;
// 拳老阂矾坷扁..(荤捞令眉农)
hFile = CreateFile(pFn, GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
// 庆歹 猾 唱赣瘤 拳老 荤捞令..
dwFileSize = GetFileSize(hFile, NULL) - 10;
if (hFile != INVALID_HANDLE_VALUE) CloseHandle(hFile);
// 拳老 郴侩阂矾坷扁..
pFile = fopen(pFn, "rt");
if (pFile == NULL)
return FALSE;
// 拳老荤捞令父怒 佬绢坷扁..
pContents = new char[dwFileSize+1];
ZeroMemory(pContents, dwFileSize+1);
// 庆歹 阂矾坷扁..
ZeroMemory(pHeader, 10);
fread(pHeader, 10, 1, pFile);
// 郴侩 阂矾坷扁..
fread(pContents, dwFileSize, 1, pFile);
fclose(pFile);
// 郴侩 XOR 利侩..
for (i = 0; i < (int)(dwFileSize); i++)
pContents[i] = pContents[i] ^ cKey;
// 历厘拳老 父甸扁..
pFile = fopen(pDestFn, "wt");
if (pFile == NULL) {
delete[] pContents;
return FALSE;
}
//======================================= mando..
// 郴侩 XOR 利侩..
i = 0;
while(pHeader[i])
{
pHeader[i] = pHeader[i] ^ cHeaderKey;
i++;
}
// 庆歹客 单捞磐 荤捞令 眉农..
if(atoi(pHeader) != (int)(dwFileSize))
return FALSE;
// 郴侩 历厘
fwrite(pContents, dwFileSize, 1, pFile);
fclose(pFile);
delete pContents;
return TRUE;
}
int CMisc::iGetTextLengthLoc(HDC hDC, char *pStr, int iLength)
{
int i;
BOOL bFlag;
SIZE Size;
int len = strlen(pStr);
i = 0;
bFlag = FALSE;
while (bFlag == FALSE) {
if (i > len) return 0;
i++;
GetTextExtentPoint32(hDC, pStr, i, &Size);
if (Size.cx > iLength) bFlag = TRUE;
}
return i;
}
#if DEF_LANGUAGE == 2
BOOL CMisc::bIsValidSSN(char *pStr)
{
int len = strlen(pStr);
if( len != 15 && len != 18 ) return FALSE;
char cTemp[19];
ZeroMemory( cTemp, sizeof(cTemp) );
memcpy( cTemp, pStr, 18 );
for( int a=0 ; a<len ; a++ )
{
if( cTemp[a] < 0 ) return FALSE;
}
if( len == 15 )
{
char birth[6];
ZeroMemory( birth, sizeof(birth) );
memcpy( birth, pStr+6, 6 );
for( int i=0; i<6 ; i++ )
{
if( birth[i] > 57 || birth[i] < 48 ) return FALSE;
}
char strMonth[3];
ZeroMemory( strMonth, sizeof(strMonth) );
memcpy( strMonth, birth+2, 2 );
int iMonth = atoi( strMonth );
if( iMonth < 0 || iMonth > 12 )
{
return FALSE;
}
char strDay[3];
ZeroMemory( strDay, sizeof(strDay) );
memcpy( strDay, birth+4, 2 );
int iDay = atoi( strDay );
if( iDay < 0 || iDay > 31 ) return FALSE;
}
else if( len == 18 )
{
char birth[8];
ZeroMemory( birth, sizeof(birth) );
memcpy( birth, pStr+6, 8 );
for( int i=0; i<8 ; i++ )
{
if( birth[i] > 57 || birth[i] < 48 ) return FALSE;
}
char strMonth[3];
ZeroMemory( strMonth, sizeof(strMonth) );
memcpy( strMonth, birth+4, 2 );
int iMonth = atoi( strMonth );
if( iMonth < 0 || iMonth > 12 ) return FALSE;
char strDay[3];
ZeroMemory( strDay, sizeof(strDay) );
memcpy( strDay, birth+6, 2 );
int iDay = atoi( strDay );
if( iDay < 0 || iDay > 31 ) return FALSE;
}
else return FALSE;
return TRUE;
}
#else
BOOL CMisc::bIsValidSSN(char *pStr)
{
int a, b, c, d, e, f, g, h, i, j, k, l, m, X, Y;
if (strlen(pStr) < 14) return FALSE;
a = pStr[0] - 48;
b = pStr[1] - 48;
c = pStr[2] - 48;
d = pStr[3] - 48;
e = pStr[4] - 48;
f = pStr[5] - 48;
g = pStr[7] - 48;
h = pStr[8] - 48;
i = pStr[9] - 48;
j = pStr[10] - 48;
k = pStr[11] - 48;
l = pStr[12] - 48;
m = pStr[13] - 48;
X = (a*2) + (b*3) + (c*4) + (d*5) + (e*6) + (f*7) + (g*8) + (h*9) + (i*2) + (j*3) + (k*4) + (l*5);
Y = X % 11;
Y = 11 - Y;
if (Y >= 10) Y = Y - 10;
if (Y != m) return FALSE;
return TRUE;
}
#endif
BOOL CMisc::bIsValidEmail(char *pStr)
{
int len = strlen( pStr );
if( len < 7 ) return FALSE;
char cEmail[52];
ZeroMemory( cEmail, sizeof(cEmail) );
memcpy( cEmail, pStr, len );
BOOL bFlag = FALSE;
for( int i=0 ; i<len ; i++ )
{
if( cEmail[i] == '@' ) bFlag = TRUE;
}
if( bFlag == FALSE ) return FALSE;
bFlag = FALSE;
for( i=0 ; i<len ; i++ )
{
if( cEmail[i] == '.' ) bFlag = TRUE;
}
if( bFlag == FALSE ) return FALSE;
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -