⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helpfunc.cpp

📁 一个SGIP网关的程序源码.vc代码
💻 CPP
字号:
// HelpFunc.cpp: implementation of the CHelpFunc class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "HelpFunc.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CHelpFunc::CHelpFunc()
{

}

CHelpFunc::~CHelpFunc()
{

}
// 根据时间字符串合成时间
time_t CHelpFunc::GetTimeFromString( LPCTSTR strTime )
{
	int n = strlen(strTime);
	char str[50];
	strcpy(str, strTime);
	char *p = str;

	int nYear, nMonth, nDay, nHour, nMin, nSec;
	nYear = 1900;
	nMonth = 1;
	nDay = 1;
	nHour = 0;
	nMin = 0;
	nSec = 0;
	if( n >= 4 )
	{
		*(p+4) = 0;
		nYear = atoi(p);
		p += 5;
		if( n >= 7 )
		{
			*(p+2) = 0;
			nMonth = atoi(p);
			p += 3;
			if( n >= 10 )
			{
				*(p+2) = 0;
				nDay = atoi(p);
				p += 3;
				if( n >= 13 )
				{
					*(p+2) = 0;
					nHour = atoi(p);
					p += 3;
					if( n >= 16 )
					{
						*(p+2) = 0;
						nMin = atoi(p);
						p += 3;
						if( n >= 19 )
						{
							*(p+2) = 0;
							nSec = atoi(p);
						}
					}
				}
			}
		}
	}
	CTime dt(nYear, nMonth, nDay, nHour, nMin, nSec);
	return dt.GetTime();
}
// 取时间字符串
CString CHelpFunc::GetTimeString(time_t dtTime)
{
	CTime dt(dtTime);
	return dt.Format("%Y-%m-%d %H:%M:%S");
}
// 取时间和日期字符串
CString CHelpFunc::GetTimeStringOnly(time_t dtTime)
{
	CTime dt(dtTime);
	return dt.Format("%H:%M:%S");
}
CString CHelpFunc::GetDateStringOnly(time_t dtTime)
{
	CTime dt(dtTime);
	return dt.Format("%Y-%m-%d");
}
// 取时间部分
int CHelpFunc::GetTimePart(time_t dtTime, int nType)
{
	CTime dt(dtTime);
	switch(nType)
	{
	case 'Y': return dt.GetYear();
	case 'M': return dt.GetMonth();
	case 'D': return dt.GetDay();
	case 'H': return dt.GetHour();
	case 'N': return dt.GetMinute();
	case 'S': return dt.GetSecond();
	}
	return 0;
}
// 判断是否是联通的手机
BOOL CHelpFunc::IsUnicomMobile(LPCTSTR strCallNumber)
{
	CString str = GetRealNumber(strCallNumber);
	int n = atoi(str.Mid(0,3));
	if( n >= 130 && n < 135 )
		return TRUE;
	return FALSE;
}
// 是否是联通CDMA手机
BOOL CHelpFunc::IsUnicomMobileCDMA(LPCTSTR strCallNumber)
{
	CString str = GetRealNumber(strCallNumber);
	int n = atoi(str.Mid(0,3));
	if( n == 133 )
		return TRUE;
	return FALSE;
}
// 是否是联通GSM
BOOL CHelpFunc::IsUnicomMobileGSM(LPCTSTR strCallNumber)
{
	CString str = GetRealNumber(strCallNumber);
	int n = atoi(str.Mid(0,3));
	if( n == 130 || n == 131 )
		return TRUE;
	return FALSE;
}
// 判断是否是手机
BOOL CHelpFunc::IsMobile(LPCTSTR strCallNumber)
{
	CString str = GetRealNumber( strCallNumber );
	if( str.Mid(0,2) == "13" )
		return TRUE;
	return FALSE;
}
// 判断是否是移动的手机
BOOL CHelpFunc::IsMobiMobile(LPCTSTR strCallNumber)
{
	CString str = GetRealNumber( strCallNumber );
	int n = atoi(str.Mid(0,3));
	if( n >= 135 && n <= 139 )
		return TRUE;
	return FALSE;
}
// 取实际的手机号(去掉86之类的前缀)
CString CHelpFunc::GetRealNumber(LPCTSTR strCallNumber)
{
	CString strNumber = strCallNumber;
	if( strNumber.GetLength() < 10 )
		return strNumber;
	if( strNumber.Mid(0, 2) == "86" )
		return strNumber.Mid(2);
	if( strNumber.Mid(0, 4) == "0086")
		return strNumber.Mid(4);
	return strNumber;
}
// 取应用程序的路径
CString CHelpFunc::GetAppPath()
{
	char strTmp[1024];

	memset(strTmp, 0, sizeof(strTmp));
	GetModuleFileName(AfxGetInstanceHandle(), strTmp, 1023);
	char *p = strTmp + strlen(strTmp);
	while(*p != '\\') p--;
	*(p+1) = 0;
	return CString((LPCTSTR)strTmp);
}
// 取应用程序的名称
CString CHelpFunc::GetAppName()
{
	char strTmp[1024];

	memset(strTmp, 0, sizeof(strTmp));
	GetModuleFileName(AfxGetInstanceHandle(), strTmp, 1023);
	char *p = strTmp + strlen(strTmp);
	while(*p != '\\')p--;

	return CString((LPCTSTR)(p+1));
}
// 取应用程序的名称带路径
CString CHelpFunc::GetAppNameWithPath()
{
	char strTmp[1024];

	memset(strTmp, 0, sizeof(strTmp));
	GetModuleFileName(AfxGetInstanceHandle(), strTmp, 1023);
	return CString((LPCTSTR)strTmp);
}
// 分解应用程序的名称
void CHelpFunc::ParseAppName(CString strAppName, CString &strName, CString &strExtName)
{
	CString str = GetAppName();

	int n = str.Find('.');
	
	strName = str.Mid(0, n);
	strExtName = str.Mid(n+1);
}
// 转换信令点编码
// 信令点编码格式:255.17.167
int CHelpFunc::PC2INT( LPCTSTR strPC )
{
	char str[50];
	if( *strPC == 0 )
		return 0;
	sprintf( str, "%s", strPC);
	char *p = str, *pe;
	int b1, b2, b3;

	pe = strchr(p, '.');
	*pe = 0;
	b1 = atoi(p);
	p = pe+1;
	pe = strchr(p, '.');
	*pe = 0;
	b2 = atoi(p);
	b3 = atoi(pe+1);

	return (b1<<16)+(b2<<8)+b3;
}
CString CHelpFunc::INT2PC( int nPC )
{
	CString str;
	str.Format("%d.%d.%d", (nPC&0xFF0000)>>16, (nPC&0xFF00)>>8, (nPC&0xFF));

	return str;
}
// 取临时文件名
CString CHelpFunc::GetTempRcdFile(int ch)
{
	CString str;
	str.Format("%svocTemp\\ch%d.voc", GetAppPath(), ch);
	
	return str;
}
// 是否是数字
BOOL CHelpFunc::IsDigit(unsigned char chr)
{
	if( chr >= '0' && chr <= '9' )
		return TRUE;
	return FALSE;
}
void CHelpFunc::DoSystemProcess()
{
	MSG msg;
	if( PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) )
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -