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

📄 procsm.cpp

📁 用VC写的监控中心后台程序。 代码全
💻 CPP
📖 第 1 页 / 共 3 页
字号:
void CProcSM::HoseChangePassWord()
{	
	CComUserDlg dlg;
	CString		strPassOriginal;
	dlg.m_strPassWordOriginal = "123456";
	dlg.m_strCommUserPassWord = "123456";
	CString m_strToSend = "";
	if(dlg.DoModal() == IDOK)
	{
		strPassOriginal = dlg.m_strPassWordOriginal;
		strCommonUserPassWord.Empty();
		m_sVehicleNumber.Empty();
		m_sVehicleNumber = dlg.m_strVehicleTelno;
		m_sVehicleNumber = m_sVehicleNumber.Right(11);
		strCommonUserPassWord = dlg.m_strCommUserPassWord;
		int a =AfxMessageBox("普通用户密码设定为:"+ strCommonUserPassWord+ " 确定吗?",MB_YESNO);
		if(a == IDYES)
		{
			m_strToSend = strPassOriginal+USERCHANGEPASS+strCommonUserPassWord+"#";
			SetMessageType(m_sVehicleNumber,m_strToSend);
		}
	}
}

void CProcSM::SelectUserType()
{
	CUserTypeDlg	dlg(m_nUserType);

	if(dlg.DoModal() == IDOK) {
		m_nUserType = dlg.m_nUserType;
	}
}

//the center auto monitor the vehicle
void CProcSM::AutoMonitor(CString strItemText)
{
	CMainFrame			*pMainFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CChooseTimeDlg		TimeDlg;
	CMonitorDlg			dlg;
	CString				strToSend;
	bool				Flag;

	if(pMainFrame == NULL)	return;

	Flag = pMainFrame->m_wndTree1.GetCarPhoneAndPassword();

	if(m_nUserType == 0)
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);
				strToSend  = AUTOMONITOR;
				strToSend += dlg.m_strMonitorTimeSpan;
				strToSend += '#';
				
				SetMessageType(m_sVehicleNumber,strToSend);

				if(!m_sCurrMonitorCar.IsEmpty()) {
					m_sCurrMonitorCar = m_sVehicleNumber;
				}
			}
			else {
				if(TimeDlg.DoModal() == IDCANCEL)	return;

				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				strToSend  = AUTOMONITOR;
				strToSend += TimeDlg.m_strMonitorTimeSpan;
				strToSend += '#';
				
				SetMessageType(m_sVehicleNumber,strToSend);

				if(!m_sCurrMonitorCar.IsEmpty()) {
					m_sCurrMonitorCar = m_sVehicleNumber;
				}
			}
		}
		else {
			CClientinfoSet		cSet;

			if(TimeDlg.DoModal() == IDCANCEL)	return;

			cSet.FindCarPswAndNO(strItemText,m_sVehicleNumber,m_strPassWord);
			strToSend  = AUTOMONITOR;
			strToSend += TimeDlg.m_strMonitorTimeSpan;
			strToSend += '#';
				
			SetMessageType(m_sVehicleNumber,strToSend);

			if(!m_sCurrMonitorCar.IsEmpty()) {
				m_sCurrMonitorCar = m_sVehicleNumber;
			}
		}
	}
	else
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;

				CClientinfoSet		cSet;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);

				m_strPassWord	 = cSet.GetPassword(m_sVehicleNumber);
				m_strPassWord	+= AUTOMONITOR;
				m_strPassWord	+= dlg.m_strMonitorTimeSpan;
				m_strPassWord	+= '#';
				SetMessageType(m_sVehicleNumber,m_strPassWord);

				if(!m_sCurrMonitorCar.IsEmpty()) {
					m_sCurrMonitorCar = m_sVehicleNumber;
				}
			}
			else {
				if(TimeDlg.DoModal() == IDCANCEL)	return;

				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				m_strPassWord    = pMainFrame->m_wndTree1.m_strPassWord;
				m_strPassWord	+= AUTOMONITOR;
				m_strPassWord	+= TimeDlg.m_strMonitorTimeSpan;
				m_strPassWord	+= '#';
				SetMessageType(m_sVehicleNumber,m_strPassWord);

				if(!m_sCurrMonitorCar.IsEmpty()) {
					m_sCurrMonitorCar = m_sVehicleNumber;
				}
			}
		}
		else {
			CClientinfoSet		cSet;

			if(TimeDlg.DoModal() == IDCANCEL)	return;

			cSet.FindCarPswAndNO(strItemText,m_sVehicleNumber,m_strPassWord);
			m_strPassWord	+= AUTOMONITOR;
			m_strPassWord	+= TimeDlg.m_strMonitorTimeSpan;
			m_strPassWord	+= '#';
			SetMessageType(m_sVehicleNumber,m_strPassWord);

			if(!m_sCurrMonitorCar.IsEmpty()) {
				m_sCurrMonitorCar = m_sVehicleNumber;
			}
		}
	}
}

//取消监控
void CProcSM::CanceLautoMonitor(CString strItemText)
{
	CMainFrame			*pMainFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; 
	CDlgAsCenterDlg		dlg;
	CString				sVehicleNumber;
	bool				Flag;

	if(pMainFrame == NULL)	return;

	Flag = pMainFrame->m_wndTree1.GetCarPhoneAndPassword();

	if(m_nUserType == 0)
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);
				SetMessageType(m_sVehicleNumber,CANCELAUTOMONITOR);

				if(m_sCurrMonitorCar == strItemText) {
					m_sCurrMonitorCar.Empty();
				}
			}
			else {
				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				SetMessageType(m_sVehicleNumber,CANCELAUTOMONITOR);

				if(m_sCurrMonitorCar == strItemText) {
					m_sCurrMonitorCar.Empty();
				}
			}
		}
		else {
			CClientinfoSet		cSet;

			cSet.FindCarPswAndNO(strItemText,sVehicleNumber,m_strPassWord);
			SetMessageType(sVehicleNumber,CANCELAUTOMONITOR);

			if(m_sCurrMonitorCar == strItemText) {
				m_sCurrMonitorCar.Empty();
			}
		}
	}
	else
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;
				CClientinfoSet		cSet;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);

				m_strPassWord	 = cSet.GetPassword(m_sVehicleNumber);
				m_strPassWord	+= CANCELAUTOMONITOR;
				SetMessageType(m_sVehicleNumber,m_strPassWord);

				if(m_sCurrMonitorCar == strItemText) {
					m_sCurrMonitorCar.Empty();
				}
			}
			else {
				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				m_strPassWord    = pMainFrame->m_wndTree1.m_strPassWord;
				m_strPassWord	+= CANCELAUTOMONITOR;
				SetMessageType(m_sVehicleNumber,m_strPassWord);

				if(m_sCurrMonitorCar == strItemText) {
					m_sCurrMonitorCar.Empty();
				}
			}
		}
		else {
			CClientinfoSet		cSet;

			cSet.FindCarPswAndNO(strItemText,sVehicleNumber,m_strPassWord);
			m_strPassWord	+= CANCELAUTOMONITOR;
			SetMessageType(sVehicleNumber,m_strPassWord);

			if(m_sCurrMonitorCar == strItemText) {
				m_sCurrMonitorCar.Empty();
			}
		}
	}
}

void CProcSM::GetHelp(CString strItemText)
{
	CMainFrame			*pMainFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; 
	CDlgAsCenterDlg		dlg;
	bool				Flag;

	if(pMainFrame == NULL)	return;

	Flag = pMainFrame->m_wndTree1.GetCarPhoneAndPassword();

	if(m_nUserType == 0)
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);
				SetMessageType(m_sVehicleNumber,GETHELP);
			}
			else {
				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				SetMessageType(m_sVehicleNumber,GETHELP);
			}
		}
		else {
			CClientinfoSet		cSet;

			cSet.FindCarPswAndNO(strItemText,m_sVehicleNumber,m_strPassWord);
			SetMessageType(m_sVehicleNumber,GETHELP);
		}
	}
	else
	{
		if(strItemText.IsEmpty()) {
			if(!Flag) {
				if(dlg.DoModal() == IDCANCEL)	return;
				CClientinfoSet		cSet;

				m_sVehicleNumber = dlg.m_strVehicleNo;
				m_sVehicleNumber = m_sVehicleNumber.Right(11);

				m_strPassWord	 = cSet.GetPassword(m_sVehicleNumber);
				m_strPassWord	+= GETHELP;
				SetMessageType(m_sVehicleNumber,m_strPassWord);
			}
			else {
				m_sVehicleNumber = pMainFrame->m_wndTree1.m_strCarPhone;
				m_strPassWord    = pMainFrame->m_wndTree1.m_strPassWord;
				m_strPassWord	+= GETHELP;
				SetMessageType(m_sVehicleNumber,m_strPassWord);
			}
		}
		else {
			CClientinfoSet		cSet;

			cSet.FindCarPswAndNO(strItemText,m_sVehicleNumber,m_strPassWord);
			m_strPassWord	+= GETHELP;
			SetMessageType(m_sVehicleNumber,m_strPassWord);
		}
	}
}

BOOL CProcSM::CheckMonitorCar()
{
	if(m_sCurrMonitorCar.IsEmpty())	return TRUE;

	return FALSE;
}

void CProcSM::SetMonitorCar(CString VehicleID)
{
	m_sCurrMonitorCar = VehicleID;
}

WORD CProcSM::GetUnicodeFromTable(WORD wGB)
{
	WORD		wUnicode = 0;
	long		i;

	for(i = 0; i < UnicodeTable_Len; i++) {
		if(wGB == UnicodeTable[i][0]) {
			wUnicode = UnicodeTable[i][1];
			break;
		}
	}

	return wUnicode;
}

WORD CProcSM::GetAnsiFromTable(WORD lTemp)
{
	WORD		wAnsi = 0;
	long		i;

	for(i = 0; i < UnicodeTable_Len; i++) {
		if(lTemp == UnicodeTable[i][1]) {
			wAnsi = UnicodeTable[i][0];
			break;
		}
	}

	return wAnsi;
}

CString CProcSM::AnsiStr2UnicodeStr(CString sAnsiStr)
{
	CString		sRet(""),Str;
	WORD		w;
	BYTE		Len,chr,pos = 0;

	Len = sAnsiStr.GetLength();
	while(pos < Len) {
		chr = (BYTE)sAnsiStr.GetAt(pos);
		if(chr < 0x80) {				//作ASCII处理
			w = (WORD)chr;
			pos++;
		}
		else {							//作汉字处理
			w  = (WORD)((chr << 8) + (BYTE)sAnsiStr.GetAt(pos + 1));
			w -= 0x8080;
			w  = GetUnicodeFromTable(w);

			pos += 2;
			if(w == 0) {
				continue;
			}
		}
		Str.Format("%04x",w);
		sRet += Str;
	}

	return sRet;
}

CString CProcSM::UnicodeStr2AnsiStr(CString UnicodeStr)
{
	CString		sRet(""),Str;
	BYTE		Len,i;
	BYTE		arr[3];
	WORD		lTemp;

	arr[2] = 0;
	Len = UnicodeStr.GetLength();
	for(i = 0; i < Len; i += 4) {
		Str = GetLenStr(UnicodeStr,i,4);
		lTemp = (WORD)LongNEtoLong(Str);
		if(lTemp < 0x80) {
			Str.Format("%c",lTemp);
		}
		else {
			lTemp  = GetAnsiFromTable(lTemp);
			lTemp += 0x8080;
			arr[1] = (BYTE)(lTemp &  0x00ff);
			arr[0] = (BYTE)(lTemp >> 8);
			Str = arr;
		}
		sRet += Str;
	}

	return sRet;
}

long CProcSM::LongNEtoLong(CString LongNE)
{
	CString		TmpStr;
	BYTE		j,Len,tmp,Count = 0;
	long		Ret = 0,lTmp;
	char		i,chr;

	LongNE = "0x" + LongNE;

	Len = LongNE.GetLength();
	if(Len <= 2)	return Ret;
	LongNE = LongNE.Right(Len - 2);

	for(i = Len - 2 - 1; i > -1; i--) {
		chr = LongNE.GetAt(i);
		tmp = CharToNum(chr);
		for(lTmp = 1,j = 0; j < Count; j++){
			lTmp *= 16;
		}
		Ret += (tmp * lTmp);
		Count++;
	}

	return Ret;
}

BYTE CProcSM::CharToNum(char chr)
{
	BYTE	Ret = 0;
	switch(chr) {
	case 'A':
	case 'a':
		Ret = 10;
		break;
	case 'B':
	case 'b':
		Ret = 11;
		break;
	case 'C':
	case 'c':
		Ret = 12;
		break;
	case 'D':
	case 'd':
		Ret = 13;
		break;
	case 'E':
	case 'e':
		Ret = 14;
		break;
	case 'F':
	case 'f':
		Ret = 15;
		break;
	default:
		Ret = (BYTE)(chr - '0');
	}

	return Ret;
}

void CProcSM::DeleteTheMonitorVehicle(CString sVehicleID)
{
	POSITION		pos,SavePos;
	CString			sVehicle;

	pos = m_lCurrMonitorVehicle.GetHeadPosition();
	while(pos != NULL) {
		SavePos = pos;
		sVehicle = m_lCurrMonitorVehicle.GetNext(pos);
		if(sVehicle == sVehicleID) {
			m_lCurrMonitorVehicle.RemoveAt(SavePos);

//			CMainFrame *pMainFrm	= (CMainFrame*)AfxGetApp()->m_pMainWnd;
//			pMainFrm->EditTreeItem(sVehicleID,false);
			break;
		}
	}
}

void CProcSM::AddTheMonitorVehicle(CString sVehicleID)
{
	if(sVehicleID.IsEmpty())	return;
	POSITION		pos;
	CString			sVehicle;

	pos = m_lCurrMonitorVehicle.GetTailPosition();
	while(pos != NULL) {
		sVehicle = m_lCurrMonitorVehicle.GetPrev(pos);
		if(sVehicle == sVehicleID) {
			return;
		}
	}
	m_lCurrMonitorVehicle.AddHead(sVehicleID);

//	CMainFrame *pMainFrm	= (CMainFrame*)AfxGetApp()->m_pMainWnd;
//	pMainFrm->EditTreeItem(sVehicleID,true);
}

bool CProcSM::CheckVehicleMonitorNow(CString sVehicleID)
{
	if(m_lCurrMonitorVehicle.GetCount() == 0) {
		AddTheMonitorVehicle(sVehicleID);
		return true;
	}

	POSITION		pos;
	CString			sVehicle;

	pos = m_lCurrMonitorVehicle.GetHeadPosition();
	while(pos != NULL) {
		sVehicle = m_lCurrMonitorVehicle.GetNext(pos);
		if(sVehicle == sVehicleID) {
			return true;
		}
	}

	return false;
}

⌨️ 快捷键说明

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