Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.15 KB | None | 0 0
  1. package {
  2. import flash.display.MovieClip;
  3. import fl.controls.TextInput;
  4. import fl.controls.ComboBox;
  5. import fl.controls.Label;
  6. import fl.controls.Button;
  7. import flash.events.Event;
  8.  
  9. public class Document extends MovieClip {
  10.  
  11. const MARGIN:int = 20;
  12.  
  13. var tallVerdi:Number = 0;
  14. // tallVerdi er tallet som vises i dsplayet
  15. // vil være B i utrykk som A + B
  16. var tallNr1:Number = 0;
  17. // tall A i et uttrykk som A + B
  18. // A - B A / B
  19. var kommando:String = "";
  20.  
  21. var presisjon:int = 2;
  22.  
  23. var cmbPrecision:ComboBox = new ComboBox;
  24. var nyttTall:Boolean = true;
  25. var inpDisplay:TextInput = new TextInput;
  26. var cmbMode:ComboBox = new ComboBox;
  27. var lblError:Label = new Label;
  28. var btnClear:Button = new Button;
  29.  
  30. public function Document() {
  31. // constructor code
  32. inpDisplay.x = MARGIN;
  33. inpDisplay.y = MARGIN;
  34. inpDisplay.width = 200;
  35. inpDisplay.text = "0";
  36. inpDisplay.alpha = 0.9;
  37. inpDisplay.opaqueBackground = 0x00FF00;
  38. stage.addChild(inpDisplay);
  39.  
  40. lblError.x = MARGIN;
  41. lblError.y = inpDisplay.y + inpDisplay.height + 4;
  42. lblError.text = "No error";
  43. //lblError.alpha = 0.9;
  44. //lblError.opaqueBackground = 0xFF0000;
  45. stage.addChild(lblError);
  46.  
  47. btnClear.x = MARGIN + inpDisplay.width + 4;
  48. btnClear.y = MARGIN;
  49. btnClear.label = "CA";
  50. btnClear.width = 30;
  51. btnClear.addEventListener("click",tilbakestill);
  52. stage.addChild(btnClear);
  53.  
  54. var btnTall:Button;
  55. for (var i:int = 0; i < 10; i+=1) {
  56. btnTall = new Button;
  57. btnTall.x = MARGIN + 25 * (i % 3);
  58. btnTall.y = lblError.y + lblError.height + 4 + 25 * int(i/3);
  59. btnTall.label = String(9-i);
  60. btnTall.width = 20;
  61. btnTall.addEventListener("click",settInnTall);
  62. stage.addChild(btnTall);
  63. }
  64.  
  65. var btnPluss:Button = new Button;
  66. btnPluss.x = MARGIN + 100;
  67. btnPluss.y = MARGIN + lblError.y + lblError.height + 4;
  68. btnPluss.label = "+";
  69. btnPluss.width = 30;
  70. btnPluss.addEventListener("click",operator);
  71. stage.addChild(btnPluss);
  72.  
  73. var btnMinus:Button = new Button;
  74. btnMinus.x = MARGIN + 135;
  75. btnMinus.y = MARGIN + lblError.y + lblError.height + 4;
  76. btnMinus.label = "-";
  77. btnMinus.width = 30;
  78. btnMinus.addEventListener("click",operator);
  79. stage.addChild(btnMinus);
  80.  
  81. var btnMult:Button = new Button;
  82. btnMult.x = MARGIN + 100;
  83. btnMult.y = MARGIN + lblError.y + lblError.height + 4 + 30;
  84. btnMult.label = "*";
  85. btnMult.width = 30;
  86. btnMult.addEventListener("click",operator);
  87. stage.addChild(btnMult);
  88.  
  89. var btnDiv:Button = new Button;
  90. btnDiv.x = MARGIN + 135;
  91. btnDiv.y = MARGIN + lblError.y + lblError.height + 4 + 30;
  92. btnDiv.label = "/";
  93. btnDiv.width = 30;
  94. btnDiv.addEventListener("click",operator);
  95. stage.addChild(btnDiv);
  96.  
  97.  
  98. var btnSin:Button = new Button;
  99. btnSin.x = MARGIN + 180;
  100. btnSin.y = MARGIN + lblError.y + lblError.height + 4 ;
  101. btnSin.label = "sin";
  102. btnSin.width = 30;
  103. btnSin.addEventListener("click",sinus);
  104. stage.addChild(btnSin);
  105.  
  106. var btnKomma:Button = new Button;
  107. btnKomma.x = MARGIN + 10;
  108. btnKomma.y = MARGIN + lblError.y + lblError.height + 124 ;
  109. btnKomma.label = ".";
  110. btnKomma.width = 30;
  111. btnKomma.addEventListener("click",komma);
  112. stage.addChild(btnKomma);
  113.  
  114. var btnErlik:Button = new Button;
  115. btnErlik.x = MARGIN + 100;
  116. btnErlik.y = MARGIN + lblError.y + lblError.height + 84;
  117. btnErlik.label = "=";
  118. btnErlik.width = 40;
  119. btnErlik.addEventListener("click",erlik);
  120. stage.addChild(btnErlik);
  121.  
  122. cmbPrecision.x = MARGIN + 220;
  123. cmbPrecision.y = MARGIN + lblError.y + lblError.height + 4 ;
  124. cmbPrecision.width = 60;
  125. cmbPrecision.addEventListener("change",precision);
  126. cmbPrecision.addItem( { label: "2", value:2 } );
  127. cmbPrecision.addItem( { label: "4", value:4 } );
  128. cmbPrecision.addItem( { label: "6", value:6 } );
  129. cmbPrecision.addItem( { label: "8", value:8 } );
  130. cmbPrecision.addItem( { label: "10", value:10 } );
  131. stage.addChild(cmbPrecision);
  132.  
  133. visTall();
  134.  
  135.  
  136. }
  137.  
  138. function precision(e:Event) {
  139. presisjon = cmbPrecision.selectedItem.value;
  140. }
  141.  
  142. function erlik(e:Event) {
  143. switch(kommando) {
  144. case "+":
  145. tallVerdi = tallNr1 + tallVerdi;
  146. break;
  147. case "-":
  148. tallVerdi = tallNr1 - tallVerdi;
  149. break;
  150. case "*":
  151. tallVerdi = tallNr1 * tallVerdi;
  152. break;
  153. case "/":
  154. tallVerdi = tallNr1 / tallVerdi;
  155. break;
  156. case "":
  157. break;
  158. default:
  159. break;
  160. }
  161. visTall();
  162. nyttTall = true;
  163. kommando = "";
  164. }
  165.  
  166. function komma(e:Event) {
  167. var s:String = inpDisplay.text;
  168. s = s + ".";
  169. inpDisplay.text = s;
  170. tallVerdi = Number(s);
  171. }
  172.  
  173. function sinus(e:Event) {
  174. tallVerdi = Math.sin(tallVerdi);
  175. visTall();
  176. }
  177.  
  178. function operator(e:Event) {
  179. erlik(null);
  180. tallNr1 = tallVerdi;
  181. kommando = e.currentTarget.label;
  182. }
  183.  
  184.  
  185. function visTall() {
  186. inpDisplay.text = tallVerdi.toFixed(presisjon);
  187. }
  188.  
  189. function tilbakestill(e:Event) {
  190. lblError.text = "";
  191. kommando = "";
  192. tallVerdi = 0;
  193. tallNr1 = 0;
  194. nyttTall = true;
  195. visTall();
  196. }
  197.  
  198. function settInnTall(e:Event) {
  199. var siffer:String = e.currentTarget.label;
  200. if (nyttTall) {
  201. inpDisplay.text = "";
  202. nyttTall = false;
  203. }
  204. inpDisplay.text += siffer;
  205. tallVerdi = Number(inpDisplay.text);
  206. //visTall();
  207. }
  208. }
  209.  
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement