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