www.pudn.com > smsinterface.rar > MainFrm.h


// MainFrm.h : interface of the CMainFrame class 
// 
///////////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_MAINFRM_H__B19A706A_5B78_11D6_BC51_00E04CDFE759__INCLUDED_) 
#define AFX_MAINFRM_H__B19A706A_5B78_11D6_BC51_00E04CDFE759__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 100 
#include "SerialPort.h" 
 
#define EDITENTRY						 1 
#define ADDENTRY						 2 
#define DELENTRY						 3 
 
#define WM_SENDFORM                      WM_USER+100 
#define WM_DELFORM                       WM_USER+101 
#define WM_EDITFORM                      WM_USER+102 
#define WM_SETFORM                       WM_USER+103 
 
#define WM_REQUEST_PHONEBOOKNUM          WM_USER+60 
#define WM_REQUEST_SMSTEXTSAVE			 WM_USER+61 
#define WM_REQUEST_SMSSENDTEXT			 WM_USER+62 
#define WM_REQUEST_SMSTEXT				 WM_USER+63 
#define WM_REQUEST_SMSDEL				 WM_USER+64 
#define WM_REQUEST_PHONEBOOKWRITE		 WM_USER+65 
#define WM_REQUEST_GETSERVERPHONE		 WM_USER+66 
#define WM_ATCOMM_RECEIVED               WM_USER+80 
 
#define SENDFORM   1 
#define DELFORM    2 
#define EDITFORM   3 
#define SETFORM    4 
 
#define WM_GETPHONEBOOKLIST              WM_USER+110 
#define WM_GETSMTEXT					 WM_USER+111 
#define WM_SENDSERVERPHONE				 WM_USER+112	 
 
//////////////////////////////////////// 
//AT COMMAND TYPE/////////////////////// 
//////////////////////////////////////// 
#define AT_COMMAND_AT                   101 
#define AT_COMMAND_ATTESTPIN            102 
#define AT_COMMAND_ATPIN                103 
#define AT_COMMAND_ATCPBS               201 
#define AT_COMMAND_ATCPBRLEN            202 
#define AT_COMMAND_ATCPBRLIST           203 
#define AT_COMMAND_ATCMGF				204 
#define AT_COMMAND_ATCMGS				205 
#define AT_COMMAND_ATCMGSSEND			206 
#define AT_COMMAND_RECSMS				207 
#define AT_COMMAND_ATCMGR				208 
#define AT_COMMAND_ATCNMI				210 
#define AT_COMMAND_ATCMGLTOTOAL			211 
#define AT_COMMAND_ATCMGD				212 
#define AT_COMMAND_ATCPBSINFO			213 
#define AT_COMMAND_ATCPBW				214 
///////////////////////////////////////////// 
#define SERVERCENTERADD                  1 
#define DESTINATIONADD					 2 
 
#define PDUSENDMODE						1 
#define PDUSAVEMODE						2 
 
struct recsmdata{ 
	BOOL        readflag; 
	CString     senddialnum; 
	CString     timestr; 
	CString     smtext; 
	int         smindex; 
}; 
 
struct phbook_struct{ 
	int usedloc; 
	int totalloc; 
	int startindex; 
	int endindex; 
	int maxphonelen; 
	int maxnamelen; 
}; 
 
struct cpbw{ 
	CString indexstr; 
	CString phonestr; 
	CString namestr; 
}; 
 
class CSmsinterfaceView; 
 
class CMainFrame : public CFrameWnd 
{ 
	 
protected: // create from serialization only 
	CMainFrame(); 
	DECLARE_DYNCREATE(CMainFrame) 
 
// Attributes 
protected: 
	CSplitterWnd m_wndSplitter; 
	CCreateContext* m_pContext; 
	void SendString(CString str); 
	void GetServerPhone(int nSize, char serverno[]); 
public: 
	int m_sendsmnum; 
	int m_commandtype; 
	phbook_struct m_pbset; 
	CString precommand; 
	CString curcommand; 
	CString endflag; 
	CString errorE,errorS; 
	char m_chChecksum1;   //用于COM1的校验和计算 
	char m_chChecksum2;   //用于COM2的校验和计算 
	CString m_strRXhhCOM1;  //用于存放COM1接收的半BYTE校验字节hh 
	CString m_strRXhhCOM2;  //用于存放COM2接收的半BYTE校验字节hh 
	CString m_strRXDataCOM1;   //COM1接收数据 
	CString m_strRXDataCOM2;   //COM2接收数据 
	UINT m_nRXErrorCOM1;   //COM1接收数据错误帧数 
	UINT m_nRXErrorCOM2;   //COM2接收数据错误帧数 
	UINT m_nRXCounterCOM1;   //COM1接收数据错误帧数 
	UINT m_nRXCounterCOM2;   //COM2接收数据错误帧数 
	CSerialPort m_ComPort;     //串口类对象 
	CString m_recstring; 
// Operations 
private: 
	 
public: 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CMainFrame) 
	public: 
	virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); 
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 
	protected: 
	virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam); 
	//}}AFX_VIRTUAL 
 
// Implementation 
public: 
	char serverphone[50]; 
	cpbw *m_pbcpbw; 
	int m_pbnamemaxlen; 
	int m_pbphonemaxlen; 
	int m_pbdindex; 
	int m_pbsindex; 
	int m_pbtotalloc; 
	int m_pbusedloc; 
	int m_isfirstlist; 
	recsmdata m_smdata; 
	int m_currentwindow; 
	CString smallindex; 
	int cursmindex; 
	CString cursmindexstr; 
	CString m_serveraddress; 
	CStringArray m_strphonebook; 
	virtual ~CMainFrame(); 
#ifdef _DEBUG 
	virtual void AssertValid() const; 
	virtual void Dump(CDumpContext& dc) const; 
#endif 
 
protected:  // control bar embedded members 
	CStatusBar  m_wndStatusBar; 
	char ch2; 
	char ch1; 
	CString m_strcommand; 
			 
// Generated message map functions 
protected: 
	void DeCodeUni(CString sstr,CString& dstr); 
	void GetTimeStr(CString sstr,CString& timestr); 
	void decodedialnum(CString sdialnum,CString& ddialnum); 
	int hextoi(CString hexstr); 
	BOOL GetRecSMData(CString recstr,CString flagstr,recsmdata& smdata); 
	void TransToAscii(CString sstr,CString& dstr); 
	int pduexmode; 
	void AnsiToUni(CString ans,CString& uni); 
	void TransPhoneNum(CString& str); 
	void IntToCString(int num,CString& numstr); 
	BOOL GetMessage(CString sstring,CString& sendnum,CString& recnum,CString& timestr,CString& usertext); 
	CString messagetext; 
	CString servercenterphone; 
	CStringArray dialnumar; 
	void GetSendOrderData(char nbuffertext[],CStringArray* ar); 
	void TransAdd(CString sadd,CString& dadd,int ntype); 
	void GetSumString(int sum,CString& string); 
	void EncodePdu(CString sstring,CString& dstring); 
	void Oct2Sept(char* poctet, int remainder, char *pseptet); 
	void Decode(CString sdata, CString &dedata); 
	void GetSubStr(CString str,int sindex,int eindex,CString& substr); 
	BOOL GetAnswerData(CString answerstr,CString headstr,CStringArray& resultarray); 
	//{{AFX_MSG(CMainFrame) 
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 
	afx_msg void OnReceive(WPARAM ch, LPARAM port); 
	afx_msg int OnGetAck(WPARAM command, LPARAM iserror); 
	afx_msg void OnTimer(UINT nIDEvent); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_MAINFRM_H__B19A706A_5B78_11D6_BC51_00E04CDFE759__INCLUDED_)