コード例 #1
0
ファイル: HunterMain.Methods.cs プロジェクト: zhangrl/Hunter3
        public StrategyData LoadStrategy(String strategyPath)
        {
            StrategyData result = null;

            try
            {
                strategyPath = HunterUtilities.AbsolutePath(strategyPath);
                result       = StrategyReader.LoadStrategy(strategyPath);
                WriteMessage(result.GetStrategyInformation());
                mHunterConfig.CurrentStrategyFile = strategyPath;
            }
            catch
            {
                throw;
            }
            return(result);
        }
コード例 #2
0
ファイル: HunterMain.Methods.cs プロジェクト: zhangrl/Hunter3
        private void LoadStrategyList()
        {
            try
            {
                bool          hasAddedSeparator = false;
                int           addedCount        = 0;
                DirectoryInfo d     = new DirectoryInfo(HunterUtilities.AbsolutePath(mHunterConfig.StrategyFolder));
                FileInfo[]    files = d.GetFiles();

                foreach (ToolStripMenuItem t in tsStrategies)
                {
                    miStrategyList.DropDownItems.Remove(t);
                }

                foreach (FileInfo f in files)
                {
                    try
                    {
                        StrategyData data = StrategyReader.LoadStrategy(f.FullName);
                        //出现在列表的条件:<Title>不为空
                        if (data.information.Title != "")
                        {
                            if (!hasAddedSeparator)
                            {
                                ToolStripSeparator s = new ToolStripSeparator();
                                miStrategyList.DropDownItems.Add(s);
                                tsStrategies.Add(s);
                                hasAddedSeparator = true;
                            }

                            addedCount++;
                            ToolStripMenuItem mi = new ToolStripMenuItem();
                            mi.Tag          = f.FullName;
                            mi.CheckOnClick = false;
                            mi.Click       += new EventHandler(mi_Click);
                            mi.Text         = data.information.Title;
                            miStrategyList.DropDownItems.Add(mi);
                            tsStrategies.Add(mi);
                            addedCount++;

                            if (String.Compare(f.FullName, new FileInfo(HunterUtilities.AbsolutePath(mHunterConfig.CurrentStrategyFile)).FullName, true) == 0)
                            {
                                mi.Checked = true;
                            }
                            else
                            {
                                mi.Checked = false;
                            }
                        }
                    }
                    catch
                    {
                    }
                }
            }
            catch (DirectoryNotFoundException ex)
            {
                mHunterConsole.WriteException(ex);
                mHunterConsole.WriteException(new Exception("请手动更改config.xml中的策略文件路径。"));
            }
            catch (Exception ex)
            {
                mHunterConsole.WriteException(ex);
            }
        }