www.pudn.com > GSMTest1.rar > AlarmDlg.cpp


// AlarmDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "GSMTest.h" 
#include "AlarmDlg.h" 
#include "mmsystem.h" 
#include "pdu.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CAlarmDlg dialog 
 
 
CAlarmDlg::CAlarmDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CAlarmDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CAlarmDlg) 
	m_sAlarm = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void CAlarmDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CAlarmDlg) 
	DDX_Text(pDX, IDC_ALARM, m_sAlarm); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CAlarmDlg, CDialog) 
	//{{AFX_MSG_MAP(CAlarmDlg) 
	ON_WM_TIMER() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CAlarmDlg message handlers 
 
BOOL CAlarmDlg::OnInitDialog()  
{	 
	CDialog::OnInitDialog(); 
	//return true; 
	//提示信息 
	//m_sAlarm="XXX变压器可能被盗!\r\n时间:xx年xx月xx日 xx:xx:xx"; 
	//m_sAlarm=m_sContent;	 
	PDU p; 
	int index=m_sContent.Find("+CMT:"); 
	m_sContent.TrimRight(); 
	CString str=m_sContent.Mid(index); 
	index=str.Find("\r"); 
	string content=str.Mid(index+2); 
	 
	 
	string strTime=p.GetDataTime(content); 
	string strNum=p.GetTelphone(content).substr(2); 
	 
	string strCont; 
	if(p.IsPDU(content)) 
		strCont=p.GetContent(content); 
	else 
		strCont=p.GetTextContent(content); 
	 
	m_sAlarm.Format("时间:%s\r\n",strTime.c_str()); 
	str.Format("变压器:%s\r\n",strNum.c_str()); 
	if(str.Find("13637923764")>=0) 
	{ 
		str="变压器:变压器1\r\n"; 
	} 
	m_sAlarm+=str; 
	str.Format("内容:%s",strCont.c_str()); 
	if(str.Find("success")>=0) 
	{ 
		str="内容:启动成功"; 
	} 
	if(str.Find("lost")>=0) 
	{ 
		str="内容:变压器出现异常"; 
		SetTimer(1,1000,NULL); 
		 
	} 
	m_sAlarm+=str; 
	 
	 
	UpdateData(false); 
 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
void CAlarmDlg::OnTimer(UINT nIDEvent)  
{ 
	//播放提示声音 
	//PlaySound((LPCTSTR)IDR_ALARM,NULL, SND_ASYNC); 
	//PlaySound("alarm.wav",NULL,SND_ASYNC); 
	sndPlaySound("alarm.wav",SND_ASYNC); 
	CDialog::OnTimer(nIDEvent); 
}