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); }
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 { } }
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); }
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 { } }