📄 groupstation.cpp
字号:
if(!ReadFile(hFile,&m_GroupStation,sizeof(GROUPSTATION),&dwRead,NULL))
MessageBox("句柄无效!","错误",MB_ICONERROR);
CloseHandle(hFile);
if(m_GroupStation.Head != 0x55) //m_GroupStation中的数据是否有效
{
MessageBox("文件数据格式不对!","太失败了",MB_ICONERROR);
return;
}
WORD wtemp=m_GroupStation.Alarm_Ring_Delay;
m_GroupStation.Alarm_Ring_Delay =(LOBYTE(wtemp)<<8)+HIBYTE(wtemp);
SetComboCheck(&m_GroupStation);
}
void CGroupStation::OnSavetofile()
{
char szFilter[100] = "参数文件 (*.prm)|*.prm|rom文件 (*.rom)|*.rom|所有文件 (*.*)|*.*||";
CMainFrame *pMainWnd = (CMainFrame *)AfxGetMainWnd();
CFileDialog FileSaveDlg(FALSE,"*.prm","Group",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
FileSaveDlg.m_ofn.lpstrTitle = "保存报警控制器参数文件";
if(FileSaveDlg.DoModal() != IDOK) return;
DWORD dwWritten = 0;
HANDLE hFile = INVALID_HANDLE_VALUE;
hFile = CreateFile(FileSaveDlg.GetFileName(),GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(!WriteFile(hFile,&m_GroupStation,sizeof(GROUPSTATION),&dwWritten,NULL))
MessageBox("无法存盘!","失败了",MB_ICONERROR);
CloseHandle(hFile);
}
//双字的高低字节位置转换
DWORD CGroupStation::Long_byte_trans(DWORD dwtrans)
{
DWORD dwtemp;
dwtemp=((dwtrans & 0xFF) << 24)+((dwtrans & 0xFF00) << 8)+((dwtrans & 0xFF0000) >> 8)+((dwtrans & 0xFF000000) >> 24);
return dwtemp;
}
void CGroupStation::OnDestroy()
{
CDialog::OnDestroy();
m_GroupStation.Head = 0;//让内存的数据不合格,下次不再显示
}
void CGroupStation::InformationDesplay(BYTE result_flag)
{
switch(result_flag)
{
case ALARMER_DOWNLOAD_FAIL:
m_Information.SetWindowText(CString("下装参数失败!"));
break;
case ALARMER_DOWNLOAD_SUCCESS:
m_Information.SetWindowText(CString("下装参数成功!"));
break;
case ALARMER_UPLOAD_FAIL:
m_Information.SetWindowText(CString("上装参数失败!"));
break;
case ALARMER_UPLOAD_SUCCESS:
m_Information.SetWindowText(CString("上装参数正确!"));
break;
default:
m_Information.SetWindowText(CString(""));
break;
}
}
int CGroupStation::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
((CMainFrame*)AfxGetMainWnd())->CallAlarmer();
// InformationDesplay(ALARMER_UPLOAD_FAIL);
return 0;
}
void CGroupStation::GetAlarmEnable()
{
UINT nChecked = 0;
//第几 路报警输入允许
nChecked = IsDlgButtonChecked(IDC_CHECK_YX1);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x01;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFFE;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX2);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x02;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFFD;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX3);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x04;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFFB;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX4);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x08;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFF7;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX5);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x10;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFEF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX6);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x20;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFDF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX7);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x40;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFFBF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX8);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x80;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFF7F;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX9);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x0100;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFEFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX10);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x0200;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFDFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX11);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x0400;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFFBFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX12);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x0800;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFF7FF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX13);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x1000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFEFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX14);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x2000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFDFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX15);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x4000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFFBFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX16);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x8000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFF7FFF;
//17
nChecked = IsDlgButtonChecked(IDC_CHECK_YX17);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x010000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFEFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX18);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x020000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFDFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX19);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x040000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFFBFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX20);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x080000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFF7FFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX21);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x100000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFEFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX22);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x200000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFDFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX23);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x400000;
else
m_GroupStation.Alarm32s_Enable &= 0xFFBFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX24);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x800000;
else
m_GroupStation.Alarm32s_Enable &= 0xFF7FFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX25);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x01000000;
else
m_GroupStation.Alarm32s_Enable &= 0xFEFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX26);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x02000000;
else
m_GroupStation.Alarm32s_Enable &= 0xFDFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX27);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x04000000;
else
m_GroupStation.Alarm32s_Enable &= 0xFBFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX28);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x08000000;
else
m_GroupStation.Alarm32s_Enable &= 0xF7FFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX29);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x10000000;
else
m_GroupStation.Alarm32s_Enable &= 0xEFFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX30);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x20000000;
else
m_GroupStation.Alarm32s_Enable &= 0xDFFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX31);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x40000000;
else
m_GroupStation.Alarm32s_Enable &= 0xBFFFFFFF;
nChecked = IsDlgButtonChecked(IDC_CHECK_YX32);
if(nChecked)
m_GroupStation.Alarm32s_Enable |= 0x80000000;
else
m_GroupStation.Alarm32s_Enable &= 0x7FFFFFFF;
DWORD dwtemp = m_GroupStation.Alarm32s_Enable;
for (int i = 0; i < 32; i++)
{
Alarm_Enable[i] = dwtemp&0x01;
dwtemp>>=1;
}
}
void CGroupStation::OnSelchangeList1()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List1.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List1.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList2()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List2.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List2.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList3()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List3.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List3.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList4()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List4.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List4.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList5()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List5.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List5.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList6()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List6.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List6.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList7()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List7.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List7.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList8()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List8.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List8.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList9()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List9.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List9.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList10()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List10.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List10.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList11()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List11.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List11.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList12()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List12.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List12.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList13()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List13.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List13.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList14()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List14.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List14.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList15()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List15.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List15.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList16()
{
UINT nChecked = 0;
int i;
GetAlarmEnable();
i=m_List16.GetCaretIndex();
if (!Alarm_Enable[i+1])
{
m_List16.SetSel(i,0);
MessageBox("请选择允许报警(√)的报警输入号!","选择错误",MB_ICONERROR);
}
}
void CGroupStation::OnSelchangeList17()
{
UINT nChe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -