| 对比新文件 |
| | |
| | | #include "stdafx.h" |
| | | #include "CReport.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CReport::CReport() |
| | | { |
| | | m_nReportId = 0; |
| | | } |
| | | |
| | | CReport::CReport(unsigned int reportId, std::vector<unsigned int>& vids) |
| | | { |
| | | m_nReportId = reportId; |
| | | for (auto vid : vids) { |
| | | m_vids.push_back(vid); |
| | | } |
| | | } |
| | | |
| | | CReport::~CReport() |
| | | { |
| | | |
| | | } |
| | | |
| | | unsigned int CReport::getReportId() |
| | | { |
| | | return m_nReportId; |
| | | } |
| | | |
| | | BOOL CReport::addVariable(CVariable* pVariable) |
| | | { |
| | | ASSERT(pVariable); |
| | | if (getVariable(pVariable->getVarialbleId()) != nullptr) { |
| | | return FALSE; |
| | | } |
| | | |
| | | m_variabels.push_back(pVariable); |
| | | return TRUE; |
| | | } |
| | | |
| | | BOOL CReport::deleteVarialble(unsigned int nVarialbleId) |
| | | { |
| | | BOOL bDelete = FALSE; |
| | | for (auto iter = m_variabels.begin(); iter != m_variabels.end(); ++iter) { |
| | | if (nVarialbleId == (*iter)->getVarialbleId()) { |
| | | m_variabels.erase(iter); |
| | | bDelete = TRUE; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return bDelete; |
| | | } |
| | | |
| | | CVariable* CReport::getVariable(unsigned int nVarialbleId) |
| | | { |
| | | for (auto item : m_variabels) { |
| | | if (nVarialbleId == item->getVarialbleId()) { |
| | | return item; |
| | | } |
| | | } |
| | | |
| | | return nullptr; |
| | | } |
| | | |
| | | std::vector<CVariable*>& CReport::getVariables() |
| | | { |
| | | return m_variabels; |
| | | } |
| | | |
| | | std::string CReport::getVariablesIdsText() |
| | | { |
| | | std::string strResult, strName; |
| | | for (int i = 0; i < m_vids.size(); i++) { |
| | | strResult += std::to_string(m_vids[i]); |
| | | strResult += "("; |
| | | strResult += (getVariableName(m_vids[i], strName) ? |
| | | strName : _T("null")); |
| | | strResult += ")"; |
| | | if (i != m_vids.size() - 1) { |
| | | strResult += ","; |
| | | } |
| | | } |
| | | |
| | | return strResult; |
| | | } |
| | | |
| | | bool CReport::getVariableName(unsigned int vid, std::string& strName) |
| | | { |
| | | for (auto item : m_variabels) { |
| | | if (item->getVarialbleId() == vid) { |
| | | strName = item->getName(); |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | } |