#include "stdafx.h" #include "CParam.h" CParam::CParam() { m_nValueType = PVT_INT; m_nValue = 0; m_fValue = 0.0; } CParam::CParam(const char* pszName, const char* pszId, const char* pszUnit, int value) { m_nValueType = PVT_INT; m_nValue = value; m_fValue = 0.0; m_strId = pszId; m_strName = pszName; m_strUnit = pszUnit; } CParam::CParam(const char* pszName, const char* pszId, const char* pszUnit, double value) { m_nValueType = PVT_DOUBLE; m_nValue = 0; m_fValue = value; m_strId = pszId; m_strName = pszName; m_strUnit = pszUnit; } CParam::~CParam() { } std::string& CParam::getName() { return m_strName; } std::string& CParam::getId() { return m_strId; } std::string& CParam::getUnit() { return m_strUnit; } int CParam::getValueType() { return m_nValueType; } int CParam::getIntValue() const { return m_nValue; } void CParam::setIntValue(int value) { m_nValue = value; } double CParam::getDoubleValue() const { if(m_nValueType == PVT_DOUBLE) return m_fValue; if (m_nValueType == PVT_INT) return (double)m_nValue; return 0.0; } void CParam::setDoubleValue(double value) { m_fValue = value; } void CParam::Serialize(CArchive& ar) { if (ar.IsStoring()) { WriteString(ar, m_strName); WriteString(ar, m_strUnit); ar << m_nValueType; ar << m_nValue; ar << m_fValue; } else { ReadString(ar, m_strName); ReadString(ar, m_strUnit); ar >> m_nValueType; ar >> m_nValue; ar >> m_fValue; } } void CParam::ReadString(CArchive& ar, std::string& string) { CString strTemp; ar >> strTemp; string = (LPTSTR)(LPCTSTR)strTemp; } void CParam::WriteString(CArchive& ar, std::string& string) { CString strTemp = string.c_str(); ar << strTemp; }