How to Create calculator with add, sub, mul, div in form by calling class program?
Could you please explain what’s your level of knowledge (do you know how to create a method, for example) and what exactly do you need help with?
Note that you can find documentation in Microsoft Dynamics AX Developer Center.
Also, when you’re creating a new thread, can you always attach a tag with your AX version (such as AX 2012), please?
I am in a starter level of the course, and i know to create method, class, form…
Hello ParthaSarathy,
I have a code for calculator app implementation which I have done long before when I started learning AX, but unfortunately I couldn’t post it here.
I will post the XPO content here you can either copy and past it into notepad and save it as .xpo or you can give me your email I will send you the Calculator XPO.
Exportfile for AOT version 1.0 or later
Formatversion: 1
***Element: FRM
; Microsoft Dynamics AX Forms unloaded
; --------------------------------------------------------------------------------
FRMVERSION 12
FORM #NkdCalculator
PROPERTIES
Name #NkdCalculator
Origin #{6DCDDEDC-9C5F-4104-B8F6-AFB41983F47D}
ENDPROPERTIES
METHODS
SOURCE #classDeclaration
#public class FormRun extends ObjectRun
#{
#}
ENDSOURCE
ENDMETHODS
OBJECTBANK
PROPERTIES
ENDPROPERTIES
ENDOBJECTBANK
REFERENCEDATASOURCES
ENDREFERENCEDATASOURCES
JOINS
ENDJOINS
PARTREFERENCES
ENDPARTREFERENCES
DESIGN
PROPERTIES
Caption #@SYS25926
ENDPROPERTIES
CONTAINER
CONTROL TAB
PROPERTIES
Name #Calculator
ElementPosition #1073741823
ENDPROPERTIES
METHODS
ENDMETHODS
ENDCONTROL
CONTROL TABPAGE
PROPERTIES
Name #NkdCalculator
ElementPosition #1431655764
HierarchyParent #Calculator
Caption #@NKD10
ENDPROPERTIES
METHODS
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonClear
AutoDeclaration #Yes
Left #220
Top #35
ElementPosition #180840728
HierarchyParent #NkdCalculator
Text #@SYS60541
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
super();
NkdDisplay.text("");
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonDel
AutoDeclaration #Yes
Left #220
Top #5
ElementPosition #271261092
HierarchyParent #NkdCalculator
Text #@NKD12
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
int startPosition;
int textLength;
;
super();
textValue = NkdDisplay.valueStr();
startPosition = 1;
textLength = strLen(textValue) - 1;
NkdDisplay.text(subStr(textValue,startPosition,textLength));
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonDiv
AutoDeclaration #Yes
Left #80
Top #135
ElementPosition #1921432735
HierarchyParent #NkdCalculator
Text #@SYS35673
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+’/’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonEight
AutoDeclaration #Yes
Left #80
Top #85
ElementPosition #1243280005
HierarchyParent #NkdCalculator
Text #@SYS24280
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘8’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonEqual
AutoDeclaration #Yes
Left #155
Top #135
ElementPosition #2034458190
HierarchyParent #NkdCalculator
Text #@SYS177639
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
real ret;
str formula = NkdDisplay.valueStr();
;
super();
ret = runBuf(strFmt(“real calculate()\n”
+"{\n"
+" ;\n"+" return %1;\n"
+"}\n",formula));
NkdDisplay.text(num2str(ret,10,2,1,2));
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonFive
AutoDeclaration #Yes
Left #80
Top #60
ElementPosition #904203640
HierarchyParent #NkdCalculator
Text #@SYS24277
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘5’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonFour
AutoDeclaration #Yes
Top #60
ElementPosition #791178185
HierarchyParent #NkdCalculator
Text #@SYS24276
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘4’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonMinus
AutoDeclaration #Yes
Left #155
Top #110
ElementPosition #1695381825
HierarchyParent #NkdCalculator
Text #@SYS77038
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+’-’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonMul
AutoDeclaration #Yes
Top #135
ElementPosition #1808407280
HierarchyParent #NkdCalculator
Text #@SYS35668
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+’*’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonNine
AutoDeclaration #Yes
Left #155
Top #85
ElementPosition #1356305460
HierarchyParent #NkdCalculator
Text #@SYS24281
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘9’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonOne
AutoDeclaration #Yes
Top #35
ElementPosition #452101820
HierarchyParent #NkdCalculator
Text #@SYS24273
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘1’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonPlus
AutoDeclaration #Yes
Left #80
Top #110
ElementPosition #1582356370
HierarchyParent #NkdCalculator
Text #@NKD9
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+’+’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonSeven
AutoDeclaration #Yes
Top #85
ElementPosition #1130254550
HierarchyParent #NkdCalculator
Text #@SYS24279
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘7’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonSix
AutoDeclaration #Yes
Left #155
Top #60
ElementPosition #1017229095
HierarchyParent #NkdCalculator
Text #@SYS24278
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘6’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonThree
AutoDeclaration #Yes
Left #155
Top #35
ElementPosition #678152730
HierarchyParent #NkdCalculator
Text #@SYS24275
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘3’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonTwo
AutoDeclaration #Yes
Left #80
Top #35
ElementPosition #565127275
HierarchyParent #NkdCalculator
Text #@SYS24274
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘2’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL BUTTON
PROPERTIES
Name #NkdButtonZero
AutoDeclaration #Yes
Top #110
ElementPosition #1469330915
HierarchyParent #NkdCalculator
Text #@SYS24272
ENDPROPERTIES
METHODS
SOURCE #clicked
#void clicked()
#{
str textValue;
;
super();
textValue = NkdDisplay.valueStr()+‘0’;
NkdDisplay.text(textValue);
#}
ENDSOURCE
ENDMETHODS
ENDCONTROL
CONTROL STRINGEDIT
PROPERTIES
Name #NkdDisplay
AutoDeclaration #Yes
AllowEdit #No
Width #200
ElementPosition #361681456
HierarchyParent #NkdCalculator
ENDPROPERTIES
METHODS
ENDMETHODS
ENDCONTROL
ENDCONTAINER
ENDDESIGN
PERMISSIONS #Permissions
PROPERTIES
ENDPROPERTIES
PERMISSIONSET #Read
PROPERTIES
ENDPROPERTIES
FORM #Controls
ENDFORM
TABLES #Tables
ENDTABLES
SERVERMETHODS #Server Methods
ENDSERVERMETHODS
ASSOCIATEDFORMS #Associated Forms
ENDASSOCIATEDFORMS
ENDPERMISSIONSET
PERMISSIONSET #Update
PROPERTIES
ENDPROPERTIES
FORM #Controls
ENDFORM
TABLES #Tables
ENDTABLES
SERVERMETHODS #Server Methods
ENDSERVERMETHODS
ASSOCIATEDFORMS #Associated Forms
ENDASSOCIATEDFORMS
ENDPERMISSIONSET
PERMISSIONSET #Create
PROPERTIES
ENDPROPERTIES
FORM #Controls
ENDFORM
TABLES #Tables
ENDTABLES
SERVERMETHODS #Server Methods
ENDSERVERMETHODS
ASSOCIATEDFORMS #Associated Forms
ENDASSOCIATEDFORMS
ENDPERMISSIONSET
PERMISSIONSET #Delete
PROPERTIES
ENDPROPERTIES
FORM #Controls
ENDFORM
TABLES #Tables
ENDTABLES
SERVERMETHODS #Server Methods
ENDSERVERMETHODS
ASSOCIATEDFORMS #Associated Forms
ENDASSOCIATEDFORMS
ENDPERMISSIONSET
ENDPERMISSIONS
ENDFORM
***Element: PRN
; Microsoft Dynamics AX Project : NkdCalculator unloaded
; --------------------------------------------------------------------------------
PROJECTVERSION 2
PROJECT #NkdCalculator
SHARED
PROPERTIES
Name #NkdCalculator
Origin #{965FD1D9-0386-4B1F-895D-06A06465362F}
ENDPROPERTIES
PROJECTCLASS ProjectNode
GROUP #Forms
PROPERTIES
Name #Forms
ProjectGroupType #Forms
GroupMask #
PreventEditProperties #No
ENDPROPERTIES
BEGINNODE
FILETYPE 0
UTILTYPE 11
UTILOBJECTID 0
NODETYPE 201
NAME #NkdCalculator
ENDNODE
ENDGROUP
ENDPROJECT
***Element: END