void CMFC_TimerDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
GetLocalTime( &m_nowTime );
if( nIDEvent == 100 )
{
for( vector<Time>::iterator iter = m_timeIter; iter != m_time.end() ; iter ++)
{
if( m_nowTime.wHour == iter->hour && m_nowTime.wMinute == iter->minute )
{
if( iter->isCloseCptr != 0 )
{
KillTimer( 100 );
KillTimer( 101 );
ExitWindowsEx( EWX_SHUTDOWN, NULL);
}
else
{
if( strcmp( iter->message, "\0" ) != 0 && m_isShowMsg == true )
{
m_isShowMsg = false;
CShowMsg dlg;
dlg.m_msg = iter->message;
dlg.m_musicPath = iter->musicPath;
dlg.DoModal();
m_isShowMsg = true;
}
}
}
}
}
if( nIDEvent == 101 )
{
CString time;
time.Format( "%d:%d:%d", m_nowTime.wHour, m_nowTime.wMinute, m_nowTime.wSecond );
SetDlgItemText( IDC_EDIT4, time);
}
CDialog::OnTimer(nIDEvent);
}
void CMFC_TimerDlg::OnAdd()
{
// TODO: Add your control notification handler code here
Time t;
CString str,str1;
UpdateData();
GetDlgItemText( IDC_EDIT1, str);
GetDlgItemText( IDC_EDIT2, str1);
if( str == "" || str1 == "" )
{
MessageBox( "请输入时间,然后继续." );
return ;
}
t.hour = GetDlgItemInt( IDC_EDIT1 );
t.minute = GetDlgItemInt( IDC_EDIT2 );
GetDlgItemText( IDC_EDIT3, str );
GetDlgItemText( IDC_EDIT5, str1 );
if( t.hour >= 0 && t.hour <= 23 && t.minute >= 0 && t.minute <=59 && str != "" )
{
memset( t.message, 0, sizeof( t.message ) );
for(int i=0; i<str.GetLength(); i++)
{
t.message[i] = str[i];
}
memset( t.musicPath, 0, sizeof( t.musicPath ) );
for( i=0; i<str1.GetLength(); i++)
{
t.musicPath[i] = str1[i];
}
UpdateData(FALSE);
t.isCloseCptr = (bool)m_isCloseCptr;
m_time.push_back( t );
m_timeIter = m_time.begin();
if( MessageBox( "这个设置是否要保存?", "消息提示", MB_YESNO ) == IDYES )
{
WriteConfig();
m_time.clear();
ReadConfig();
}
m_timeIter = m_time.begin();
MoveList();
}
else
{
MessageBox( "请填写正确的时间.", "错误提示" );
}
SetDlgItemText( IDC_EDIT1, "" );
SetDlgItemText( IDC_EDIT2, "" );
}
void CMFC_TimerDlg::WriteConfig()
{
m_timeIter = m_time.begin();
char file[150];
memset( file, 0, 150);
strcat( file, m_myPath);
strcat( file, "\\config.czw");
ifstream in(file);
ofstream out(file,ios::trunc);
for( vector<Time>::iterator iter = m_timeIter; iter != m_time.end() ; iter ++)
{
out<< iter->hour << " " << iter->minute << " " << iter->message << " "
<< iter->musicPath << " " << iter->isCloseCptr <<endl;
}
out.close();
}
void CMFC_TimerDlg::ReadConfig()
{
char file[150];
memset( file, 0, 150);
strcat( file, m_myPath);
strcat( file, "\\config.czw");
ifstream in(file);
Time t;
m_timeIter = NULL;
while( !in.eof() )
{
memset( &t, 0, sizeof( Time ) );
in>> t.hour >> t.minute >> t.message >> t.musicPath >> t.isCloseCptr ;
if( strcmp( t.message, "\0" ) == 0)
{
break;
}
m_time.push_back( t );
}
m_timeIter = m_time.begin();
in.close();
}
{
// TODO: Add your message handler code here and/or call default
GetLocalTime( &m_nowTime );
if( nIDEvent == 100 )
{
for( vector<Time>::iterator iter = m_timeIter; iter != m_time.end() ; iter ++)
{
if( m_nowTime.wHour == iter->hour && m_nowTime.wMinute == iter->minute )
{
if( iter->isCloseCptr != 0 )
{
KillTimer( 100 );
KillTimer( 101 );
ExitWindowsEx( EWX_SHUTDOWN, NULL);
}
else
{
if( strcmp( iter->message, "\0" ) != 0 && m_isShowMsg == true )
{
m_isShowMsg = false;
CShowMsg dlg;
dlg.m_msg = iter->message;
dlg.m_musicPath = iter->musicPath;
dlg.DoModal();
m_isShowMsg = true;
}
}
}
}
}
if( nIDEvent == 101 )
{
CString time;
time.Format( "%d:%d:%d", m_nowTime.wHour, m_nowTime.wMinute, m_nowTime.wSecond );
SetDlgItemText( IDC_EDIT4, time);
}
CDialog::OnTimer(nIDEvent);
}
void CMFC_TimerDlg::OnAdd()
{
// TODO: Add your control notification handler code here
Time t;
CString str,str1;
UpdateData();
GetDlgItemText( IDC_EDIT1, str);
GetDlgItemText( IDC_EDIT2, str1);
if( str == "" || str1 == "" )
{
MessageBox( "请输入时间,然后继续." );
return ;
}
t.hour = GetDlgItemInt( IDC_EDIT1 );
t.minute = GetDlgItemInt( IDC_EDIT2 );
GetDlgItemText( IDC_EDIT3, str );
GetDlgItemText( IDC_EDIT5, str1 );
if( t.hour >= 0 && t.hour <= 23 && t.minute >= 0 && t.minute <=59 && str != "" )
{
memset( t.message, 0, sizeof( t.message ) );
for(int i=0; i<str.GetLength(); i++)
{
t.message[i] = str[i];
}
memset( t.musicPath, 0, sizeof( t.musicPath ) );
for( i=0; i<str1.GetLength(); i++)
{
t.musicPath[i] = str1[i];
}
UpdateData(FALSE);
t.isCloseCptr = (bool)m_isCloseCptr;
m_time.push_back( t );
m_timeIter = m_time.begin();
if( MessageBox( "这个设置是否要保存?", "消息提示", MB_YESNO ) == IDYES )
{
WriteConfig();
m_time.clear();
ReadConfig();
}
m_timeIter = m_time.begin();
MoveList();
}
else
{
MessageBox( "请填写正确的时间.", "错误提示" );
}
SetDlgItemText( IDC_EDIT1, "" );
SetDlgItemText( IDC_EDIT2, "" );
}
void CMFC_TimerDlg::WriteConfig()
{
m_timeIter = m_time.begin();
char file[150];
memset( file, 0, 150);
strcat( file, m_myPath);
strcat( file, "\\config.czw");
ifstream in(file);
ofstream out(file,ios::trunc);
for( vector<Time>::iterator iter = m_timeIter; iter != m_time.end() ; iter ++)
{
out<< iter->hour << " " << iter->minute << " " << iter->message << " "
<< iter->musicPath << " " << iter->isCloseCptr <<endl;
}
out.close();
}
void CMFC_TimerDlg::ReadConfig()
{
char file[150];
memset( file, 0, 150);
strcat( file, m_myPath);
strcat( file, "\\config.czw");
ifstream in(file);
Time t;
m_timeIter = NULL;
while( !in.eof() )
{
memset( &t, 0, sizeof( Time ) );
in>> t.hour >> t.minute >> t.message >> t.musicPath >> t.isCloseCptr ;
if( strcmp( t.message, "\0" ) == 0)
{
break;
}
m_time.push_back( t );
}
m_timeIter = m_time.begin();
in.close();
}