Создать простой калькулятор с Dynamic AX 2012 - PullRequest
0 голосов
/ 13 ноября 2018

Я новичок в Dynamic AX и хочу создать простой калькулятор с входными значениями и отобразить результат в виде:

enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

Ваш вопрос очень широк, и на него можно ответить именно потому, что существует множество стратегий для решения этой задачи, но, судя по предоставленному вами скриншоту, у вас есть класс, который должен содержать всю логику вычислений и форму для предоставления пользовательского интерфейса для пользователь с двумя полями ввода и одним полем вывода, в котором должен отображаться результат операции.

Так что самым простым решением будет:

  1. Реализация класса Kalkulator, который предоставляет два метода parm установить операнды и четыре метода, которые выполняют операции и вернуть результат: add, subtract, multiply и divide.
  2. Создайте личный экземпляр класса Kalkulator в вашей форме, инициализировать его, настроить операнды, когда пользователь нажимает одну из кнопок, вызовите соответствующий метод для запуска операции и вывода результата в поле формы.

Итак, предположим, что операнды являются целочисленными значениями (для демонстрационных целей), ваш TRN_Kalkulator может выглядеть примерно так:

class TRN_Kalkulator
{
    private int value1;
    private int value2;

    public int parmValue1(int _value = value1)
    {
        value1 = _value;
        return value1;
    }

    public int parmValue2(int _value = value2)
    {
        value2 = _value;
        return value2;
    }

    public int Sum()
    {
        return value1 + value2;
    }

    public int Diff()
    {
        return value1 - value2;
    }

    public int Mult()
    {
        return value1 * value2;
    }

    public int Div()
    {
        return value2 == 0 ? 0 : value1 / value2;
    }

}

В объявлении класса в форме вы должны объявить закрытый экземпляр TRN_Kalkulator, который будет инициализирован путем переопределения метода init():

TRN_Kalkulator calculator;
//...
public void init()
{
    super();
    calculator = new TRN_Kalkulator();
}

Наконец, когда нажата одна из кнопок, вы анализируете пользовательский ввод, читая значения полей формы, устанавливаете операнды, запускаете операцию и выводите результат. Все это делается путем переопределения метода click() на каждой из кнопок:

// read text values of the textboxes and parse them to integer
int a = str2Int(TxtOperand1.text());
int b = str2Int(TxtOperand2.text());

// set up calculator operands
calculator.parmValue1(a);
calculator.parmValue2(b);

// call the operation depending on which button was clicked
int result = calculator.Sum();

// set result textbox text
TxtResult.text(int2Str(result));

Обратите внимание, что существует множество способов улучшить этот код (например, используя некоторые display и edit методы в форме), и вам определенно следует это сделать, но это реализация соответствует вашим текущим настройкам и должна указывать вам правильное направление.

...