/// <summary>
        /// 加载配置文件
        /// </summary>
        private void LoadConfig()
        {
            try
            {
                XmlDocument config = new XmlDocument();
                config.Load(_configFile);

                XmlNode root = config.SelectSingleNode("Root");

                #region LoadNormalCommand
                XmlNodeList areas = root.SelectNodes("Area");
                _areas.Clear();
                foreach (XmlNode area in areas)
                {
                    string areaName = area.SelectSingleNode("AreaName").InnerText;
                    Area tempArea = new Area(areaName);
                    _areas.Add(tempArea);

                    XmlNodeList actions = area.SelectNodes("Action");
                    foreach (XmlNode action in actions)
                    {
                        string actionName = action.SelectSingleNode("ActionName").InnerText;
                        string actionReceiveData = action.SelectSingleNode("ActionReceiveData").InnerText;
                        UserAction useraction = new UserAction(actionName,actionReceiveData);
                        //tempArea.Actions.Add(useraction);
                        _userAction.Add(useraction);
                        XmlNodeList oprations = action.SelectNodes("Operation");
                        foreach (XmlNode operation in oprations)
                        {
                            string operationName = operation.SelectSingleNode("OperationName").InnerText;
                            string operationTypeString = operation.SelectSingleNode("OperationType").InnerText;
                            OprationType operationType = (OprationType)Enum.Parse(typeof(OprationType),operationTypeString,true);
                            XmlNode operationSetting = operation.SelectSingleNode("OperationSetting");
                            object setting = null;
                            if (operationType == OprationType.Com)
                            {
                                ComSetting cs = new ComSetting();
                                cs.ComNumber = operationSetting.SelectSingleNode("ComNumber").InnerText;
                                cs.BaudRate = int.Parse(operationSetting.SelectSingleNode("BaudRate").InnerText);
                                cs.DataBits = int.Parse(operationSetting.SelectSingleNode("DataBit").InnerText);
                                cs.StopBits = int.Parse(operationSetting.SelectSingleNode("StopBit").InnerText);
                                cs.Parity = (Parity)Enum.Parse(typeof(Parity),operationSetting.SelectSingleNode("Parity").InnerText);

                                setting = cs;
                            }
                            else if (operationType == OprationType.TCP || operationType == OprationType.UDP)
                            {
                                NetworkSetting ns = new NetworkSetting();
                                ns.Ip = operationSetting.SelectSingleNode("IP").InnerText;
                                ns.Port = int.Parse(operationSetting.SelectSingleNode("Port").InnerText);
                                setting = ns;
                            }

                            string dataTypeString = operation.SelectSingleNode("OperationDataType").InnerText;
                            DataType dataType = (DataType)Enum.Parse(typeof(DataType),dataTypeString,true);
                            string data = operation.SelectSingleNode("OperationData").InnerText;
                            int time = int.Parse(operation.SelectSingleNode("OperationTime").InnerText);
                            UserOperation userOperation = new UserOperation(operationName,operationType,dataType,setting,data,time);
                            _userOperation.Add(userOperation);
                        }
                    }

                }
                _arealist.Refresh();
                #endregion
            }
            catch(Exception ex)
            {
                MessageBox.Show("未找到配置命令!");
                
            }

        }
Ejemplo n.º 2
0
 public void Remove(UserAction op)
 {
     _actions.Remove(op);
 }
Ejemplo n.º 3
0
 public void Remove(UserAction op)
 {
     _actions.Remove(op);
 }
Ejemplo n.º 4
0
 public void AddAction(UserAction op)
 {
     _actions.Add(op);
 }
Ejemplo n.º 5
0
 public void AddAction(UserAction op)
 {
     _actions.Add(op);
 }