예제 #1
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            string input1 = edtQuickEntry.Text;
            string input2 = null;
            int    idx    = input1.IndexOf(" to ", System.StringComparison.Ordinal);

            if (idx != -1)
            {
                input2 = input1.Substring(idx + " to ".Length);
                input1 = input1.Substring(0, idx);
            }

            bool         useLimitPair = false;
            List <Value> values1      = ElectricalUtils.ParseExpression(input1);
            List <Value> values2      = null;

            if (input2 != null)
            {
                values2      = ElectricalUtils.ParseExpression(input2);
                useLimitPair = true;
            }

            if (values1.Count > 0)
            {
                Value      value1      = values1[0];
                ErrorLimit errorLimit1 = value1.errorLimit;
                Value      resolution1 = value1.resoluion;
                string     unit1       = value1.unit;
                string     val1        = value1.value;
                @double    datum1      = value1.@double;
                _limit = new Limit();
                if (!useLimitPair)
                {
                    cmbLimitType.SelectedIndex = LIMIT_EXPECTED;
                    var le = new LimitExpected {
                        Item = datum1
                    };
                    _limit.Item = le;
                    //20msV errlmt 0.01% res 1mV range 50mV to 10V  range 100mV to 20V
                }
                else
                {
                    cmbLimitType.SelectedIndex = LIMIT_PAIR;
                    SingleLimit limit1 = new SingleLimit();
                    SingleLimit limit2 = new SingleLimit();
                    limit1.comparator = ComparisonOperator.GE;
                    limit2.comparator = ComparisonOperator.LE;
                    var lp = new LimitPair {
                        Limit = new List <SingleLimit> {
                            limit1, limit2
                        }
                    };
                    limit1.Item = datum1;
                    if (values2.Count > 0)
                    {
                        Value      value2      = values2[0];
                        ErrorLimit errorLimit2 = value2.errorLimit;
                        Value      resolution2 = value2.resoluion;
                        string     unit2       = value2.unit;
                        string     val2        = value2.value;
                        @double    datum2      = value2.@double;
                        limit2.Item = datum2;
                        //20mV errlmt 0.01% res 1mV range 50mV to 10V  range 100mV to 20V
                    }
                    _limit.Item = lp;
                }
                DataToControls();
            }
        }