public void ButtonNext_Click(object sender, RoutedEventArgs e) { // 将数据保存到文件 try { if (Check()) { if (null == _item) {// 这属于新添加 _item = new DYGSZItemPara(); Global.gszItems.Add(_item); } if (sender == null && e == null) { _item.Name = _GSZItemNameType[0].ToString(); //项目名称 _item.Unit = _GSZItemNameType[3].ToString(); //项目检测单位 _item.HintStr = _GSZItemNameType[4].ToString(); //简要提示:新添加实验--注释 _item.Password = _GSZItemNameType[5].ToString(); //密码 Int32.TryParse(_GSZItemNameType[6].ToString(), out _item.SampleNum); //样品编号 //Int32.TryParse(JTJItemNameType[9].ToString(), out item.Wave);//波长 //检测方法选择 _item.Method = Convert.ToInt32(_GSZItemNameType[12].ToString()); _item.Hole[0].Use = Convert.ToBoolean(_GSZItemNameType[8].ToString()); _item.Hole[1].Use = Convert.ToBoolean(_GSZItemNameType[9].ToString()); _item.Hole[2].Use = true; _item.Hole[3].Use = true; //item.InvalidC = Convert.ToInt32(JTJItemNameType[7].ToString()); } else { _item.Name = TextBoxItemName.Text; _item.Password = TextBoxPassword.Text; _item.HintStr = TextBoxHintStr.Text; Int32.TryParse(TextBoxSampleNum.Text, out _item.SampleNum); _item.Unit = TextBoxUnit.Text; List <CheckBox> listCheckBoxes = UIUtils.GetChildObjects <CheckBox>(StackPanelHole, typeof(CheckBox)); for (int i = 0; i < Global.deviceHole.SxtCount; ++i) { _item.Hole[i].Use = (bool)listCheckBoxes[i].IsChecked; } _item.Method = ComboBoxMethod.SelectedIndex; } if (0 == _item.Method) { Double.TryParse(TextBoxDXPlusT.Text, out _item.dx.PlusT); Double.TryParse(TextBoxDXMinusT.Text, out _item.dx.MinusT); _item.dx.RGBSelPlus = ComboBoxDXRGBSelPlus.SelectedIndex; _item.dx.RGBSelMinus = ComboBoxDXRGBSelMinus.SelectedIndex; _item.dx.ComparePlus = ComboBoxDXComparePlus.SelectedIndex; _item.dx.CompareMinus = ComboBoxDXCompareMinus.SelectedIndex; } else if (1 == _item.Method) { _item.dl.RGBSel = ComboBoxDLRGBSel.SelectedIndex; Double.TryParse(TextBoxDLA0.Text, out _item.dl.A0); Double.TryParse(TextBoxDLA1.Text, out _item.dl.A1); Double.TryParse(TextBoxDLA2.Text, out _item.dl.A2); Double.TryParse(TextBoxDLA3.Text, out _item.dl.A3); Double.TryParse(TextBoxDLB0.Text, out _item.dl.B0); Double.TryParse(TextBoxDLB1.Text, out _item.dl.B1); Double.TryParse(TextBoxDLLimitL.Text, out _item.dl.LimitL); Double.TryParse(TextBoxDLLimitH.Text, out _item.dl.LimitH); } Global.SerializeToFile(Global.gszItems, Global.gszItemsFile); _isClose = true; _isUpdate = false; try { this.Close(); } catch (Exception) { } } else { _isClose = false; } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
private GSZResult CalGSZFResult(double[] rgb, DYGSZItemPara mItem) { GSZResult gszResult = new GSZResult(); double a = 0, v = 0, f, GSZFppb; double r, g, b; r = rgb[0]; g = rgb[1]; b = rgb[2]; if (DYGSZItemPara.METHOD_DL == mItem.Method) { // 定量 switch (mItem.dl.RGBSel) { case 0: a = r; break; case 1: a = g; break; default: a = b; break; } f = mItem.dl.A0 + mItem.dl.A1 * a + mItem.dl.A2 * a * a + mItem.dl.A3 * a * a * a; f = mItem.dl.B0 * f + mItem.dl.B1; GSZFppb = f; gszResult.density = GSZFppb; if ((GSZFppb >= mItem.dl.LimitH) && (0 != mItem.dl.LimitH)) { gszResult.result = GSZResult.GSZF_STAT_PLUS; } else if ((GSZFppb <= mItem.dl.LimitL) && (0 != mItem.dl.LimitL)) { gszResult.result = GSZResult.GSZF_STAT_PLUS; } else { gszResult.result = GSZResult.GSZF_STAT_MINUS; } return(gszResult); } else { // 定性 阳性 switch (mItem.dx.RGBSelPlus) { case 0: v = r; break; case 1: v = g; break; case 2: v = b; break; } if ((0 == mItem.dx.ComparePlus) && (v >= mItem.dx.PlusT)) { gszResult.result = GSZResult.GSZF_STAT_PLUS; return(gszResult); } else if ((1 == mItem.dx.ComparePlus) && (v < mItem.dx.PlusT)) { gszResult.result = GSZResult.GSZF_STAT_PLUS; return(gszResult); } // 定性 阴性 switch (mItem.dx.RGBSelMinus) { case 0: v = r; break; case 1: v = g; break; case 2: v = b; break; } if ((0 == mItem.dx.CompareMinus) && (v >= mItem.dx.MinusT)) { gszResult.result = GSZResult.GSZF_STAT_MINUS; return(gszResult); } else if ((1 == mItem.dx.CompareMinus) && (v < mItem.dx.MinusT)) { gszResult.result = GSZResult.GSZF_STAT_MINUS; return(gszResult); } } return(gszResult); }