📄 procsm.cpp
字号:
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 + -