Axapta 使用Dynamic AX 2012创建简单计算器
我是Dynamic AX新手,我想创建一个带有输入值的简单计算器,并以以下形式显示结果:Axapta 使用Dynamic AX 2012创建简单计算器,axapta,x++,Axapta,X++,我是Dynamic AX新手,我想创建一个带有输入值的简单计算器,并以以下形式显示结果: 你的问题很难回答,因为有很多策略可以解决这个问题,但从您提供的屏幕截图来看,您有一个类,该类应包含所有计算逻辑,以及一个表单,该表单向用户提供两个输入字段和一个输出字段,该字段应显示操作结果 因此,最简单的解决方案是: 实现Kalkulator类,该类将两个parm方法公开给 设置操作数和四个执行 操作并返回结果:添加,减去,乘和除 在表单中创建Kalkulator类的私有实例, 初始化它,当用户单击其中一
你的问题很难回答,因为有很多策略可以解决这个问题,但从您提供的屏幕截图来看,您有一个类,该类应包含所有计算逻辑,以及一个表单,该表单向用户提供两个输入字段和一个输出字段,该字段应显示操作结果 因此,最简单的解决方案是:
Kalkulator
类,该类将两个parm
方法公开给
设置操作数和四个执行
操作并返回结果:添加
,减去
,乘
和除
Kalkulator
类的私有实例,
初始化它,当用户单击其中一个按钮时设置操作数,
调用适当的方法来运行操作并输出结果
在表单字段上TRN\u 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\u 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));
请注意,有很多方法可以改进此代码(例如,在表单上使用一些和方法),您肯定应该这样做,但此实现适合您当前的设置,应该为您指明正确的方向。要了解有关表单的更多信息,请看一下名为“Tutorial_uu2;fx”的表单<代码>教程\u表单\u控件。你需要用你尝试过的和没有成功的来扩展你的问题。非常感谢你,事实上我已经创建了第一点,但我可以执行它,你的答案非常有用。当然,如果你的两个控件是
FormRealControl
,你可以使用operan1.realValue()
直接获取值。