// DLG_SP_Modify.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_SP_Modify.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_SP_Modify dialog #include "SPDlg.h" DLG_SP_Modify::DLG_SP_Modify(CWnd* pParent /*=NULL*/) : CDialog(DLG_SP_Modify::IDD, pParent) { //{{AFX_DATA_INIT(DLG_SP_Modify) m_strBZ = _T(""); m_bWeek = FALSE; m_strName = _T(""); m_strOperCmd = _T(""); m_lPrice = 1; m_lSendNum = 1; m_tSend1 = COleDateTime::GetCurrentTime(); m_tSend2 = COleDateTime::GetCurrentTime(); m_tSend3 = COleDateTime::GetCurrentTime(); m_bWeek_0 = FALSE; m_bWeek_1 = FALSE; m_bWeek_2 = FALSE; m_bWeek_3 = FALSE; m_bWeek_4 = FALSE; m_bWeek_6 = FALSE; m_bWeek_5 = FALSE; //}}AFX_DATA_INIT m_pSPDlg = (CSPDlg *)pParent; memset( &m_SPData , 0 , sizeof(m_SPData)); m_bAdd = false; m_Pos = 0; } void DLG_SP_Modify::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_SP_Modify) DDX_Text(pDX, IDC_SP_MODIFY_BZ, m_strBZ); DDV_MaxChars(pDX, m_strBZ, 250); DDX_Check(pDX, IDC_SP_MODIFY_ISWEEK, m_bWeek); DDX_Text(pDX, IDC_SP_MODIFY_NAME, m_strName); DDV_MaxChars(pDX, m_strName, 30); DDX_Text(pDX, IDC_SP_MODIFY_OPERCMD, m_strOperCmd); DDV_MaxChars(pDX, m_strOperCmd, 16); DDX_Text(pDX, IDC_SP_MODIFY_PRICE, m_lPrice); DDV_MinMaxUInt(pDX, m_lPrice, 1, 100); DDX_Text(pDX, IDC_SP_MODIFY_SENDNUM, m_lSendNum); DDV_MinMaxUInt(pDX, m_lSendNum, 1, 100); DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME1, m_tSend1); DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME2, m_tSend2); DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME3, m_tSend3); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_0, m_bWeek_0); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_1, m_bWeek_1); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_2, m_bWeek_2); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_3, m_bWeek_3); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_4, m_bWeek_4); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_6, m_bWeek_6); DDX_Check(pDX, IDC_SP_MODIFY_WEEK_5, m_bWeek_5); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_SP_Modify, CDialog) //{{AFX_MSG_MAP(DLG_SP_Modify) ON_BN_CLICKED(IDC_SP_MODIFY_ISWEEK, OnSpModifyIsweek) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_SP_Modify message handlers BOOL DLG_SP_Modify::OnInitDialog() { CDialog::OnInitDialog(); m_strName = m_SPData.szName; m_strOperCmd = m_SPData.szOperCmd; m_lPrice = m_SPData.lPrice; if ( m_lPrice <=0 || m_lPrice>100 ) m_lPrice=1; m_lSendNum = m_SPData.lSendNum; if ( m_lSendNum <=0 || m_lSendNum>100 ) m_lSendNum=1; m_tSend1 = m_SPData.tDZSendTime1; m_tSend2 = m_SPData.tDZSendTime2; m_tSend3 = m_SPData.tDZSendTime3; if ( m_tSend1.GetStatus()!=0 ) m_tSend1.SetDateTime(1900,1,1,0,0,0); if ( m_tSend2.GetStatus()!=0 ) m_tSend2.SetDateTime(1900,1,1,0,0,0); if ( m_tSend3.GetStatus()!=0 ) m_tSend3.SetDateTime(1900,1,1,0,0,0); m_bWeek = m_SPData.bWeek; if ( m_SPData.szWeekDay[0] == '1' ) m_bWeek_0 = true; if ( m_SPData.szWeekDay[1] == '1' ) m_bWeek_1 = true; if ( m_SPData.szWeekDay[2] == '1' ) m_bWeek_2 = true; if ( m_SPData.szWeekDay[3] == '1' ) m_bWeek_3 = true; if ( m_SPData.szWeekDay[4] == '1' ) m_bWeek_4 = true; if ( m_SPData.szWeekDay[5] == '1' ) m_bWeek_5 = true; if ( m_SPData.szWeekDay[6] == '1' ) m_bWeek_6 = true; m_strBZ = m_SPData.szBZ; UpdateData(false); OnSpModifyIsweek(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_SP_Modify::SetParam(ANS_SP_SeeData data, POSITION pos, BOOL bAdd) { m_SPData = data; m_Pos = pos; m_bAdd = bAdd; } ANS_SP_SeeData DLG_SP_Modify::GetParam() { return m_SPData; } void DLG_SP_Modify::OnSpModifyIsweek() { if ( !UpdateData(true) ) return ; if ( m_bWeek ) { GetDlgItem(IDC_SP_MODIFY_WEEK_0)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_1)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_2)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_3)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_4)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_5)->EnableWindow(true); GetDlgItem(IDC_SP_MODIFY_WEEK_6)->EnableWindow(true); } else { GetDlgItem(IDC_SP_MODIFY_WEEK_0)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_1)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_2)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_3)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_4)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_5)->EnableWindow(false); GetDlgItem(IDC_SP_MODIFY_WEEK_6)->EnableWindow(false); } } void DLG_SP_Modify::OnOK() { if ( !UpdateData(true) ) return ; if ( m_strName.GetLength()<= 0 ) { MessageBox( _T("业务名称不能为空,请输入!"),_T("错误") , MB_ICONWARNING ); return ; } if ( m_pSPDlg->FindSPName( m_strName,m_Pos ) ) { MessageBox( _T("业务名称已在使用,请更换另外的业务名称!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_strOperCmd.GetLength()<= 0 ) { MessageBox( _T("业务指令不能为空,请输入!"),_T("错误") , MB_ICONWARNING ); return ; } if ( m_pSPDlg->FindOperCmd( m_strOperCmd,m_Pos ) ) { MessageBox( _T("业务指令已在使用,请更换另外的业务指令!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_bWeek_0 ) m_SPData.szWeekDay[0] = '1'; else m_SPData.szWeekDay[0] = '0'; if ( m_bWeek_1 ) m_SPData.szWeekDay[1] = '1'; else m_SPData.szWeekDay[1] = '0'; if ( m_bWeek_2 ) m_SPData.szWeekDay[2] = '1'; else m_SPData.szWeekDay[2] = '0'; if ( m_bWeek_3 ) m_SPData.szWeekDay[3] = '1'; else m_SPData.szWeekDay[3] = '0'; if ( m_bWeek_4 ) m_SPData.szWeekDay[4] = '1'; else m_SPData.szWeekDay[4] = '0'; if ( m_bWeek_5 ) m_SPData.szWeekDay[5] = '1'; else m_SPData.szWeekDay[5] = '0'; if ( m_bWeek_6 ) m_SPData.szWeekDay[6] = '1'; else m_SPData.szWeekDay[6] = '0'; if ( m_bWeek && !_tcsncmp(m_SPData.szWeekDay,_T("0000000"),7) ) { MessageBox( _T("你设定了按星期发送,但没设定具体的发送星期!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_tSend1.GetHour() == 0 && m_tSend1.GetMinute() == 0 && m_tSend1.GetSecond() == 0 ) { MessageBox( _T("发送时间1必须设定具体时间!") , _T("错误") , MB_ICONWARNING ); return ; } if ( (m_tSend2.GetHour() != 0 || m_tSend2.GetMinute() != 0 || m_tSend2.GetSecond() != 0) && m_tSend2 <= m_tSend1 ) { MessageBox( _T("发送时间2不能小于发送时间1!") , _T("错误") , MB_ICONWARNING ); return ; } if ( (m_tSend3.GetHour() != 0 || m_tSend3.GetMinute() != 0 || m_tSend3.GetSecond() != 0) && m_tSend3 < m_tSend2 ) { MessageBox( _T("发送时间3不能小于发送时间2!") , _T("错误") , MB_ICONWARNING ); return ; } _tcscpy(m_SPData.szName,m_strName); _tcscpy(m_SPData.szOperCmd,m_strOperCmd); _tcscpy(m_SPData.szBZ,m_strBZ); m_SPData.lPrice = m_lPrice; m_SPData.lSendNum= m_lSendNum; m_SPData.bWeek = m_bWeek; m_tSend1.GetAsSystemTime(m_SPData.tDZSendTime1); m_tSend2.GetAsSystemTime(m_SPData.tDZSendTime2); m_tSend3.GetAsSystemTime(m_SPData.tDZSendTime3); CDialog::OnOK(); }