VariantEx.h
上传用户:maryhy001
上传日期:2007-05-02
资源大小:2317k
文件大小:2k
源码类别:

网格计算

开发平台:

Visual C++

  1. #ifndef _VARIANTEX_H
  2. #define _VARIANTEX_H
  3. #include ".TimeEx.h"
  4. //variant type simple define
  5. typedef enum VARTYPE_ENUM{
  6. //empty type
  7. VTE_EMPTY = 0,
  8. //string type
  9. VTE_STRING = 1,
  10. //integer type(int/short int/long int)
  11. VTE_INT = 2,
  12. VTE_SHORT   = 3,
  13. VTE_LONG = 4,
  14. //unsigned integer(u_int/u_long)
  15. VTE_UNSHORT = 5,
  16. VTE_UNINT = 6,
  17. VTE_ULINT = 7,
  18. //real type(%.4f format)
  19. VTE_FLOAT = 8,
  20. VTE_DECIMAL = 9,
  21. //real type(%.8f format)
  22. VTE_DOUBLE = 10,
  23. //bool type(true/false)
  24. VTE_BOOL = 11,
  25. //datetime type
  26. VTE_DATETIME= 12,
  27. //"NULL" type
  28. VTE_NULL = 13,
  29. VTE_BLOB = 14,
  30. VTE_BLOB_OBJECT=15,
  31. VTE_TEXT = 16,
  32. //unKnown type
  33. VTE_UNKNOWN = 17
  34. };
  35. /*
  36.  * CVariant class --- _variant_t encapsulation class 
  37.  */
  38. /********************************************************
  39.  *  Class Name : CVariantEx. *
  40.  * Purpose : _variant_t encapsulation class. *
  41.  *  File  Name : VariantEx.h / VariantEx.cpp. *
  42.  *------------------------------------------------------*
  43.  * Author : Devia Lee. Date: 2004-04-01 *
  44.  ********************************************************/
  45. class CVariantEx
  46. {
  47. public:
  48. CVariantEx();
  49. CVariantEx(_variant_t &vt);
  50. CVariantEx(CVariantEx &var);
  51. CVariantEx(const bool bVar);
  52. CVariantEx(const long nVar);
  53. CVariantEx(const double dVar);
  54. CVariantEx(LPCSTR lpszVar);
  55. CVariantEx& operator=(_variant_t &vt);
  56. CVariantEx& operator=(CVariantEx &var);
  57. CVariantEx& operator=(const bool bVar);
  58. CVariantEx& operator=(const long nVar);
  59. CVariantEx& operator=(const double dVar);
  60. CVariantEx& operator=(LPCSTR lpszVar);
  61. virtual ~CVariantEx();
  62. //###################################################
  63. //determine the var whether is null
  64. bool IsNull();
  65. //clear the var value
  66. bool Clear();
  67. //get the variant type
  68. VARTYPE_ENUM getVarType();
  69. //get the variant value
  70. _variant_t& get_variant_t();
  71. //##############force convert value to someone type value##########
  72. //convert to string type
  73. string AsString();
  74. //convert to boolean type
  75. bool AsBool();
  76. //convert to integer type
  77. int AsInteger();
  78. //convert to real type
  79. double AsReal();
  80. //convert to datetime type
  81. CDateTimeEx AsDateTime();
  82. protected:
  83. _variant_t m_var;
  84. };
  85. #endif //_VARIANTEX_H