⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fmessage.h

📁 李刚 请赶快放开我的权限 我上载的源码都是很精湛的,请查阅,qing请加我 li_xue_ming@msn.com必要的话可以和我在线沟通
💻 H
字号:
#ifndef FMESSAGE_H
#define FMESSAGE_H
#include "base.h"
/*
---------------------------------------------------------------------------------------------------
| UserID | TerminalID | WindowID | FunctionID | CommandMode | CommandCode	| TransCommCode  |
---------------------------------------------------------------------------------------------------
| 2	     |     2	  |    2	 |     1	  |     1		|      4		|       4	     |	
---------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------
| 消息长度	| 消息流水号	| 定时器长	 | 广播消息标志	| 保留字段			             |
-----------------------------------------------------------------------------------------
|     4		|     4		    |    4		 |       1      | 3								 |
-----------------------------------------------------------------------------------------
*/
/* F接口的消息头偏移量 */


/*-----------------------------------------------------------*/
enum
	{
	USERID_OFFSET		=	0,		USERID_LEN			=		2,
	TERMID_OFFSET		=   2,		TERMID_LEN			=       2,
	WNDID_OFFSET		=   4,		WNDID_LEN			=       2,
	FUNCID_OFFSET		=   6,		FUNCID_LEN			=       1,
	CMDMODE_OFFSET		=   7,		CMDMODE_LEN			=       1,
	CMDCODE_OFFSET		=   8,		CMDCODE_LEN			=       4,
	TRANS_CMDCODE_OFFSET=   12,		TRANS_CMDCODE_LEN   =       4, 
	MSGLEN_OFFSET       =   16,		MSGLEN_LEN			=       4, 
	JOURNALNUM_OFFSET   =   20,		JOURNALNUM_LEN		=       4, 
	TIMER_OFFSET        =   24,		TIMER_LEN           =       4, 
	BROADLABEL_OFFSET	=	28,		BROADLABEL_LEN		=		1, 
	F_MESS_TIMER_INFO	=	4,
	F_RECORDID_OFFSET	=   56,   //操作日志偏移量
	F_RECORDID_LEN      =   8,    //操作日志长度
	F_MESS_HEADER_LENGTH=	64 
	};

#define HEAD_LENGTH F_MESS_HEADER_LENGTH
#define BRDCAST_LENGTH 68+1
#define FBODY_LENGTH	300
#define EV_CMD_CMAGT EV_MGR_AP_CM_OTHER_BEGIN+490

#define FBODY_ATTR_LENGTH 200

extern WORD32 HexStringToInt(const LPBYTE pString, WORD32 len);
extern WORD32 HexStringToInt(PCHAR pString);
extern PCHAR IntToHexString(WORD32 num, WORD32 stringlen);
extern PCHAR IntToHexString(WORD32 num);

class CFMessage
{
public:
     CFMessage();
	 CFMessage(const CFMessage& fmess);
     CFMessage(const LPBYTE head, WORD32 headlen, const LPBYTE body, WORD32 bodylen);
	 CFMessage(const LPBYTE mess);
     CFMessage(const LPBYTE fmessage, WORD32 length);
	 CFMessage(const PCHAR head, const PCHAR body);
	 CFMessage(const PCHAR mess);
     ~CFMessage();

public:
	 // 读取消息方法
     BYTE	GetUserID()            const;
     BYTE	GetTerminalID()        const;
     BYTE   GetWindowID()          const;
     CHAR   GetFunctionID()        const;
     BOOL   GetCommandMode()       const;
     PCHAR  GetCommandCode()       const;
     PCHAR  GetTransCommCode()	   const;
     WORD16 GetJournalNum()        const;
     WORD16 GetTimer()			   const;
     LPBYTE GetMessage()           const;
     LPBYTE GetHead()              const;
     LPBYTE GetBody()              const;
     WORD16 GetLength()            const;
     WORD32 GetHeadLength()        const;
     WORD32 GetBodyLength()        const;
	 BOOL   IsBroad()		       const;
public:
     // 填写消息方法
     VOID SetUserID(BYTE);
     VOID SetTerminalID(BYTE);
     VOID SetWindowID(BYTE);
     VOID SetFunctionID(CHAR);
     VOID SetCommandMode(BOOL);
     VOID SetCommandCode(const PCHAR);
     VOID SetTransCommCode(const PCHAR);
     VOID SetBody(const LPBYTE, WORD32 len);
     VOID SetJournalNum(WORD16);
 	 VOID SetTimer(WORD16);
     VOID SetMMICommand(const PCHAR);
	 VOID SetBroad(BOOL label);

	 // 清除不干净数据
     VOID CleanHead();
	 
public:
	 VOID Add(const PCHAR);
	 VOID Add(LPBYTE lpstr, WORD32 len);
     VOID SetBody(const PCHAR);
public:
	 friend CFMessage& operator +(const CFMessage& fmess, const PCHAR mess);
	 CFMessage& operator =(const PCHAR mess);
     CFMessage& operator =(const CFMessage& fmess);

public:
	 VOID Print() const;

protected:
     LPBYTE m_pchBody;

private:
	
     VOID _InitMess(LPBYTE mess, WORD32 len);
     CHAR m_achTRANSCMDCODE[TRANS_CMDCODE_LEN+1];
     CHAR m_achCMDCODE[CMDCODE_LEN+1];
     LPBYTE m_pchMess;
     VOID _InitBody(const LPBYTE body, WORD32 len);
     VOID _InitHead(LPBYTE head, WORD32 len);
     VOID _AllocBody(WORD32);
     VOID _SetBodyLength(WORD32 space);
     BYTE m_achHead[F_MESS_HEADER_LENGTH+1];     
};
#endif










⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -