MapField.cpp
上传用户:bjslfz
上传日期:2022-07-25
资源大小:4430k
文件大小:2k
源码类别:

文件操作

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include "MapField.h"
  3. CMapField::CMapField()
  4. {
  5. m_csFieldName = _T("");
  6. m_csValue  = _T("");
  7. m_lFieldType = fdInvaild;
  8. ::VariantInit(&m_varValue);
  9. }
  10. CMapField::CMapField(CMapField& field)
  11. {
  12. m_csFieldName = field.GetName(); 
  13. m_csValue  = field.GetValueAsString();  
  14. m_lFieldType = field.GetType();
  15. m_varValue = field.GetValue(); 
  16. }
  17. CMapField::~CMapField()
  18. {
  19. }
  20. CString CMapField::GetName()
  21. {
  22. return m_csFieldName;
  23. }
  24. void CMapField::SetName(LPCTSTR lpszName)
  25. {
  26. m_csFieldName = lpszName;
  27. }
  28. long CMapField::GetType()
  29. {
  30. return m_lFieldType;
  31. }
  32. void CMapField::SetType(long lType)
  33. {
  34. m_lFieldType = lType;
  35. }
  36. CString CMapField::GetValueAsString()
  37. {
  38. CString csValue = _T("");
  39. switch( m_lFieldType )
  40.     {
  41. case fdInteger:
  42. csValue.Format("%d",m_varValue.lVal); 
  43. break;
  44.         case fdDouble:
  45. csValue.Format("%f",m_varValue.dblVal);
  46. break;
  47.         case fdString:
  48. return m_csValue; 
  49.     break;
  50. case fdInvaild:
  51. break;
  52. default:
  53. break;
  54.     }    
  55. return csValue;
  56. }
  57. void CMapField::SetValueAsString(LPCTSTR lpstr)
  58. {
  59. m_csValue = lpstr;
  60. }
  61. VARIANT CMapField::GetValue()
  62. {
  63. return m_varValue;
  64. }
  65. void CMapField::SetValue(const VARIANT& var)
  66. {
  67.     switch( m_lFieldType )
  68.     {
  69. case fdInteger:
  70.     m_varValue.bVal = var.bVal;
  71. m_varValue.lVal = var.lVal; 
  72. break;
  73.         case fdDouble:
  74. m_varValue.bVal = var.bVal;
  75. m_varValue.dblVal = var.dblVal; 
  76. break;
  77.         case fdInvaild:
  78. break;
  79. default:
  80. m_varValue = var;
  81. break;
  82.     }      
  83. }