Пример #1
0
        public void SaveRuleAs()
        {
            string rule = TbRule.Text.Trim();
            if (string.IsNullOrEmpty(rule))
            {
                return;
            }

            string name = Main.ShowInput(this, "请输入模板名称:", "");
            while (true)
            {
                if (name == null)
                {
                    return;
                }
                if (!_UserModel.RuleNameExists(name))
                {
                    break;
                }
                name = Main.ShowInput(this, "名称已存在,请重新输入:", name);
            }

            MRen ren = new MRen();
            ren.Order = LbRule.Items.Count;
            ren.Name = name;
            ren.Command = rule;

            _UserModel.AddRule(ren);
            LbRule.Items.Add(ren);

            _UserModel.SaveRules();
        }
Пример #2
0
        public List<MRen> LoadRules()
        {
            _RuleList = new List<MRen>(32);

            string file = Path.Combine(DatHome, "ARen-Lib.xml");
            using (XmlReader reader = XmlReader.Create(file, new XmlReaderSettings { IgnoreComments = true, IgnoreWhitespace = true }))
            {
                if (reader.Name != "App" && !reader.ReadToFollowing("App") || reader.ReadElementContentAsString() != "ARen")
                {
                    return _RuleList;
                }
                if (reader.Name != "Ver" && !reader.ReadToFollowing("Ver") || reader.ReadElementContentAsString() != "1")
                {
                    return _RuleList;
                }
                MRen ren;
                while (reader.Name == "Ren" || reader.ReadToFollowing("Ren"))
                {
                    ren = new MRen();
                    if (!ren.FromXml(reader))
                    {
                        continue;
                    }
                    _RuleList.Add(ren);
                }
            }
            return _RuleList;
        }
Пример #3
0
        public void ImportRule(string file)
        {
            if (!File.Exists(file))
            {
                return;
            }

            using (StreamReader sr = new StreamReader(file))
            {
                using (XmlReader reader = XmlReader.Create(sr))
                {
                    MRen ren;
                    while (reader.ReadToFollowing("Ren"))
                    {
                        ren = new MRen();
                        if (!ren.FromXml(reader))
                        {
                            continue;
                        }
                        LbRule.Items.Add(ren);
                    }
                }

                sr.Close();
            }
        }
Пример #4
0
 public void AddRule(MRen ren)
 {
     _RuleList.Add(ren);
 }