/// <summary> /// 获取所有载波方案列表 /// </summary> /// <returns>返回List</returns> public List <StCarrierInfo> GetCarrierList() { List <StCarrierInfo> lst_stCarrierInfo = new List <StCarrierInfo>(); foreach (string _name in m_Dic_CarrierInfo.Keys) { StCarrierInfo stc_tmp = m_Dic_CarrierInfo[_name]; lst_stCarrierInfo.Add(stc_tmp); } return(lst_stCarrierInfo); }
/// <summary> /// 新增一个载波方案 /// </summary> /// <param name="p_sci_CarrierInfo">载波方案结构体</param> public void Add(StCarrierInfo p_sci_CarrierInfo) { if (p_sci_CarrierInfo.CarrierName == "") { return; } if (m_Dic_CarrierInfo.ContainsKey(p_sci_CarrierInfo.CarrierName)) { m_Dic_CarrierInfo[p_sci_CarrierInfo.CarrierName] = p_sci_CarrierInfo; } else { m_Dic_CarrierInfo.Add(p_sci_CarrierInfo.CarrierName, p_sci_CarrierInfo); } this.Save(); //新增完毕保存XML文档 }
/// <summary> /// 读取初始化载波方案模型 /// </summary> public void Load() { string _ErrorString = ""; m_Dic_CarrierInfo.Clear(); //清空载波方案集合 XmlNode _XmlNode = clsXmlControl.LoadXml(Application.StartupPath + Const.Variable.CONST_CARRIER, out _ErrorString); if (_ErrorString != "") { _XmlNode = clsXmlControl.CreateXmlNode("CarrierInfo"); XmlNode _XmlChildNode = clsXmlControl.CreateXmlNode("R", "CarrierName", "标准载波方案", "CarrierType", "2041", "RdType", "东软", "CommuType", "COM", "BaudRate", "9600,n,8,1", "Comm", "COM1", "CmdTime", "10", "ByteTime", "10", "RouterID", "0"); _XmlNode.AppendChild(_XmlChildNode); clsXmlControl.SaveXml(_XmlNode, Application.StartupPath + Const.Variable.CONST_CARRIER); } for (int _i = 0; _i < _XmlNode.ChildNodes.Count; _i++) { StCarrierInfo sci_CarrierInfo = new StCarrierInfo(); sci_CarrierInfo.CarrierName = _XmlNode.ChildNodes[_i].Attributes[0].Value; sci_CarrierInfo.CarrierType = _XmlNode.ChildNodes[_i].Attributes[1].Value; sci_CarrierInfo.RdType = _XmlNode.ChildNodes[_i].Attributes[2].Value; sci_CarrierInfo.CommuType = _XmlNode.ChildNodes[_i].Attributes[3].Value; sci_CarrierInfo.BaudRate = _XmlNode.ChildNodes[_i].Attributes[4].Value; sci_CarrierInfo.Comm = _XmlNode.ChildNodes[_i].Attributes[5].Value; sci_CarrierInfo.CmdTime = _XmlNode.ChildNodes[_i].Attributes[6].Value; sci_CarrierInfo.ByteTime = _XmlNode.ChildNodes[_i].Attributes[7].Value; if (_XmlNode.ChildNodes[_i].Attributes.Count > 8) { sci_CarrierInfo.RouterID = byte.Parse(_XmlNode.ChildNodes[_i].Attributes[8].Value); } m_Dic_CarrierInfo.Add(sci_CarrierInfo.CarrierName, sci_CarrierInfo); } return; }