#ifndef CTRANSFORM_H #define CTRANSFORM_H #include #include #include #include #include "framehead.h" #define LP_FRAME_LEN 24 #define LP_FRAME_HEAD_LEN 4 #define LP_FRAME_BODY_LEN 20 struct STRsettings { int TabCourse; int BoutRateCourse; int ComCourse; QString ComName; QString BaudRate; }; struct StytleFile { QString m_stytleFile; int nIndex; }; enum Power { RootPower=0, UserPower }; struct User { QString root; QString rootpwd; QString username; QString passwd; Power power; }; struct Tab { bool m_tab1; bool m_tab2; bool m_tab3; bool m_tab4; bool m_tab5; bool m_tab6; bool m_tab7; bool m_tab8; bool m_tab9; bool m_tab10; }; class CTransform : public QObject { //Q_OBJECT public: CTransform(QObject *parent); ~CTransform(); public: QByteArray HexStr2ByteArray(QString str);//16进制字符串转字节数组 QString ByteArray2HexStr(QByteArray data);//字节数组转16进制字符串 int StrHex2Decimal(QString strHex);//16进制字符串转10进制 int StrDecimal2Decimal(QString strDecimal);//10进制字符串转10进制 int StrBin2Decimal(QString strBin);//2进制字符串转10进制 QString StrHex2StrBin(QString strHex);//16进制字符串转2进制字符串 QString Decimal2StrBin1(int decimal);//10进制转2进制字符串一个字节 QString Decimal2StrBin2(int decimal);//10进制转2进制字符串两个字节 uchar GetCheckCode(uchar data[], uchar len);//计算校验码 uchar GetUChar(char data);//将溢出的char转为正确的uchar private: char ConvertHexChar(char ch); }; #endif // CTRANSFORM_H