INSDTCHK.H
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:2k
源码类别:

远程控制编程

开发平台:

C/C++

  1. /////////////////////////////////////////////////////////////
  2. //class CCfgInsDataTypeCheck
  3. //source file: InsDTchk.cpp
  4. //file: InsDTChk.h
  5. #ifndef __CFG_INSDTCHK_H__
  6. #define __CFG_INSDTCHK_H__
  7. #include "Chkbase.h"
  8. #include "instype.h"
  9. //struct RLLoopConnect is used in CCfgRLInstrData and this class
  10. struct RLLoopConnect{
  11. WORD wBinWord;       // data get or put to binary file 
  12. short nInsType;      //-1: const; otherwise: RL_INSTYPE_??
  13. short nCalcType;     //get from CInstrumentSet_Cfg's Calc field
  14. long nHiVal;
  15. long nLoVal;
  16. short nDecimal;
  17. CString sEditStr;  //string to be shown in screen
  18. };
  19. typedef struct RLLoopConnect STRU_RLLOOP;
  20.  class  AFX_EXT_CLASS CCfgInsDataTypeCheck 
  21. {
  22. //operations
  23. public:
  24. CCfgInsDataTypeCheck();
  25. ~CCfgInsDataTypeCheck(); 
  26. void InitialPointer(CDaoDatabase* pFCUDB);
  27. BOOL ConvWordToStr(STRU_RLLOOP& struRL);
  28. BOOL ConvStrToWord(STRU_RLLOOP& struRL);
  29. BOOL CheckDataType(STRU_RLLOOP& struRL,CString& sErrMsg);
  30. BOOL CheckData_LT(CString sDataType,CString sTagNo,CString& sRetStr);
  31. protected:
  32. BOOL CheckRangeValidOfTagNo(int nTagType,int nElementNo);
  33. BOOL CheckDataType_TagNo(STRU_RLLOOP& struRL,CString& sErrMsg);
  34. //attribute
  35. CMap<CString,LPCSTR,UINT,UINT>  m_TagToTypeMap;
  36. CFCULPTableSet  m_LPTableSet;
  37. CFCUSUTableSet  m_SUTableSet;
  38. CFCUTagSet  m_FCUTagListSet;
  39. CInstrumentSet_Cfg  m_InsTypeSet;
  40. CInstrCommandSet_Cfg  m_InsAddrTypeSet;
  41. CDaoDatabase* m_pFCUDB;
  42. CDaoDatabase m_InsTypeParaDB;
  43. // CInsTypeParaSet m_InsTypeSet;
  44. CString m_sUnitNo;
  45. private:
  46. short GetValueBySHSLStr(const CString& sExpr,short nHiVal,short nLoVal);
  47. };
  48. class AFX_EXT_CLASS CGraphCfgInsCheck : public CCfgInsDataTypeCheck
  49. {
  50. private:
  51. BOOL OpenFcuDatabase(int nUnitNo);
  52. CString m_sPath;
  53. int m_nCurUnitNo;
  54. CDaoDatabase m_FcuDatabase;
  55. CDaoDatabase m_OpsDatabase;
  56. CFCUTagSet m_OPSTagListSet;
  57. public:
  58. void Initial();
  59. CGraphCfgInsCheck();
  60. ~CGraphCfgInsCheck();
  61. BOOL CheckInsTag_Type(CString& sTagNo,CString& sDataType);
  62. private:
  63. };
  64. #endif