Example #1
0
        private bool initExhausitiver()
        {
            currentParamNames = matchExport(ConfigBodyTextBox.Text, new Regex("\\$\\{([A-Za-z0-9_]+)\\}"));
            if (currentParamNames == null || currentParamNames.Count < 1)
            {
                MessageBox.Show("请在正文填写参数:${参数名}");
                return(false);
            }
            ExhausitiverConfig config = parseConfig();

            commConfig = config;
            if (config.Dics == null || config.Dics.Count < 1)
            {
                MessageBox.Show("请先导入字典");
                return(false);
            }
            Dictionary <String, ExhausitiverDic> dics = new Dictionary <string, ExhausitiverDic>();

            foreach (ExhausitiverDic dic in config.Dics)
            {
                if (!currentParamNames.Contains(dic.ParamName))
                {
                    MessageBox.Show("字典字段名无效:" + dic.ParamName);
                    return(false);
                }
                try
                {
                    dics.Add(dic.Path, dic);
                }
                catch { }
            }
            dicHandle = new DicManageHandle(dics);
            DicStripStatusLabel.Text = "总数:" + Convert.ToString(dicHandle.totalNums);
            return(true);
        }
Example #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                ExhausitiverConfig config = parseConfig();

                String json = JsonHandle.toJson(config);
                json = JsonHandle.JsonTree(json);
                String     fileName = System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf";
                FileStream fs       = new FileStream(fileName, FileMode.Create);
                byte[]     data     = System.Text.Encoding.Default.GetBytes(json);
                fs.Write(data, 0, data.Length);
                fs.Flush();
                fs.Close();
                MessageBox.Show("保存成功(" + fileName + ")");
            }
            catch { }
        }
Example #3
0
        private ExhausitiverConfig parseConfig()
        {
            ExhausitiverConfig config  = new ExhausitiverConfig();
            ExhausitiverEntity general = new ExhausitiverEntity();

            general.Protocol  = ConfigProtocolComboBox.Text;
            general.Host      = ConfigHostTextBox.Text.Trim();
            general.Method    = ConfigMethodComboBox.Text;
            general.Port      = Convert.ToInt32(ConfigPortTextBox.Text);
            general.TimeOut   = Convert.ToInt32(ConfigTimeOutCombox.Text.Replace("秒", "")) * 1000;
            general.Encode    = ConfigEncodeComboBox.Text;
            general.Data      = Encoding.GetEncoding(ConfigEncodeComboBox.Text.Equals("自动") ? "UTF-8" : ConfigEncodeComboBox.Text).GetBytes(ConfigBodyTextBox.Text);
            general.Body      = ConfigBodyTextBox.Text;
            general.ThreadNum = Convert.ToInt32(ConfigThreadNumComboBox.Text);
            config.General    = general;
            ExhaustiverVerification verification = new ExhaustiverVerification();

            verification.CalcType         = ConfigCalcComboBox.SelectedIndex;
            verification.VerificationType = ConfigVerificationTypeComboBox.SelectedIndex;
            verification.Value            = ConfigVerificationValueTextBox.Text;
            verification.SuccessThenStop  = (SuccessStopCheckBox.Checked)?true:false;
            config.Verification           = verification;
            List <ExhausitiverDic> dics = new List <ExhausitiverDic>();

            for (int i = 0; i < DicsListview.Items.Count; i++)
            {
                ExhausitiverDic dic = new ExhausitiverDic();
                dic.ParamName = DicsListview.Items[i].SubItems[0].Text;
                dic.Path      = DicsListview.Items[i].SubItems[1].Text;
                dics.Add(dic);
            }
            config.Dics = dics;
            String     json = JsonHandle.toJson(config);
            FileStream fs   = new FileStream(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf", FileMode.Create);

            byte[] data = System.Text.Encoding.Default.GetBytes(json);
            fs.Write(data, 0, data.Length);
            fs.Flush();
            fs.Close();
            return(config);
        }
Example #4
0
 private void loadConfig(String fileName)
 {
     try
     {
         if (String.IsNullOrEmpty(fileName))
         {
             fileName = System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf";
         }
         StreamReader  sr = new StreamReader(fileName, Encoding.Default);
         String        line;
         StringBuilder configContext = new StringBuilder();
         while ((line = sr.ReadLine()) != null)
         {
             configContext.AppendLine(line);
         }
         sr.Close();
         ExhausitiverConfig config = (ExhausitiverConfig)JsonHandle.toBean <ExhausitiverConfig>(configContext.ToString());
         ConfigProtocolComboBox.Text = config.General.Protocol;
         ConfigHostTextBox.Text      = config.General.Host;
         ConfigMethodComboBox.Text   = config.General.Method;
         ConfigPortTextBox.Text      = Convert.ToString(config.General.Port);
         ConfigTimeOutCombox.Text    = (config.General.TimeOut * 1000) + "秒";
         ConfigEncodeComboBox.Text   = config.General.Encode;
         ConfigBodyTextBox.Text      = Encoding.GetEncoding(ConfigEncodeComboBox.Text.Equals("自动") ? "UTF-8" : ConfigEncodeComboBox.Text).GetString(config.General.Data);
         ConfigVerificationTypeComboBox.SelectedIndex = config.Verification.CalcType;
         ConfigCalcComboBox.SelectedIndex             = config.Verification.VerificationType;
         ConfigVerificationValueTextBox.Text          = config.Verification.Value;
         ConfigThreadNumComboBox.Text = Convert.ToString(config.General.ThreadNum);
         SuccessStopCheckBox.Checked  = config.Verification.SuccessThenStop;
         foreach (ExhausitiverDic dic in config.Dics)
         {
             ListViewItem lvi = new ListViewItem();
             lvi.SubItems[0].Text = dic.ParamName;
             lvi.SubItems.Add(dic.Path);
             DicsListview.Items.Add(lvi);
         }
     }
     catch { }
 }