123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- // 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();
- }
|