#if !defined(AFX_FMMSLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_) #define AFX_FMMSLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // FMmsLog.h : header file // ///////////////////////////////////////////////////////////////////////////// // CFMmsLog dialog #include "..\public\reportctrl\ReportCtrl.h" #include "DLG_SmsLogSee.h" #define MENU_LOG_SEE WM_USER+220 //删除 #define MENU_LOG_SEND WM_USER+221 //删除 #define MENU_LOG_DEL WM_USER+222 //删除 #define MENU_LOG_EXPORT WM_USER+223 //导出 #define MENU_LOG_REFRESH WM_USER+224 //刷新 #define MENU_LOG_REFSTATUS WM_USER+225 //刷新状态 #define MENU_LOG_FIND WM_USER+226 //查找 #define MENU_LOG_BAK WM_USER+227 //创建备份 #define MENU_LOG_QUERYFAIL WM_USER+228 //查询失败短信 #define MENU_LOG_SHOWALLRECORD WM_USER+400 //显示所有记录 #define STATUS_MAX_QUERY 200 //每次最多查询1000条状态报告记录 #ifdef UNICODE class CAdoMmsLog:public CADORecordBinding { BEGIN_ADO_BINDING(CAdoMmsLog) ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_SmsID ,sizeof(m_SmsID), l_SmsIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_SendID ,sizeof(m_SendID), l_SendIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(3,adInteger, m_MmsFileID ,sizeof(m_MmsFileID), l_MmsFileIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(4,adVarWChar,m_SendNum ,sizeof(m_SendNum) , l_SendNumStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(5,adVarWChar,m_Recver ,sizeof(m_Recver) , l_RecverStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(6,adVarWChar, m_RecvNum ,sizeof(m_RecvNum) , l_RecvNumStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(7,adVarWChar, m_Title ,sizeof(m_Title) , l_TitleStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(8,adInteger, m_mmSize ,sizeof(m_mmSize) , l_mmSizeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(9,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(10,adVarWChar, m_StatusMsg ,sizeof(m_StatusMsg) , l_StatusMsgStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(11,adInteger, m_Times ,sizeof(m_Times), l_TimesStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(12,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_SendTime ,sizeof(m_SendTime) , l_SendTimeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(14,adDate, m_RecvTime ,sizeof(m_RecvTime) , l_RecvTimeStatus,true) END_ADO_BINDING() public: long m_SmsID; ULONG l_SmsIDStatus; long m_SendID; ULONG l_SendIDStatus; long m_MmsFileID; ULONG l_MmsFileIDStatus; TCHAR m_SendNum[32]; ULONG l_SendNumStatus; TCHAR m_Recver[32]; ULONG l_RecverStatus; TCHAR m_RecvNum[32]; ULONG l_RecvNumStatus; TCHAR m_Title[64]; ULONG l_TitleStatus; long m_mmSize; ULONG l_mmSizeStatus; long m_Status; ULONG l_StatusStatus; TCHAR m_StatusMsg[128]; ULONG l_StatusMsgStatus; long m_Times; ULONG l_TimesStatus; COleDateTime m_SubTime; ULONG l_SubTimeStatus; COleDateTime m_SendTime; ULONG l_SendTimeStatus; COleDateTime m_RecvTime; ULONG l_RecvTimeStatus; CAdoMmsLog() { m_SmsID = 0; m_SendID = 0; m_MmsFileID=0; m_Times=0; memset(m_SendNum,0,sizeof(m_SendNum)); memset(m_Recver,0,sizeof(m_Recver)); memset(m_RecvNum,0,sizeof(m_RecvNum)); memset(m_Title,0,sizeof(m_Title)); memset(m_StatusMsg,0,sizeof(m_StatusMsg)); m_Status= 0; m_mmSize=0; memset(&m_SubTime,0,sizeof(m_SubTime)); memset(&m_SendTime,0,sizeof(m_SendTime)); memset(&m_RecvTime,0,sizeof(m_RecvTime)); } }; #else class CAdoMmsLog:public CADORecordBinding { BEGIN_ADO_BINDING(CAdoMmsLog) ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_SmsID ,sizeof(m_SmsID), l_SmsIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_SendID ,sizeof(m_SendID), l_SendIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(3,adInteger, m_MmsFileID ,sizeof(m_MmsFileID), l_MmsFileIDStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(4,adVarChar,m_SendNum ,sizeof(m_SendNum) , l_SendNumStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(5,adVarChar,m_Recver ,sizeof(m_Recver) , l_RecverStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(6,adVarChar, m_RecvNum ,sizeof(m_RecvNum) , l_RecvNumStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(7,adVarChar, m_Title ,sizeof(m_Title) , l_TitleStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(8,adInteger, m_mmSize ,sizeof(m_mmSize) , l_mmSizeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(9,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(10,adVarChar, m_StatusMsg ,sizeof(m_StatusMsg) , l_StatusMsgStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(11,adInteger, m_Times ,sizeof(m_Times), l_TimesStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(12,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_SendTime ,sizeof(m_SendTime) , l_SendTimeStatus,true) ADO_VARIABLE_LENGTH_ENTRY2(14,adDate, m_RecvTime ,sizeof(m_RecvTime) , l_RecvTimeStatus,true) END_ADO_BINDING() public: long m_SmsID; ULONG l_SmsIDStatus; long m_SendID; ULONG l_SendIDStatus; long m_MmsFileID; ULONG l_MmsFileIDStatus; char m_SendNum[32]; ULONG l_SendNumStatus; char m_Recver[32]; ULONG l_RecverStatus; char m_RecvNum[32]; ULONG l_RecvNumStatus; char m_Title[64]; ULONG l_TitleStatus; long m_mmSize; ULONG l_mmSizeStatus; long m_Status; ULONG l_StatusStatus; char m_StatusMsg[128]; ULONG l_StatusMsgStatus; long m_Times; char l_TimesStatus; COleDateTime m_SubTime; char l_SubTimeStatus; COleDateTime m_SendTime; ULONG l_SendTimeStatus; COleDateTime m_RecvTime; ULONG l_RecvTimeStatus; CAdoMmsLog() { m_SmsID = 0; m_SendID = 0; m_MmsFileID=0; m_Times=0; memset(m_SendNum,0,sizeof(m_SendNum)); memset(m_Recver,0,sizeof(m_Recver)); memset(m_RecvNum,0,sizeof(m_RecvNum)); memset(m_Title,0,sizeof(m_Title)); memset(m_StatusMsg,0,sizeof(m_StatusMsg)); m_Status=0; m_mmSize=0; memset(&m_SubTime,0,sizeof(m_SubTime)); memset(&m_SendTime,0,sizeof(m_SendTime)); memset(&m_RecvTime,0,sizeof(m_RecvTime)); } }; #endif class CMainFrame; class CProcessSocket; class CFMmsLog : public CDialog { public: BOOL m_bRefresh; //是否已刷新过数据 protected: CMainFrame * m_pMainFrame; CProcessSocket * m_pSocket; CAdoConnection m_adoConnection; CImageList m_Image; BOOL m_bShowToday; //是否仅显示当天的数据 BOOL m_bInit; //是否已初始化 long m_lRefreshStatusIndex; //查询状态时到达的索引 CAdoRecordSet m_AdoRS; CString m_strFindAdd; //附加查询指令 BOOL m_bShowAllRecord;//是否显示所有号码 CString m_strBakDBName; BOOL m_bNewDB; // Construction public: void SetBakDBName(CString strDBName ); void SetToday( BOOL bToday ); static long GetStatusText2(long lStatus, TCHAR *pStatus); SMS_See GetSms(long lItem); BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame); long GetItemStatus(long iItem ); void RefreshStatus(BOOL bBegin = true); long GetCurrentSelected(); void ShowRMenu(); static long GetStatusText( long lStatus , TCHAR * pStatus ); BOOL RefreshInfo(); BOOL ReShow(BOOL bRefresh=false); BOOL ReHide(); CFMmsLog(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CFMmsLog) enum { IDD = IDD_MMSLOG }; CReportCtrl m_wndList; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CFMmsLog) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CFMmsLog) virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnRclickSmslogList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnDblclkSmslogList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnKeydownSmslogList(NMHDR* pNMHDR, LRESULT* pResult); virtual void OnOK(); virtual void OnCancel(); //}}AFX_MSG afx_msg void On_User_See(); afx_msg void On_User_Send(); afx_msg void On_User_Del(); afx_msg void On_User_Export(); afx_msg void On_User_Refresh(); afx_msg void On_User_RefStatus(); afx_msg void On_User_Find(); afx_msg void On_User_Bak(); afx_msg void On_User_QueryFail(); afx_msg void On_User_Refresh_All(); DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_FMMSLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_)