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

📄 serialconfig.cpp

📁 它是一个可以实时交互的嵌入式软件系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			AfxMessageBox("232error");
		}
		else
		{
			m_baud232sel.SetCurSel(GetBaudRateSel(rs232cfg.dwBaudRate));
			m_databit232sel.SetCurSel(GetDatabitSel(rs232cfg.byDataBit));
			m_stopbit232sel.SetCurSel(rs232cfg.byStopBit);
			m_checkbit232sel.SetCurSel(rs232cfg.byParity);
			m_flow232sel.SetCurSel(rs232cfg.byFlowcontrol);
			m_operatemodesel.SetCurSel(rs232cfg.dwWorkMode);
			if(rs232cfg.dwWorkMode == 0)
			{
				m_PPPmodesel.SetCurSel(rs232cfg.struPPPConfig.byPPPMode);
				m_dbmodesel.SetCurSel(rs232cfg.struPPPConfig.byRedialMode);
				m_bDialBack = rs232cfg.struPPPConfig.byRedial;
				m_bEncrypt = rs232cfg.struPPPConfig.byDataEncrypt;
				ZeroMemory(cTemp, 100);
				memcpy(cTemp, rs232cfg.struPPPConfig.sUsername, NAME_LEN);
				m_username.Format("%s", cTemp);
				ZeroMemory(cTemp, 100);
				memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
				m_userpsw.Format("%s", cTemp);
				ZeroMemory(cTemp, 100);
				memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
				m_verifypsw.Format("%s", cTemp);

				m_remoteIP = rs232cfg.struPPPConfig.sRemoteIP;
				m_localIP = rs232cfg.struPPPConfig.sLocalIP;
				m_IPmask = rs232cfg.struPPPConfig.sLocalIPMask;
				
				ZeroMemory(cTemp, 100);
				memcpy(cTemp, rs232cfg.struPPPConfig.sTelephoneNumber, PHONENUMBER_LEN);
				m_phoneNo.Format("%s", cTemp);
			}
			else if(rs232cfg.dwWorkMode == 1)
			{
				SwitchMode(FALSE);
			}
			else if(rs232cfg.dwWorkMode == 2)
			{
				SwitchMode(FALSE);
			}
			bGet232Serial = TRUE;
			GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE);
		}
//	}
		
	m_chlnosel.SetCurSel(m_nChanSel);
	m_copychlsel.SetCurSel(m_nChanSel);
//	pSerialCFG = this;
	UpdateData(FALSE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSerialConfig::OnApply232() 
{
	if (!UpdateData(TRUE))
	{
		return;
	}
	
	if(bGet232Serial)
	{		
		rs232cfg.dwSize = sizeof(NET_DEV_RS232CFG);
		rs232cfg.dwBaudRate = GetBaudRate(m_baud232sel.GetCurSel());
		rs232cfg.byDataBit = GetDatabit(m_databit232sel.GetCurSel());
		rs232cfg.byStopBit = m_stopbit232sel.GetCurSel();
		rs232cfg.byParity = m_checkbit232sel.GetCurSel();
		rs232cfg.byFlowcontrol = m_flow232sel.GetCurSel();
		rs232cfg.dwWorkMode = m_operatemodesel.GetCurSel();

		if(0 == m_operatemodesel.GetCurSel())
		{
			if(m_verifypsw != m_userpsw)
			{
				AfxMessageBox(MSG_SERIALCFG_PSWCHECKERROR);
				return ;
			}
			rs232cfg.struPPPConfig.byPPPMode = m_PPPmodesel.GetCurSel();
			rs232cfg.struPPPConfig.byRedialMode = m_dbmodesel.GetCurSel();
			rs232cfg.struPPPConfig.byRedial = (BYTE)m_bDialBack;
			rs232cfg.struPPPConfig.byDataEncrypt = (BYTE)m_bEncrypt;
			memcpy(rs232cfg.struPPPConfig.sUsername,m_username,NAME_LEN);
			memcpy(rs232cfg.struPPPConfig.sPassword, m_userpsw, PASSWD_LEN);
			memcpy(rs232cfg.struPPPConfig.sRemoteIP, m_remoteIP, 16);
			memcpy(rs232cfg.struPPPConfig.sLocalIP, m_localIP, 16);
			memcpy(rs232cfg.struPPPConfig.sLocalIPMask, m_IPmask, 16);
			memcpy(rs232cfg.struPPPConfig.sTelephoneNumber, m_phoneNo, PHONENUMBER_LEN);
		}
	}
//	bSetSerial232 = TRUE;
	if(!CLIENT_SetDevConfig(m_Device->LoginID, DEV_SET_RS232CFG, 0, &rs232cfg, sizeof(NET_DEV_RS232CFG)))
	{
		AfxMessageBox("rs232 config save failed!");	
		return;
	}
	
}

void CSerialConfig::OnSelchangeOperatemodesel() 
{
	char cTemp[100];
	if (!UpdateData(TRUE))
	{
		return;
	}
	int OperateSel = m_operatemodesel.GetCurSel();
	if(OperateSel == 0)
	{
		SwitchMode(TRUE);
		m_PPPmodesel.SetCurSel(rs232cfg.struPPPConfig.byPPPMode);
		m_dbmodesel.SetCurSel(rs232cfg.struPPPConfig.byRedialMode);
		m_bDialBack = rs232cfg.struPPPConfig.byRedial;
		m_bEncrypt = rs232cfg.struPPPConfig.byDataEncrypt;
		ZeroMemory(cTemp, 100);
		memcpy(cTemp, rs232cfg.struPPPConfig.sUsername, NAME_LEN);
		m_username.Format("%s", cTemp);
		ZeroMemory(cTemp, 100);
		memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
		m_userpsw.Format("%s", cTemp);
		ZeroMemory(cTemp, 100);
		memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
		m_verifypsw.Format("%s", cTemp);
		m_remoteIP = rs232cfg.struPPPConfig.sRemoteIP;
		m_localIP = rs232cfg.struPPPConfig.sLocalIP;
		m_IPmask = rs232cfg.struPPPConfig.sLocalIPMask;
		ZeroMemory(cTemp, 100);
		memcpy(cTemp, rs232cfg.struPPPConfig.sTelephoneNumber, PHONENUMBER_LEN);
		m_phoneNo.Format("%s", cTemp);
	}
	else if(OperateSel == 1)
	{
		SwitchMode(FALSE);
	}
	else if(OperateSel == 2)
	{
		SwitchMode(FALSE);
	}
}

void CSerialConfig::SwitchMode(BOOL bEnable)
{
	GetDlgItem(IDC_PPPMODESEL)->EnableWindow(bEnable);
	GetDlgItem(IDC_DBMODESEL)->EnableWindow(bEnable);
	GetDlgItem(IDC_USERNAME)->EnableWindow(bEnable);
	GetDlgItem(IDC_USERPSW)->EnableWindow(bEnable);
	GetDlgItem(IDC_VERIFYPSW)->EnableWindow(bEnable);
	GetDlgItem(IDC_REMOTEIP)->EnableWindow(bEnable);
	GetDlgItem(IDC_LOCALIP)->EnableWindow(bEnable);
	GetDlgItem(IDC_IPMASK)->EnableWindow(bEnable);
	GetDlgItem(IDC_PHONENO)->EnableWindow(bEnable);
	GetDlgItem(IDC_ENCRYPT_CHECK)->EnableWindow(bEnable);
	GetDlgItem(IDC_DIALBACK_CHECK)->EnableWindow(bEnable);
}

void CSerialConfig::OnApply485() 
{
	if (!UpdateData(TRUE))
	{
		return;
	}
	m_nChanSel = m_chlnosel.GetCurSel();
	if(bGet485Serial[m_nChanSel])
	{
		decodercfg[m_nChanSel].dwSize = sizeof(NET_DEV_DECODERCFG);
		decodercfg[m_nChanSel].dwBaudRate = GetBaudRate(m_baud485sel.GetCurSel());
		decodercfg[m_nChanSel].byDataBit = GetDatabit(m_databit485sel.GetCurSel());
		decodercfg[m_nChanSel].byStopBit = m_stopbit485sel.GetCurSel();
		decodercfg[m_nChanSel].byParity = m_checkbit485sel.GetCurSel();
		decodercfg[m_nChanSel].byFlowcontrol = m_flow485sel.GetCurSel();
		decodercfg[m_nChanSel].wDecoderType = m_decodetypesel.GetCurSel();
		decodercfg[m_nChanSel].wDecoderAddress = m_decodeAddress;
		TRACE("m_nChanSel = %d m_decodeaddr = %d", m_nChanSel, m_decodeAddress);
		bSetSerial485[m_nChanSel] = TRUE;
	}
	for(int i=0; i < int(m_Device->Info.byChanNum); i++)
	{
		if (bSetSerial485[m_nChanSel])
		{
			int m_nChanNum = i;
			if(!CLIENT_SetDevConfig(m_Device->LoginID, DEV_SET_DECODERCFG, m_nChanNum,&decodercfg[i], sizeof(NET_DEV_DECODERCFG)))
			{		
				AfxMessageBox("rs485 config save failed!");		
				return;
			}
		}	
	}
}

void CSerialConfig::OnSelchangeChlnosel() 
{
	m_nChanSel = m_chlnosel.GetCurSel();
	m_nChanNum = m_nChanSel;
	m_baud485sel.SetCurSel(decodercfg[m_nChanSel].dwBaudRate);
	m_databit485sel.SetCurSel(decodercfg[m_nChanSel].byDataBit);
	m_stopbit485sel.SetCurSel(decodercfg[m_nChanSel].byStopBit);
	m_checkbit485sel.SetCurSel(decodercfg[m_nChanSel].byParity);
	m_flow485sel.SetCurSel(decodercfg[m_nChanSel].byFlowcontrol);
	m_decodetypesel.SetCurSel(decodercfg[m_nChanSel].wDecoderType);
	m_decodeAddress = (BYTE)decodercfg[m_nChanSel].wDecoderAddress;

	UpdateData(FALSE);
}

void CSerialConfig::OnRestore232() 
{
CString sTemp;
	char cTemp[100];
	bGet232Serial = FALSE;

	if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_RS232CFG, 0, &rs232cfg, sizeof(NET_DEV_RS232CFG), &dwReturned))
	{
		AfxMessageBox("232error");
	}
	else
	{
		m_baud232sel.SetCurSel(rs232cfg.dwBaudRate);
		m_databit232sel.SetCurSel(rs232cfg.byDataBit);
		m_stopbit232sel.SetCurSel(rs232cfg.byStopBit);
		m_checkbit232sel.SetCurSel(rs232cfg.byParity);
		m_flow232sel.SetCurSel(rs232cfg.byFlowcontrol);
		m_operatemodesel.SetCurSel(rs232cfg.dwWorkMode);
		if(rs232cfg.dwWorkMode == 0)
		{
			m_PPPmodesel.SetCurSel(rs232cfg.struPPPConfig.byPPPMode);
			m_dbmodesel.SetCurSel(rs232cfg.struPPPConfig.byRedialMode);
			m_bDialBack = rs232cfg.struPPPConfig.byRedial;
			m_bEncrypt = rs232cfg.struPPPConfig.byDataEncrypt;
			ZeroMemory(cTemp, 100);
			memcpy(cTemp, rs232cfg.struPPPConfig.sUsername, NAME_LEN);
			m_username.Format("%s", cTemp);
			ZeroMemory(cTemp, 100);
			memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
			m_userpsw.Format("%s", cTemp);
			ZeroMemory(cTemp, 100);
			memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN);
			m_verifypsw.Format("%s", cTemp);

			m_remoteIP = rs232cfg.struPPPConfig.sRemoteIP;
			m_localIP = rs232cfg.struPPPConfig.sLocalIP;
			m_IPmask = rs232cfg.struPPPConfig.sLocalIPMask;
			
			ZeroMemory(cTemp, 100);
			memcpy(cTemp, rs232cfg.struPPPConfig.sTelephoneNumber, PHONENUMBER_LEN);
			m_phoneNo.Format("%s", cTemp);
		}
		else if(rs232cfg.dwWorkMode == 1)
		{
			SwitchMode(FALSE);
		}
		else if(rs232cfg.dwWorkMode == 2)
		{
			SwitchMode(FALSE);
		}
		bGet232Serial = TRUE;
		GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE);
	}
	UpdateData(FALSE);
}

void CSerialConfig::OnRestore485() 
{
	CString sTemp;
//	char cTemp[100];
	m_nChanSel = 0;
	m_nCopyChanNum = -1;
	m_copychlsel.ResetContent();
	m_chlnosel.ResetContent();	
	sTemp.Format(_T(NAME_SERIALCFG_ALLCHANNEL));
	m_copychlsel.AddString(sTemp);
	
	for(int i=0; i < m_Device->Info.byChanNum; i++)
	{
		bGet485Serial[i] = FALSE;
		bSetSerial485[i] = FALSE;
		sTemp.Format("%d", (i+1));
		sTemp = NAME_SERIALCFG_CHANNEL + sTemp;
		m_chlnosel.AddString(sTemp);
		m_copychlsel.AddString(sTemp);
		m_nChanNum = i;
	
		if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_DECODERCFG, m_nChanNum,&decodercfg[i], sizeof(NET_DEV_DECODERCFG), &dwReturned))
		{		
		AfxMessageBox("485 error");	
		}
		else
		{
			bGet485Serial[i] = TRUE;
		}

	}
	if(bGet485Serial[m_nChanSel])
	{
		m_nChanNum = m_nChanSel;
		m_baud485sel.SetCurSel(decodercfg[m_nChanSel].dwBaudRate);
		m_databit485sel.SetCurSel(decodercfg[m_nChanSel].byDataBit);
		m_stopbit485sel.SetCurSel(decodercfg[m_nChanSel].byStopBit);
		m_checkbit485sel.SetCurSel(decodercfg[m_nChanSel].byParity);
		m_flow485sel.SetCurSel(decodercfg[m_nChanSel].byFlowcontrol);
		m_decodetypesel.SetCurSel(decodercfg[m_nChanSel].wDecoderType);
		m_decodeAddress = (BYTE)decodercfg[m_nChanSel].wDecoderAddress;
		GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE);
		GetDlgItem(IDC_COPYOK)->EnableWindow(TRUE);
		GetDlgItem(IDC_APPLY485)->EnableWindow(TRUE);	
	}	
	
	m_chlnosel.SetCurSel(m_nChanSel);
	m_copychlsel.SetCurSel(m_nChanSel);
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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