private void Load() { _LstErrAccord = new List <StErrAccord>(); clsXmlControl _XmlNode = new clsXmlControl(_FAPath); if (_XmlNode.Count() == 0) { return; } for (int _i = 1; _i < 5; _i++) //项目类型 { XmlNode _Xml = _XmlNode.toXmlNode(); _Xml = clsXmlControl.FindSencetion(_Xml, clsXmlControl.XPath(string.Format("R,PrjType,{0}", _i.ToString()))); if (_Xml == null) { continue; } CLDC_DataCore.Struct.StErrAccord _Prj = new StErrAccord(); _Prj.PrjName = _Xml.Attributes["PrjName"].Value; _Prj.ErrAccordType = int.Parse(_Xml.Attributes["PrjType"].Value); _Prj.Time1 = float.Parse(_Xml.Attributes["Time1"].Value); _Prj.Time2 = float.Parse(_Xml.Attributes["Time2"].Value); //string[] _TmpArr = _XmlNode.AttributeValue("", "PrjName", "Time1", "Time2"); //_Prj.PrjName = _TmpArr[0]; //_Prj.Time1 = float.Parse(_TmpArr[1]); //_Prj.Time2 = float.Parse(_TmpArr[2]); _Prj.lstErrPoint = new List <StErrAccordbase>(); //List<stErrAccordbase> _Prj for (int _j = 0; _j < _Xml.ChildNodes.Count; _j++) { CLDC_DataCore.Struct.StErrAccordbase _Point = new CLDC_DataCore.Struct.StErrAccordbase(); _Point.PrjID = _Xml.ChildNodes[_j].Attributes["PrjID"].Value; _Point.TestPointName = _Xml.ChildNodes[_j].Attributes["TestPointName"].Value; _Point.PowerYinSu = _Xml.ChildNodes[_j].Attributes["GLYS"].Value; _Point.PowerDianLiu = _Xml.ChildNodes[_j].Attributes["xIb"].Value; _Prj.lstErrPoint.Add(_Point); } _LstErrAccord.Add(_Prj); } return; }
/// <summary> /// 加载方案XML文档 /// </summary> private void Load() { LstCheckPoint = new List <StPlan_WcPoint>(); clsXmlControl _XmlNode = new clsXmlControl(_FAPath); if (_XmlNode.Count() == 0) { return; } string[] _TmpArr = _XmlNode.AttributeValue("", "QSCZ", "QS", "CzWcLimit"); Qscz = _TmpArr[0]; Czqs = int.Parse(_TmpArr[1]); if (_TmpArr[2] != "") { CzWcLimit = _TmpArr[2]; } for (int _i = 1; _i < 9; _i++) //功率方向1,2,3,4,5,6,7,8 { XmlNode _Xml = _XmlNode.toXmlNode(); _Xml = clsXmlControl.FindSencetion(_Xml, clsXmlControl.XPath(string.Format("R,GLFX,{0}", _i.ToString()))); if (_Xml == null) { continue; } GlfxYj[_i - 1] = true; for (int _j = 0; _j < _Xml.ChildNodes.Count; _j++) { StPlan_WcPoint _Point = new StPlan_WcPoint(); _Point.PrjID = _Xml.ChildNodes[_j].Attributes["PrjID"].Value; _Point.PrjName = _Xml.ChildNodes[_j].Attributes["PrjName"].Value; _Point.PowerYinSu = _Xml.ChildNodes[_j].Attributes["GLYS"].Value; _Point.PowerDianLiu = _Xml.ChildNodes[_j].Attributes["xIb"].Value; if (_Xml.ChildNodes[_j].Attributes.Count > 5) { _Point.Dif_Err_Flag = int.Parse(_Xml.ChildNodes[_j].Attributes["FHC"].Value); } LstCheckPoint.Add(_Point); } } return; }
///// <summary> ///// 静态函数,返回内控误差限文件名 ///// </summary> ///// <returns></returns> //public static List<string> getWcLimitFileNames() //{ // return Comm.Function.Folder.getFileNames(Application.StartupPath + Const.Variable.CONST_WCLIMIT,"*.xml"); //} /// <summary> /// 加载误差限值文档 /// </summary> public void Load() { _XmlNode = new clsXmlControl(Application.StartupPath + "\\Const\\WcLimit.xml"); if (_XmlNode == null || _XmlNode.Count() == 0) { #region 初始误差限参数信息 StringBuilder sbXmlNode = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); string[] _GuiChengName = { "JJG596-1999", "JJG307-1988", "JJG307-2006" }; sbXmlNode.Append("<WcLimit>"); if (_GuiChengName.Length > 0) { for (int _GC = 0; _GC < _GuiChengName.Length; _GC++) { //标志进度 if (LstLoadProcess.Count <= _GC) { LstLoadProcess.Add(LoadProcess.NotStart); } LstLoadProcess[_GC] = LoadProcess.NotStart; ThreadPool.QueueUserWorkItem(new WaitCallback(thLoad), new object[] { _GuiChengName[_GC], sbXmlNode, _GC }); } //等待所有线程执行完毕 for (int i = 0; i < LstLoadProcess.Count; i++) { Thread.Sleep(10); if (LstLoadProcess[i] != LoadProcess.Complated) { i = 0; continue; } } } sbXmlNode.Append("</WcLimit>"); System.IO.File.WriteAllText(Application.StartupPath + Const.Variable.CONST_WCLIMIT + @"\" + WcLimitName + ".xml", sbXmlNode.ToString(), Encoding.UTF8); _XmlNode = new clsXmlControl(Application.StartupPath + Const.Variable.CONST_WCLIMIT + @"\" + WcLimitName + ".xml"); #endregion } }