#if !defined(AFX_GLOBAL_H__MOSTDEVICE__INCLUDED_) #define AFX_GLOBAL_H__MOSTDEVICE__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "Head.h" extern INT g_nPrecision; extern void UpperLowerSwap(char *szMsg); extern void ByteToUpper(char *szMsg); extern void ByteToLower(char *szMsg); extern void ByteToTwoByte( char *szMsg, char *szConvMsg ); extern void TwoByteToByte(char *szMsg, char *szConvMsg ); extern INT AsciiToBYTE(char szMsg); extern void GetChkSum( char *szMsg, /*要转换的消息*/ char *szConvMsg, /*转换后的消息*/ int len); extern bool ChkSumCheck( char *szMsg, /*要转换的消息*/ int len); extern bool CheckLength( char *szMsg ); extern INT DataConversion(char *szType, char *szMsg, char *szConvMsg, int len = -1, int StaBit = -1, int EndBit = -1); extern INT TypeIsFLOAT(char *szMsg, char *szConvMsg); extern INT TypeIsWORD(char *szMsg, char *szConvMsg); extern INT TypeIsDWORD(char *szMsg, char *szConvMsg); extern INT TypeIsSHORT(char *szMsg, char *szConvMsg); extern INT TypeIsBYTE(BYTE *szMsg, BYTE *szConvMsg, int len); extern INT TypeIsCHAR(char *szMsg, char *szConvMsg, int len); extern INT TypeIsBIT(char *szMsg, char *szConvMsg, int len, int StaBit, int EndBit); extern INT TypeIsUINT(char *szMsg, char *szConvMsg, int len); extern INT TypeIsONEBYTE(char *szMsg, char *szConvMsg, int len); extern char ByteToAscii(BYTE btSrc); extern char lowercase2uppercase(BYTE btSrc); extern int g_nPrecision; //由数据精度获得浮点数的字符串值 extern CString GetDoubleText(double d); extern int DigitToBinary(WORD wdSource, char* pDes, int iBit) ; extern char Hex16(char WillChangeNum[]); //该函数把四位二进制转换成十六进制数 extern void strReverse( char *str ); /******************************************************************** * NAME : TwoHexCharToChar * FUNCTION : * PROCESS : * INPUT : * OUTPUT : * UPDATE : * RETURN : * : * PROGRAMMED : * DATE(ORG) : * CALL : * SYSTEM : ********************************************************************/ extern char TwoHexCharToChar(char ch1,char ch2) ; /******************************************************************** * NAME : Str2HexStr * FUNCTION : * PROCESS : * INPUT : * OUTPUT : * UPDATE : * RETURN : * : * PROGRAMMED : * DATE(ORG) : * CALL : * SYSTEM : ********************************************************************/ extern void Str2HexStr(char *szHexString,char *szString,int *iHexStringLen); // 将10进制转换为2进制字符串; extern char *dectobin(int dec,int len); // 通过LENID计算LENGTH;(calc Length by Lenid); extern void ReadDZLegthbyLenid(BYTE LenID[2],BYTE Length[4]); extern int HexStr2Dec(char *Source); extern void ONEBYTE_BIT(char *szValue, const int &iSour, const int &iSBit, const int &iEBit); extern void ONEBYTE_BIT2(char *szValue, const int &iSour, const int &iSBit, const int &iEBit); extern int GetIniInfo(char *szPath,char *szIniName,char *szCmd,char *IniSendCMD,int &IniSendlen,char *szDataType,int &nIndex,int &nLen, int &iSBit, int &iEBit); extern void GetWORDBit(char *szValue, const int &iSour, const int &iSBit, const int &iEBit); extern void GetBYTEBit(char *szValue, const int &iSour, const int &iSBit, const int &iEBit); extern UINT GetModbus16CRC(BYTE *pBuf, int len); extern INT ASCII_to_Byte(char c); extern int digit_to_hex(BYTE by); extern WORD ReturnASCIIWORD(BYTE *bySource); extern void _BYTE_2_Decimal(char *szValue, BYTE *szSource); extern void _BYTE_1_Decimal(char *szValue, BYTE *szSource); extern WORD ReturnNASCIIWORD(BYTE *bySource); #endif