Exemplo n.º 1
0
        // Kiértékelő gomb eseménykezelője.
        private void evaluateBtn_Click(object sender, EventArgs e)
        {
            // Az a, b, c változók kapnak egy alap (de valid) értéket, amiket majd később feltöltünk a felhasználótól jövő
            // adatokkal, hogyha azokat éppen használjuk. Ha az adott változót nem használjuk, akkor az értékét sem, így tetszőleges
            // érték megadható.
            int a = 0, b = 0, c = 0;

            // Változónként megnézzük, hogy a hozzá tartozó mező írható-e, ha igen, akkor elmentjük a megfelelő változóba az értékét,
            // amennyiben az egész számot tartalmaz.
            if (!aValue.ReadOnly)
            {
                if (!int.TryParse(aValue.Text, out a))
                {
                    MessageBox.Show("Nem egész szám az a változó értéke!", "Hiba", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }
            if (!bValue.ReadOnly)
            {
                if (!int.TryParse(bValue.Text, out b))
                {
                    MessageBox.Show("Nem egész szám a b változó értéke!", "Hiba", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }
            if (!cValue.ReadOnly)
            {
                if (!int.TryParse(cValue.Text, out c))
                {
                    MessageBox.Show("Nem egész szám a c változó értéke!", "Hiba", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }

            try
            {
                // A felületre kitesszük a kiértékelés eredményét.
                resultTextBox.Text = userDefinedFormula.Evaluate(a, b, c).ToString();
            }
            catch (InvalidOperationException)
            {
                MessageBox.Show("Hiba történt a kiértékelés során!", "Hiba", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
 public int Evaluate(int a, int b, int c)
 {
     // A kiértékelés eredménye az, hogy az operandus kiértékelésének eredményét összeszorozzuk.
     return(firstOperand.Evaluate(a, b, c) * secondOperand.Evaluate(a, b, c));
 }
Exemplo n.º 3
0
 public int Evaluate(int a, int b, int c)
 {
     // A kiértékelés a két operandus eredményének összege.
     return(firstOperand.Evaluate(a, b, c) + secondOperand.Evaluate(a, b, c));
 }