///////////////////////////////////////////////////////////////////////////////////////////////////////////// // 设置条件 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// void SVConditionParam::SetCondition(MAPNODE &alertnode) { string szRelationCount (""); // 条件文本置空 if(m_pConditionArea) m_pConditionArea->setText(""); // 设置帮助文本 if(m_pHelpText) m_pHelpText->setText(m_szHelp); // 设置错误提示信息 if(m_pErrText) m_pErrText->setText(m_szTip); // 得到条件 FindNodeValue(alertnode, svConditionCount, szRelationCount); char szKey [16] = {0}; string szCondition (""), szReturn (""), szParamValue ("") , szRelation (""); int nCount = 0; // 展示条件 if(!szRelationCount.empty()) { nCount = atoi(szRelationCount.c_str()); for(int i = 1; i <= nCount; i++) { szRelation = ""; sprintf(szKey, svRelation, i); FindNodeValue(alertnode, szKey, szRelation); sprintf(szKey, svParamName, i); FindNodeValue(alertnode, szKey, szReturn); sprintf(szKey, svOperate, i); FindNodeValue(alertnode, szKey, szCondition); sprintf(szKey, svParamValue, i); FindNodeValue(alertnode, szKey, szParamValue); getParamLabel(szReturn); if(m_pConditionArea) { string szValue(""); if(!szRelation.empty()) szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket + " " + szRelation + " "; else szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket; m_pConditionArea->setText(m_pConditionArea->text() + szValue); } } } }
void SVConditionParam::SetCondition(MAPNODE &alertnode) { string szRelationCount (""); if(m_pConditionArea) m_pConditionArea->setText(""); FindNodeValue(alertnode, "sv_conditioncount", szRelationCount); char szKey [16] = {0}; string szCondition (""), szReturn (""), szParamValue ("") , szRelation (""); int nCount = 0; if(!szRelationCount.empty()) { nCount = atoi(szRelationCount.c_str()); for(int i = 1; i <= nCount; i++) { szRelation = ""; sprintf(szKey, "sv_relation%d", i); FindNodeValue(alertnode, szKey, szRelation); sprintf(szKey, "sv_paramname%d", i); FindNodeValue(alertnode, szKey, szReturn); sprintf(szKey, "sv_operate%d", i); FindNodeValue(alertnode, szKey, szCondition); sprintf(szKey, "sv_paramvalue%d", i); FindNodeValue(alertnode, szKey, szParamValue); getParamLabel(szReturn); if(m_pConditionArea) { string szValue(""); if(!szRelation.empty()) szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket + " " + szRelation + " "; else szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket; m_pConditionArea->setText(m_pConditionArea->text() + szValue); } } } }