コード例 #1
0
 private void onePanelChanged(object sender, EventArgs e)
 {
     if (this.locked)
     {
         return;
     }
     try
     {
         string test = "";
         foreach (Control ct in panel1.Controls)
         {
             if (ct is OperationArithmetic)
             {
                 test += ((OperationArithmetic)ct).toString();
             }
             if (ct is OperationCondition)
             {
                 test += ((OperationCondition)ct).toString();
             }
         }
         test = Regex.Replace(test, @"\s+", "").Replace(',', '.');
         string s = ConditionTranslator.TranslateCondition(test);
         if (s.Length == 0)
         {
             MessageBox.Show("Error: " + ConditionTranslator.GetLastError());
         }
         if (s == null)
         {
             //if (MessageBox.Show("Error: " + ConditionTranslator.GetLastError(), "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand) != DialogResult.Cancel)
             return;
         }
         else
         {
             Condition condition = new Condition().GetCondition(new CharStream(s));
             if (condition == null)
             {
                 //if (MessageBox.Show("Error parsing text.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand) != DialogResult.Cancel)
                 return;
             }
             else
             {
                 this.Result = condition;
             }
         }
         this.ConditionTB.Text = this.Result.GetRepresentation();
     }
     catch { }
 }
コード例 #2
0
        private void ConditionVisual_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            string test = "";

            foreach (Control ct in panel1.Controls)
            {
                if (ct is OperationArithmetic)
                {
                    test += ((OperationArithmetic)ct).toString();
                }
                if (ct is OperationCondition)
                {
                    test += ((OperationCondition)ct).toString();
                }
            }
            /// MessageBox.Show(test);
            string s = ConditionTranslator.TranslateCondition(string.Join("", test.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries)));

            if (s == null)
            {
                if (MessageBox.Show("Error: " + ConditionTranslator.GetLastError(), "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand) != DialogResult.Cancel)
                {
                    return;
                }
                e.Cancel = false;
            }
            else
            {
                Condition condition = new Condition().GetCondition(new CharStream(s));
                if (condition == null)
                {
                    if (MessageBox.Show("Error parsing text.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand) != DialogResult.Cancel)
                    {
                        return;
                    }
                    e.Cancel = false;
                }
                else
                {
                    this.Result       = condition;
                    this.DialogResult = DialogResult.OK;
                    e.Cancel          = false;
                }
            }
        }