Esempio n. 1
0
        private void button2_Click(object sender, EventArgs e)
        {
            var text = richTextBox2.Text.Replace(" ", null);

            try
            {
                var inputLemexes = _logicLexemeParser.Parse(text);
                var exp          = new PostfixExpression <bool>(inputLemexes);
                var result       = exp.Calculate();
                var value        = result.Value;
                textBox2.Text = value ? "1" : "0";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 2
0
        private void button3_Click(object sender, EventArgs e)
        {
            var text = ReplaceConsts(richTextBox3.Text);

            try
            {
                var inputLexemes = _matrixLexemeParser.Parse(text);
                var exp          = new PostfixExpression <Matrix>(inputLexemes);
                var result       = exp.Calculate();
                var value        = result.Value;
                textBox3.Text = value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 3
0
        private void ButtonCalculateMath_Click(object sender, EventArgs e)
        {
            textBoxMathOutput.Clear();
            var text = ReplaceConsts(richTextBoxMathInput.Text.Replace(" ", null));

            try
            {
                if (checkBoxUseParams.Checked && richTextBoxMathInput.Lines.Length > 1)
                {
                    foreach (var line in richTextBoxMathInput.Lines.Skip(1))
                    {
                        text = ReplaceConsts(richTextBoxMathInput.Lines[0].Replace(" ", null));
                        var parameters = line.Replace(" ", null).Split(';', StringSplitOptions.RemoveEmptyEntries);
                        var pairs      = parameters.Select(param =>
                        {
                            var keyValueArr = param.Split('=');
                            return(new KeyValuePair <string, string>(keyValueArr[0], keyValueArr[1]));
                        });

                        foreach (var pair in pairs)
                        {
                            text = text.Replace(pair.Key, pair.Value);
                        }

                        var inputLemexes = _mathLexemeParser.Parse(text);
                        var exp          = new PostfixExpression <double>(inputLemexes);
                        var result       = exp.Calculate();
                        var value        = result.Value;
                        textBoxMathOutput.Text += value.ToString(CultureInfo.InvariantCulture) + Environment.NewLine;
                    }
                }

                else
                {
                    var inputLemexes = _mathLexemeParser.Parse(text);
                    var exp          = new PostfixExpression <double>(inputLemexes);
                    var result       = exp.Calculate();
                    var value        = result.Value;
                    textBoxMathOutput.Text = value.ToString(CultureInfo.InvariantCulture);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }