www.pudn.com > CirMMI.rar > Common.h


#include "mysplit.h" 
#include ".\share\volumcontrol.h" 
#include ".\share\mutecontrol.h" 
#include "mmsystem.h" 
 
//JUST FOR identify 
#define IN 
#define OUT 
 
#ifndef _COMMON_H_ 
#define _COMMON_H_ 
 
#define MODE_GSMR	0 
#define MODE_450M	1 
#define MODE_BOTH	2 
 
#define UI_GSMR		1 
#define UI_450M		2 
 
#define SECONDARY_STATE 0	 //从 
#define PRIMARY_STATE	1	 //主 
 
 
#define TRAIN_ID_MAXLEN		4				//机车号位数 
#define TRAIN_RUNNIGN_MAXLEN	7		//车次号位数 
#define RUNNINGROAD_MAX			20 
typedef struct __Global_Common_Variable  //全局公共变量封装 
{ 
	typedef DWORD   COLORREF; 
 
	DWORD dwInitCount;	//程序自从启动后计数 
	INT iWorkMode;      //模式 
	INT iWorkModeNum;   //模式号 
	INT iWitchUI;		//双模时 
	TCHAR CurRunningRoad[RUNNINGROAD_MAX]; 
	TCHAR SelRunningRoad[RUNNINGROAD_MAX]; 
 
 
	INT iMMIState; 
	INT iMMIport; 
 
	INT iNetWorkState; 
	INT iSignalValue; 
 
	INT iGpsValidate;  //GPS是否有效 
 
	CHAR TrainID[TRAIN_ID_MAXLEN];				//机车号 
	CHAR TrainIDType[TRAIN_ID_MAXLEN]; 
	CHAR TrainRunning[TRAIN_RUNNIGN_MAXLEN];	//车次号 
	 
	BOOL bEFNLogin; 
	BOOL bTFNLogin; 
 
	 
	BOOL bRepairState; //本补 
	 
	COLORREF crMainBk; 
	COLORREF crMainText; 
	COLORREF crSecondText; 
	COLORREF crBorder; 
	COLORREF crButtonBrightBk; 
	COLORREF crButtonDarkBk; 
	COLORREF crButtonBrightText; 
	COLORREF crButtonDarkText; 
 
 
	CBrush	*pBrButtonBrightBk; 
	CBrush	*pBrButtonDarkBk; 
	CBrush  *pBrListBox; 
	CBrush  *pBrFrameBorder; 
 
	CPen	*pPenButtonBrightText; 
	CPen	*pPenButtonDardText; 
 
	//定义字体 
	CFont *pFontItalicTitle; 
	CFont *pFontTitle; 
	CFont *pFontButton; 
	CFont *pFontTrainTail; 
	CFont *pFontList; 
	CFont *pFontRunning; 
	CFont *pFontPoint; 
	 
	CString strRemoteIP; 
	UINT	nRemotePort; 
 
	CString strUserPwd; 
	CString strSvrName; 
	BOOL   bPlayAudio; 
	BOOL   b450MCheckingTalk; 
 
	BOOL SetTrainID(const CHAR *data,INT iLen) 
	{ 
		if(sizeof(TrainID) ==iLen) 
		{ 
			memcpy(TrainID,data,iLen); 
			return TRUE; 
		}else //03-18 
		{ 
			for(int i=0;i4)  
		{ 
			for(int i=4;i0 && pdata) 
		{ 
			memcpy(m_data,pdata,min(m_datalen,sizeof m_data)); 
		} 
	} 
	RegistrationItem(){memset(this,0,sizeof *this);} 
}; 
 
class CRegistration 
{ 
	CArraym_RegAr; 
public: 
	INT GetSize(){return m_RegAr.GetSize();} 
	/*const*/ RegistrationItem& ElementAt(int index) 
	{  
		return m_RegAr.ElementAt(index);	 
	 
	} 
	INT UnRegAll(){m_RegAr.RemoveAll();} 
	BOOL Reg(HWND hwnd,UINT msg,BYTE op,BYTE cmd,BYTE datalen=0, BYTE *pdata=NULL) 
	{ 
		for(int i=0;i0 && pdata) 
				{ 
					if(!memcmp(r.m_data,pdata,min(datalen,r.m_datalen))) 
						return FALSE; 
				} 
				 
			} 
		} 
	 
		m_RegAr.Add(RegistrationItem(hwnd,msg,op,cmd,datalen,pdata)); 
		return TRUE; 
		 
	} 
	BOOL UnReg(BYTE op,BYTE cmd) 
	{ 
		for(int i=0;i>4)*10)+(x&0x0f)) 
 
UINT GetValueByStr(const CString& str); 
 
BOOL TranTRNtoTFN(const CString& strTRN,CString& strTFN); 
BOOL TranTFNtoTRN(const CString& strTFN,CString& strTRN); 
 
BOOL IsCallByFN(CString &strUnKown);  //是不是按功能号呼叫 
BOOL translateByFn(const CString &strFn,CString &strDis); //把已知的功能号翻译成身份 
 
 
CString GetTrainChiefTFN(); 
CString TranByGid(const CString &strGid); //gid->dis name 
CString TranByOtherNum(const CString &strOther); 
 
BOOL LoadSetting(); 
 
 
#endif //_COMMON_H_