www.gusucode.com > VC++开源的SHP格式GIS地图查看软件源程序源码程序 > VC++开源的SHP格式GIS地图查看软件源程序源码程序\code\MapField.cpp
//Download by http://www.NewXing.com #include "stdafx.h" #include "MapField.h" CMapField::CMapField() { m_csFieldName = _T(""); m_csValue = _T(""); m_lFieldType = fdInvaild; ::VariantInit(&m_varValue); } CMapField::CMapField(CMapField& field) { m_csFieldName = field.GetName(); m_csValue = field.GetValueAsString(); m_lFieldType = field.GetType(); m_varValue = field.GetValue(); } CMapField::~CMapField() { } CString CMapField::GetName() { return m_csFieldName; } void CMapField::SetName(LPCTSTR lpszName) { m_csFieldName = lpszName; } long CMapField::GetType() { return m_lFieldType; } void CMapField::SetType(long lType) { m_lFieldType = lType; } CString CMapField::GetValueAsString() { CString csValue = _T(""); switch( m_lFieldType ) { case fdInteger: csValue.Format("%d",m_varValue.lVal); break; case fdDouble: csValue.Format("%f",m_varValue.dblVal); break; case fdString: return m_csValue; break; case fdInvaild: break; default: break; } return csValue; } void CMapField::SetValueAsString(LPCTSTR lpstr) { m_csValue = lpstr; } VARIANT CMapField::GetValue() { return m_varValue; } void CMapField::SetValue(const VARIANT& var) { switch( m_lFieldType ) { case fdInteger: m_varValue.bVal = var.bVal; m_varValue.lVal = var.lVal; break; case fdDouble: m_varValue.bVal = var.bVal; m_varValue.dblVal = var.dblVal; break; case fdInvaild: break; default: m_varValue = var; break; } }