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

📄 remoterecordplanconfig.cpp

📁 监控开发资料,提供二次开发源码和使用说明书
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	int i,j;
	CString sTemp;
	CString sTime[4][2];
	sTime[0][0].Format("%02d%02d",m_iHour11,m_iMin11);
	sTime[0][1].Format("%02d%02d",m_iHour12,m_iMin12);
	sTime[1][0].Format("%02d%02d",m_iHour21,m_iMin21);
	sTime[1][1].Format("%02d%02d",m_iHour22,m_iMin22);
	sTime[2][0].Format("%02d%02d",m_iHour31,m_iMin31);
	sTime[2][1].Format("%02d%02d",m_iHour32,m_iMin32);
	sTime[3][0].Format("%02d%02d",m_iHour41,m_iMin41);
	sTime[3][1].Format("%02d%02d",m_iHour42,m_iMin42);
	for(i=0;i<4;i++)
	{
		if ((sTime[i][0].Left(2)>"24")||(sTime[i][0].Left(2)>"24")||(sTime[i][0].Left(2)<"00")||(sTime[i][0].Left(2)<"00"))
		{
			sTemp.Format("错误,时间段%d起始时间超出范围!",(i+1));
			AfxMessageBox(sTemp);
			return FALSE;
		}
		if ((sTime[i][0]>"2400")||(sTime[i][1]>"2400")||(sTime[i][0]<"0000")||(sTime[i][1]<"0000"))
		{
			sTemp.Format("错误,时间段%d的时间超出范围!",(i+1));
			AfxMessageBox(sTemp);
			return FALSE;
		}
		if ((sTime[i][0].Right(2)>"59")||(sTime[i][0].Right(2)>"59")||(sTime[i][0].Right(2)<"00")||(sTime[i][0].Right(2)<"00"))
		{
			sTemp.Format("错误,时间段%d起始时间超出范围!",(i+1));
			AfxMessageBox(sTemp);
			return FALSE;
		}
		if ((sTime[i][1].Left(2)>"24")||(sTime[i][1].Left(2)>"24")||(sTime[i][1].Left(2)<"00")||(sTime[i][1].Left(2)<"00"))
		{
			sTemp.Format("错误,时间段%d结束时间超出范围!",(i+1));
			AfxMessageBox(sTemp);
			return FALSE;
		}
		if ((sTime[i][1].Right(2)>"59")||(sTime[i][1].Right(2)>"59")||(sTime[i][1].Right(2)<"00")||(sTime[i][1].Right(2)<"00"))
		{
			sTemp.Format("错误,时间段%d结束时间超出范围!",(i+1));
			AfxMessageBox(sTemp);
			return FALSE;
		}
		if(sTime[i][0]>=sTime[i][1])
		{
			if((sTime[i][0]!="0000") || (sTime[i][1]!="0000"))
			{
				sTemp.Format("错误,时间段%d结束时间应大于开始时间",(i+1));
				AfxMessageBox(sTemp);
				return FALSE;
			}
		}
		for (j=i+1;j<4;j++)
		{
			if((sTime[j][0]>sTime[i][0]) && (sTime[j][0]<sTime[i][1]))
			{
				sTemp.Format("时间段%d,%d不能重复",(i+1),(j+1));
				AfxMessageBox(sTemp);
				return FALSE;
			}else if((sTime[j][1]>sTime[i][0]) && (sTime[j][1]<sTime[i][1]))
			{
				sTemp.Format("时间段%d,%d不能重复",(i+1),(j+1));
				AfxMessageBox(sTemp);
				return FALSE;
			}else if((sTime[j][0]<=sTime[i][0]) && (sTime[j][1]>=sTime[i][1]))
			{
				if((sTime[j][0]!="0000") && (sTime[j][1]!="0000"))
				{
					sTemp.Format("时间段%d,%d不能重复",(i+1),(j+1));
					AfxMessageBox(sTemp);
					return FALSE;
				}
			}
		}
	}
	return TRUE;
}

void CRemoteRecordPlanConfig::EnableControl(BOOL bEnable)
{
	GetDlgItem(IDC_EDITHOUR011)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR021)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR031)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR041)->EnableWindow(bEnable);

	GetDlgItem(IDC_EDITMIN011)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN021)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN031)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN041)->EnableWindow(bEnable);

	GetDlgItem(IDC_EDITHOUR012)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR022)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR032)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITHOUR042)->EnableWindow(bEnable);

	GetDlgItem(IDC_EDITMIN012)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN022)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN032)->EnableWindow(bEnable);
	GetDlgItem(IDC_EDITMIN042)->EnableWindow(bEnable);

	GetDlgItem(IDC_TIMERECTYPE1)->EnableWindow(bEnable);
	GetDlgItem(IDC_TIMERECTYPE2)->EnableWindow(bEnable);
	GetDlgItem(IDC_TIMERECTYPE3)->EnableWindow(bEnable);
	GetDlgItem(IDC_TIMERECTYPE4)->EnableWindow(bEnable);

	GetDlgItem(IDC_ALLDAYTYPE)->EnableWindow(!bEnable);
}

void CRemoteRecordPlanConfig::OnSelchangeComboweekday() 
{
	// TODO: Add your control notification handler code here
	m_nDate = m_WeekDayCtrl.GetCurSel();	
	m_AllDayRecord = serverrecordplan->struRecAllDay[m_nDate].wAllDayRecord;
	m_AllDayTypeCtrl.SetCurSel(serverrecordplan->struRecAllDay[m_nDate].byRecordType);
	m_RecordType1Ctrl.SetCurSel(serverrecordplan->struRecordSched[m_nDate][0].byRecordType);
	m_RecordType2Ctrl.SetCurSel(serverrecordplan->struRecordSched[m_nDate][1].byRecordType);
	m_RecordType3Ctrl.SetCurSel(serverrecordplan->struRecordSched[m_nDate][2].byRecordType);
	m_RecordType4Ctrl.SetCurSel(serverrecordplan->struRecordSched[m_nDate][3].byRecordType);
	m_iHour11 = serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStartHour;
	m_iHour12 = serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStopHour;
	m_iHour21 = serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStartHour;
	m_iHour22 = serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStopHour;
	m_iHour31 = serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStartHour;
	m_iHour32 = serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStopHour;
	m_iHour41 = serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStartHour;
	m_iHour42 = serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStopHour;
	m_iMin11 = serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStartMin;
	m_iMin12 = serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStopMin;
	m_iMin21 = serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStartMin;
	m_iMin22 = serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStopMin;
	m_iMin31 = serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStartMin;
	m_iMin32 = serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStopMin;
	m_iMin41 = serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStartMin;
	m_iMin42 = serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStopMin;
	EnableControl(!m_AllDayRecord);
	GetDlgItem(IDC_BUTRECCOPY)->EnableWindow(FALSE);
	UpdateData(FALSE);
}

void CRemoteRecordPlanConfig::OnSelchangeCopyweekday() 
{
	// TODO: Add your control notification handler code here
	
}

void CRemoteRecordPlanConfig::OnRemrecok() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(!TimeTest())
	{
		return;
	}
	
	serverrecordplan->struRecAllDay[m_nDate].wAllDayRecord = m_AllDayRecord;
	if(m_AllDayRecord)
	{		
		serverrecordplan->struRecAllDay[m_nDate].byRecordType = m_AllDayTypeCtrl.GetCurSel();
	}
	else
	{
		serverrecordplan->struRecordSched[m_nDate][0].byRecordType = m_RecordType1Ctrl.GetCurSel();
		serverrecordplan->struRecordSched[m_nDate][1].byRecordType = m_RecordType2Ctrl.GetCurSel();
		serverrecordplan->struRecordSched[m_nDate][2].byRecordType = m_RecordType3Ctrl.GetCurSel();
		serverrecordplan->struRecordSched[m_nDate][3].byRecordType = m_RecordType4Ctrl.GetCurSel();			
		serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStartHour = m_iHour11;
		serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStopHour = m_iHour12;
		serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStartHour = m_iHour21;
		serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStopHour = m_iHour22;
		serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStartHour = m_iHour31;
		serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStopHour = m_iHour32;
		serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStartHour = m_iHour41;
		serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStopHour = m_iHour42;
		
		serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStartMin = m_iMin11;
		serverrecordplan->struRecordSched[m_nDate][0].struRecordTime.byStopMin = m_iMin12;
		serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStartMin = m_iMin21;
		serverrecordplan->struRecordSched[m_nDate][1].struRecordTime.byStopMin = m_iMin22;
		serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStartMin = m_iMin31;
		serverrecordplan->struRecordSched[m_nDate][2].struRecordTime.byStopMin = m_iMin32;
		serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStartMin = m_iMin41;
		serverrecordplan->struRecordSched[m_nDate][3].struRecordTime.byStopMin = m_iMin42;
	}
	GetDlgItem(IDC_BUTRECCOPY)->EnableWindow(TRUE);
}

void CRemoteRecordPlanConfig::OnExit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
}

void CRemoteRecordPlanConfig::OnCancel() 
{
	// TODO: Add extra cleanup here
	
//	CDialog::OnCancel();
}

⌨️ 快捷键说明

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