#include "stdafx.h"
|
#include "CVariable.h"
|
|
|
namespace SERVO {
|
CVariable::CVariable()
|
{
|
m_nVarialbeId = 0;
|
m_format = SVFromat::U1;
|
m_nValue = 0;
|
}
|
|
CVariable::CVariable(const char* pszId, const char* pszName, const char* pszFormat, const char* pszRemark)
|
{
|
m_nVarialbeId = atoi(pszId);
|
m_strName = pszName;
|
m_format = toFormat(pszFormat);
|
m_strRemark = pszRemark;
|
TRACE("CVariable .....%d,%s,%d,%s\n", m_nVarialbeId, m_strName.c_str(),
|
m_format, m_strRemark.c_str());
|
|
}
|
|
CVariable::~CVariable()
|
{
|
|
}
|
|
SVFromat CVariable::toFormat(const char* pszFormat)
|
{
|
if (_strcmpi("U1", pszFormat) == 0) {
|
return SVFromat::U1;
|
}
|
if (_strcmpi("U2", pszFormat) == 0) {
|
return SVFromat::U2;
|
}
|
if (_strcmpi("I2", pszFormat) == 0) {
|
return SVFromat::I2;
|
}
|
if (_strcmpi("A50", pszFormat) == 0) {
|
return SVFromat::A50;
|
}
|
if (_strcmpi("A20", pszFormat) == 0) {
|
return SVFromat::A20;
|
}
|
if (_strcmpi("L", pszFormat) == 0) {
|
return SVFromat::L;
|
}
|
|
return SVFromat::U1;
|
}
|
|
|
std::string CVariable::formatToString(SVFromat format)
|
{
|
if (SVFromat::U1 == format) {
|
return "U1";
|
}
|
if (SVFromat::U2 == format) {
|
return "U1";
|
}
|
if (SVFromat::I2 == format) {
|
return "I2";
|
}
|
if (SVFromat::A50 == format) {
|
return "A50";
|
}
|
if (SVFromat::A20 == format) {
|
return "A20";
|
}
|
if (SVFromat::L == format) {
|
return "L";
|
}
|
|
return "U1";
|
}
|
|
unsigned int CVariable::getVarialbleId()
|
{
|
return m_nVarialbeId;
|
}
|
|
std::string& CVariable::getName()
|
{
|
return m_strName;
|
}
|
|
SVFromat CVariable::getFormat()
|
{
|
return m_format;
|
}
|
|
std::string& CVariable::getRemark()
|
{
|
return m_strRemark;
|
}
|
|
void CVariable::setValue(__int64 value)
|
{
|
if (m_format == SVFromat::U1 || m_format == SVFromat::U2 || m_format == SVFromat::I2) {
|
m_nValue = value;
|
}
|
}
|
|
void CVariable::setValue(const char* pszValue)
|
{
|
std::string strTemp = pszValue;
|
if (m_format == SVFromat::A20) {
|
if (strTemp.length() > 20) {
|
strTemp = strTemp.substr(0, 20);
|
}
|
}
|
else if (m_format == SVFromat::A50) {
|
if (strTemp.length() > 50) {
|
strTemp = strTemp.substr(0, 50);
|
}
|
}
|
|
m_strValue = strTemp;
|
}
|
|
void CVariable::setValue(std::vector<CVariable>& vars)
|
{
|
m_varsValue = vars;
|
}
|
|
std::string CVariable::getValue()
|
{
|
std::string strRet;
|
if (m_format == SVFromat::U1 || m_format == SVFromat::U2 || m_format == SVFromat::I2) {
|
strRet = std::to_string(m_nValue);
|
}
|
else if(m_format == SVFromat::A20 || m_format == SVFromat::A50) {
|
strRet = m_strValue;
|
}
|
|
return strRet;
|
}
|
|
__int64 CVariable::getIntValue()
|
{
|
if (m_format == SVFromat::U1 || m_format == SVFromat::U2 || m_format == SVFromat::I2) {
|
return m_nValue;
|
}
|
|
return 0;
|
}
|
|
std::vector<CVariable>& CVariable::getVarsValue()
|
{
|
return m_varsValue;
|
}
|
}
|