📄 remotealarmconfig.cpp
字号:
dlg.m_iChannelnumber = m_iChannelnumber;
dlg.m_lStartChannel = m_lStartChannel;
if(dlg.DoModal()==IDOK)
{
bSetAlarmParams = TRUE;
}
}
void CRemoteAlarmConfig::OnIncopy()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int i;
int m_nCopyAlarm = m_CopyInCtrl.GetCurSel() - 1;
m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn;
m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel();
memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN);
if(m_nCopyAlarm == -1)
{
for(i=0; i<(int)m_dwAlarmInNum; i++)
{
if(m_alarmin == i)
continue;
memcpy(&(m_alarmincfg[i]), &(m_alarmincfg[m_alarmin]), sizeof(NET_DVR_ALARMINCFG));
}
}
else
{
memcpy(&(m_alarmincfg[m_nCopyAlarm]), &(m_alarmincfg[m_alarmin]), sizeof(NET_DVR_ALARMINCFG));
}
bSetAlarmParams = TRUE;
}
void CRemoteAlarmConfig::OnSelchangeComboalarmout()
{
// TODO: Add your control notification handler code here
m_alarmout = m_AlarmOutCtrl.GetCurSel();
CString sTemp;
m_AlarmOutCtrl.GetLBText(m_alarmout, sTemp);
memcpy(m_alarmoutcfg[m_alarmout].sAlarmOutName, sTemp, NAME_LEN);
TRACE("Alarmout delay:%d", m_alarmoutcfg[m_alarmout].dwAlarmOutDelay);
m_OutDelayCtrl.SetCurSel(m_alarmoutcfg[m_alarmout].dwAlarmOutDelay);
m_WeekDayCtrl.SetCurSel(0);
m_CopyTimeCtrl.SetCurSel(0);
m_iHour11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartHour;
m_iMin11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartMin;
m_iHour12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopHour;
m_iMin12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopMin;
m_iHour21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartHour;
m_iMin21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartMin;
m_iHour22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopHour;
m_iMin22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopMin;
m_iHour31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartHour;
m_iMin31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartMin;
m_iHour32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopHour;
m_iMin32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopMin;
m_iHour41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartHour;
m_iMin41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartMin;
m_iHour42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopHour;
m_iMin42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopMin;
UpdateData(FALSE);
}
void CRemoteAlarmConfig::OnSelchangeCombooutweekday()
{
// TODO: Add your control notification handler code here
int i = m_WeekDayCtrl.GetCurSel();
m_iHour11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour;
m_iMin11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin;
m_iHour12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour;
m_iMin12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin;
m_iHour21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour;
m_iMin21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin;
m_iHour22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour;
m_iMin22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin;
m_iHour31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour;
m_iMin31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin;
m_iHour32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour;
m_iMin32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin;
m_iHour41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour;
m_iMin41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin;
m_iHour42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour;
m_iMin42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin;
UpdateData(FALSE);
}
void CRemoteAlarmConfig::OnOuttimeok()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(!F_TimeTest())
return;
int i = m_WeekDayCtrl.GetCurSel();
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour = m_iHour11;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin = m_iMin11;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour = m_iHour12;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin = m_iMin12;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour = m_iHour21;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin = m_iMin21;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour = m_iHour22;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin = m_iMin22;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour = m_iHour31;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin = m_iMin31;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour = m_iHour32;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin = m_iMin32;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour = m_iHour41;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin = m_iMin41;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour = m_iHour42;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin = m_iMin42;
GetDlgItem(IDC_OUTTIMECOPY)->EnableWindow(TRUE);
}
void CRemoteAlarmConfig::OnOuttimecopy()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int j,k;
int i = m_WeekDayCtrl.GetCurSel();
int m_nCopyTime = m_CopyTimeCtrl.GetCurSel() - 1;
if(m_nCopyTime == -1)
{
for(j=0; j<MAX_DAYS; j++)
{
if(j == i)
continue;
for(k=0; k<MAX_TIMESEGMENT; k++)
{
memcpy(&(m_alarmoutcfg[m_alarmout].struAlarmOutTime[j][k]), &(m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][k]), sizeof(NET_DVR_SCHEDTIME));
}
}
}
else
{
for(k=0; k<MAX_TIMESEGMENT; k++)
{
memcpy(&(m_alarmoutcfg[m_alarmout].struAlarmOutTime[m_nCopyTime][k]), &(m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][k]), sizeof(NET_DVR_SCHEDTIME));
}
}
}
void CRemoteAlarmConfig::OnOutcopy()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CString sTemp;
m_AlarmOutCtrl.GetLBText(m_alarmout, sTemp);
memcpy(m_alarmoutcfg[m_alarmout].sAlarmOutName, sTemp, NAME_LEN);
int i;
int m_nCopyAlarm = m_CopyOutCtrl.GetCurSel() - 1;
m_alarmoutcfg[m_alarmout].dwAlarmOutDelay = m_OutDelayCtrl.GetCurSel();
if(m_nCopyAlarm == -1)
{
for(i=0; i<(int)m_dwAlarmOutNum; i++)
{
if(m_alarmout == i)
continue;
memcpy(&(m_alarmoutcfg[i]), &(m_alarmoutcfg[m_alarmout]), sizeof(NET_DVR_ALARMOUTCFG));
}
}
else
{
memcpy(&(m_alarmoutcfg[m_nCopyAlarm]), &(m_alarmoutcfg[m_alarmout]), sizeof(NET_DVR_ALARMOUTCFG));
}
bSetAlarmParams = TRUE;
}
void CRemoteAlarmConfig::OnExit()
{
// TODO: Add your control notification handler code here
bSetAlarmParams = FALSE;
}
BOOL CRemoteAlarmConfig::F_TimeTest()
{
int i, j;
WORD wStartTime[4], wStopTime[4];
UpdateData(TRUE);
if( (m_iHour11 < 0) || (m_iHour11 > 24) || (m_iHour12 < 0) || (m_iHour12 > 24) || \
(m_iHour21 < 0) || (m_iHour21 > 24) || (m_iHour22 < 0) || (m_iHour22 > 24) || \
(m_iHour31 < 0) || (m_iHour31 > 24) || (m_iHour32 < 0) || (m_iHour32 > 24) || \
(m_iHour41 < 0) || (m_iHour41 > 24) || (m_iHour42 < 0) || (m_iHour42 > 24) )
{
AfxMessageBox("Hour range must be 0 -- 24!");
return FALSE;
}
if( (m_iMin11 < 0) || (m_iMin11 > 60) || (m_iMin12 < 0) || (m_iMin12 > 60) || \
(m_iMin21 < 0) || (m_iMin21 > 60) || (m_iMin22 < 0) || (m_iMin22 > 60) || \
(m_iMin31 < 0) || (m_iMin31 > 60) || (m_iMin32 < 0) || (m_iMin32 > 60) || \
(m_iMin41 < 0) || (m_iMin41 > 60) || (m_iMin42 < 0) || (m_iMin42 > 60) )
{
AfxMessageBox("Minute range must be 0 -- 60!");
return FALSE;
}
wStartTime[0] = m_iHour11 * 100 + m_iMin11;
wStartTime[1] = m_iHour21 * 100 + m_iMin21;
wStartTime[2] = m_iHour31 * 100 + m_iMin31;
wStartTime[3] = m_iHour41 * 100 + m_iMin41;
wStopTime[0] = m_iHour12 * 100 + m_iMin12;
wStopTime[1] = m_iHour22 * 100 + m_iMin22;
wStopTime[2] = m_iHour32 * 100 + m_iMin32;
wStopTime[3] = m_iHour42 * 100 + m_iMin42;
for(i = 0; i < 4; i++)
{
if( (wStartTime[i] > 2400) || (wStopTime[i] > 2400) )
{
AfxMessageBox("Record time must not exceed 24:00!");
return FALSE;
}
if(wStartTime[i] > wStopTime[i])
{
AfxMessageBox("Start time must be less than stop time!");
return FALSE;
}
for(j = 0; j < 4; j++)
{
if (i == j)
continue;
if( (wStartTime[i] > wStartTime[j]) && (wStartTime[i] < wStopTime[j]) || \
(wStopTime[i] > wStartTime[j]) && (wStopTime[i] < wStopTime[j]) )
{
AfxMessageBox("Record period must not repeat!");
return FALSE;
}
}
}
return TRUE;
}
void CRemoteAlarmConfig::OnInok()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn;
m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel();
memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN);
bSetAlarmParams = TRUE;
}
void CRemoteAlarmConfig::OnAlarmcfgok()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(!F_TimeTest())
return;
int i = m_WeekDayCtrl.GetCurSel();
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour = m_iHour11;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin = m_iMin11;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour = m_iHour12;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin = m_iMin12;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour = m_iHour21;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin = m_iMin21;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour = m_iHour22;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin = m_iMin22;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour = m_iHour31;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin = m_iMin31;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour = m_iHour32;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin = m_iMin32;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour = m_iHour41;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin = m_iMin41;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour = m_iHour42;
m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin = m_iMin42;
memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN);
m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn;
m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel();
m_alarmoutcfg[m_alarmout].dwAlarmOutDelay = m_OutDelayCtrl.GetCurSel();
bSetAlarmParams = TRUE;
}
void CRemoteAlarmConfig::OnCancel()
{
// TODO: Add your control notification handler code here
}
void CRemoteAlarmConfig::OnOK()
{
// TODO: Add extra cleanup here
// CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -