// SetClientRecordPlan.cpp : implementation file // #include "stdafx.h" #include "newclient.h" #include "SetClientRecordPlan.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CSetClientRecordPlan dialog extern CLIENTPARAM ClientParam; CSetClientRecordPlan::CSetClientRecordPlan(CWnd* pParent /*=NULL*/) : CDialog(CSetClientRecordPlan::IDD, pParent) { //{{AFX_DATA_INIT(CSetClientRecordPlan) m_iHour11 = 0; m_iHour12 = 0; m_iHour21 = 0; m_iHour22 = 0; m_iHour31 = 0; m_iHour32 = 0; m_iHour41 = 0; m_iHour42 = 0; m_iMinute11 = 0; m_iMinute12 = 0; m_iMinute21 = 0; m_iMinute22 = 0; m_iMinute31 = 0; m_iMinute32 = 0; m_iMinute41 = 0; m_iMinute42 = 0; //}}AFX_DATA_INIT } void CSetClientRecordPlan::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSetClientRecordPlan) DDX_Control(pDX, IDC_COPYWEEKDAY, m_CopyDateCtrl); DDX_Control(pDX, IDC_COMBOWEEKDAY, m_DateCtrl); DDX_Text(pDX, IDC_EDITHOUR011, m_iHour11); DDX_Text(pDX, IDC_EDITHOUR012, m_iHour12); DDX_Text(pDX, IDC_EDITHOUR021, m_iHour21); DDX_Text(pDX, IDC_EDITHOUR022, m_iHour22); DDX_Text(pDX, IDC_EDITHOUR031, m_iHour31); DDX_Text(pDX, IDC_EDITHOUR032, m_iHour32); DDX_Text(pDX, IDC_EDITHOUR041, m_iHour41); DDX_Text(pDX, IDC_EDITHOUR042, m_iHour42); DDX_Text(pDX, IDC_EDITMIN011, m_iMinute11); DDX_Text(pDX, IDC_EDITMIN012, m_iMinute12); DDX_Text(pDX, IDC_EDITMIN021, m_iMinute21); DDX_Text(pDX, IDC_EDITMIN022, m_iMinute22); DDX_Text(pDX, IDC_EDITMIN031, m_iMinute31); DDX_Text(pDX, IDC_EDITMIN032, m_iMinute32); DDX_Text(pDX, IDC_EDITMIN041, m_iMinute41); DDX_Text(pDX, IDC_EDITMIN042, m_iMinute42); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CSetClientRecordPlan, CDialog) //{{AFX_MSG_MAP(CSetClientRecordPlan) ON_BN_CLICKED(IDC_BUTRECCOPY, OnButreccopy) ON_CBN_SELCHANGE(IDC_COMBOWEEKDAY, OnSelchangeComboweekday) ON_BN_CLICKED(IDLOCALRECOK, OnLocalrecok) ON_BN_CLICKED(IDEXIT, OnExit) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSetClientRecordPlan message handlers BOOL CSetClientRecordPlan::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here //2008-02-25 将Combo里的星期重设,星期天放在第一位,是为与GetDayOfWeek获取的星期顺序相符合,避免不必要的转换 CTime ct = CTime::GetCurrentTime(); m_DateCtrl.SetCurSel(ct.GetDayOfWeek() - 1); m_CopyDateCtrl.SetCurSel(7); m_bChanged = FALSE; m_iHour11 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][0].m_iStartHour; m_iMinute11 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][0].m_iStartMinute; m_iHour12 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][0].m_iStopHour; m_iMinute12 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][0].m_iStopMinute; m_iHour21 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][1].m_iStartHour; m_iMinute21 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][1].m_iStartMinute; m_iHour22 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][1].m_iStopHour; m_iMinute22 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][1].m_iStopMinute; m_iHour31 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][2].m_iStartHour; m_iMinute31 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][2].m_iStartMinute; m_iHour32 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][2].m_iStopHour; m_iMinute32 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][2].m_iStopMinute; m_iHour41 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][3].m_iStartHour; m_iMinute41 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][3].m_iStartMinute; m_iHour42 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][3].m_iStopHour; m_iMinute42 = ClientParam.m_ClientRecordTime[ct.GetDayOfWeek() - 1][3].m_iStopMinute; UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CSetClientRecordPlan::OnButreccopy() { // TODO: Add your control notification handler code here int iCurdate, iCopydate, i, j; UpdateData(TRUE); iCurdate = m_DateCtrl.GetCurSel(); iCopydate = m_CopyDateCtrl.GetCurSel(); if(iCopydate == iCurdate) return; if(iCopydate == 7) { for(i = 0; i < 7; i++) { if(i == iCurdate) continue; for(j = 0; j < 4; j++) { ClientParam.m_ClientRecordTime[i][j].m_iStartHour = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartHour; ClientParam.m_ClientRecordTime[i][j].m_iStartMinute = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartMinute; ClientParam.m_ClientRecordTime[i][j].m_iStartTime = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartTime; ClientParam.m_ClientRecordTime[i][j].m_iStopHour = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopHour; ClientParam.m_ClientRecordTime[i][j].m_iStopMinute = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopMinute; ClientParam.m_ClientRecordTime[i][j].m_iStopTime = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopTime; } } } else { for(j = 0; j < 4; j++) { ClientParam.m_ClientRecordTime[iCopydate][j].m_iStartHour = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartHour; ClientParam.m_ClientRecordTime[iCopydate][j].m_iStartMinute = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartMinute; ClientParam.m_ClientRecordTime[iCopydate][j].m_iStartTime = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStartTime; ClientParam.m_ClientRecordTime[iCopydate][j].m_iStopHour = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopHour; ClientParam.m_ClientRecordTime[iCopydate][j].m_iStopMinute = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopMinute; ClientParam.m_ClientRecordTime[iCopydate][j].m_iStopTime = ClientParam.m_ClientRecordTime[iCurdate][j].m_iStopTime; } } } void CSetClientRecordPlan::OnSelchangeComboweekday() { // TODO: Add your control notification handler code here int i; i = m_DateCtrl.GetCurSel(); m_iHour11 = ClientParam.m_ClientRecordTime[i][0].m_iStartHour; m_iMinute11 = ClientParam.m_ClientRecordTime[i][0].m_iStartMinute; m_iHour12 = ClientParam.m_ClientRecordTime[i][0].m_iStopHour; m_iMinute12 = ClientParam.m_ClientRecordTime[i][0].m_iStopMinute; m_iHour21 = ClientParam.m_ClientRecordTime[i][1].m_iStartHour; m_iMinute21 = ClientParam.m_ClientRecordTime[i][1].m_iStartMinute; m_iHour22 = ClientParam.m_ClientRecordTime[i][1].m_iStopHour; m_iMinute22 = ClientParam.m_ClientRecordTime[i][1].m_iStopMinute; m_iHour31 = ClientParam.m_ClientRecordTime[i][2].m_iStartHour; m_iMinute31 = ClientParam.m_ClientRecordTime[i][2].m_iStartMinute; m_iHour32 = ClientParam.m_ClientRecordTime[i][2].m_iStopHour; m_iMinute32 = ClientParam.m_ClientRecordTime[i][2].m_iStopMinute; m_iHour41 = ClientParam.m_ClientRecordTime[i][3].m_iStartHour; m_iMinute41 = ClientParam.m_ClientRecordTime[i][3].m_iStartMinute; m_iHour42 = ClientParam.m_ClientRecordTime[i][3].m_iStopHour; m_iMinute42 = ClientParam.m_ClientRecordTime[i][3].m_iStopMinute; UpdateData(FALSE); } void CSetClientRecordPlan::OnLocalrecok() { // TODO: Add your control notification handler code here int i, j; UpdateData(TRUE); i = m_DateCtrl.GetCurSel(); if( (m_iHour11 < 0) || (m_iHour12 < 0) || (m_iHour21 < 0) || (m_iHour22 < 0) || \ (m_iHour31 < 0) || (m_iHour32 < 0) || (m_iHour41 < 0) || (m_iHour42 < 0) ) { AfxMessageBox("小时范围在0 -- 24之间!"); return; } if( (m_iMinute11 < 0) || (m_iMinute11 > 60) || (m_iMinute12 < 0) || (m_iMinute12 > 60) || \ (m_iMinute21 < 0) || (m_iMinute21 > 60) || (m_iMinute22 < 0) || (m_iMinute22 > 60) || \ (m_iMinute31 < 0) || (m_iMinute31 > 60) || (m_iMinute32 < 0) || (m_iMinute32 > 60) || \ (m_iMinute41 < 0) || (m_iMinute41 > 60) || (m_iMinute42 < 0) || (m_iMinute42 > 60) ) { AfxMessageBox("分钟范围在0 -- 60之间!"); return; } ClientParam.m_ClientRecordTime[i][0].m_iStartHour = m_iHour11; ClientParam.m_ClientRecordTime[i][0].m_iStartMinute = m_iMinute11; ClientParam.m_ClientRecordTime[i][0].m_iStopHour = m_iHour12; ClientParam.m_ClientRecordTime[i][0].m_iStopMinute = m_iMinute12; ClientParam.m_ClientRecordTime[i][0].m_iStartTime = m_iHour11 * 100 + m_iMinute11; ClientParam.m_ClientRecordTime[i][0].m_iStopTime = m_iHour12 * 100 + m_iMinute12; ClientParam.m_ClientRecordTime[i][1].m_iStartHour = m_iHour21; ClientParam.m_ClientRecordTime[i][1].m_iStartMinute = m_iMinute21; ClientParam.m_ClientRecordTime[i][1].m_iStopHour = m_iHour22; ClientParam.m_ClientRecordTime[i][1].m_iStopMinute = m_iMinute22; ClientParam.m_ClientRecordTime[i][1].m_iStartTime = m_iHour21 * 100 + m_iMinute21; ClientParam.m_ClientRecordTime[i][1].m_iStopTime = m_iHour22 * 100 + m_iMinute22; ClientParam.m_ClientRecordTime[i][2].m_iStartHour = m_iHour31; ClientParam.m_ClientRecordTime[i][2].m_iStartMinute = m_iMinute31; ClientParam.m_ClientRecordTime[i][2].m_iStopHour = m_iHour32; ClientParam.m_ClientRecordTime[i][2].m_iStopMinute = m_iMinute32; ClientParam.m_ClientRecordTime[i][2].m_iStartTime = m_iHour31 * 100 + m_iMinute31; ClientParam.m_ClientRecordTime[i][2].m_iStopTime = m_iHour32 * 100 + m_iMinute32; ClientParam.m_ClientRecordTime[i][3].m_iStartHour = m_iHour41; ClientParam.m_ClientRecordTime[i][3].m_iStartMinute = m_iMinute41; ClientParam.m_ClientRecordTime[i][3].m_iStopHour = m_iHour42; ClientParam.m_ClientRecordTime[i][3].m_iStopMinute = m_iMinute42; ClientParam.m_ClientRecordTime[i][3].m_iStartTime = m_iHour41 * 100 + m_iMinute41; ClientParam.m_ClientRecordTime[i][3].m_iStopTime = m_iHour42 * 100 + m_iMinute42; TRACE("\nm_ClientRecordTime[%d][0] 时间段一:%ld ----- %ld", i, ClientParam.m_ClientRecordTime[i][0].m_iStartTime, ClientParam.m_ClientRecordTime[i][0].m_iStopTime); TRACE("\nm_ClientRecordTime[%d][1] 时间段二:%ld ----- %ld", i, ClientParam.m_ClientRecordTime[i][1].m_iStartTime, ClientParam.m_ClientRecordTime[i][1].m_iStopTime); TRACE("\nm_ClientRecordTime[%d][2] 时间段三:%ld ----- %ld", i, ClientParam.m_ClientRecordTime[i][2].m_iStartTime, ClientParam.m_ClientRecordTime[i][2].m_iStopTime); TRACE("\nm_ClientRecordTime[%d][3] 时间段四:%ld ----- %ld", i, ClientParam.m_ClientRecordTime[i][3].m_iStartTime, ClientParam.m_ClientRecordTime[i][3].m_iStopTime); for(j = 0; j < 4; j++) { if( (ClientParam.m_ClientRecordTime[i][j].m_iStartTime >= 2400) || (ClientParam.m_ClientRecordTime[i][j].m_iStopTime > 2400) ) { AfxMessageBox("录像时间不能超过24:00!"); return; } if(ClientParam.m_ClientRecordTime[i][j].m_iStartTime > ClientParam.m_ClientRecordTime[i][j].m_iStopTime) { AfxMessageBox("录像起始时间不能大于录像停止时间!"); return; } for(int k = j+1; k < 4; k++) { if( ((ClientParam.m_ClientRecordTime[i][j].m_iStartTime > ClientParam.m_ClientRecordTime[i][k].m_iStartTime) && (ClientParam.m_ClientRecordTime[i][j].m_iStartTime < ClientParam.m_ClientRecordTime[i][k].m_iStopTime)) || ((ClientParam.m_ClientRecordTime[i][j].m_iStopTime > ClientParam.m_ClientRecordTime[i][k].m_iStartTime) && (ClientParam.m_ClientRecordTime[i][j].m_iStopTime < ClientParam.m_ClientRecordTime[i][k].m_iStopTime)) ) { AfxMessageBox("录像时间不能重复!"); return; } } } m_bChanged = TRUE; (CButton *)GetDlgItem(IDC_BUTRECCOPY)->EnableWindow(TRUE); } void CSetClientRecordPlan::OnExit() { // TODO: Add your control notification handler code here CDialog::OnCancel(); } void CSetClientRecordPlan::OnCancel() { // TODO: Add extra cleanup here // CDialog::OnCancel(); }