Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.MovieClip;
- import fl.controls.TextInput;
- import fl.controls.ComboBox;
- import fl.controls.Label;
- import fl.controls.Button;
- import flash.events.Event;
- public class Document extends MovieClip {
- const MARGIN:int = 20;
- var tallVerdi:Number = 0;
- // tallVerdi er tallet som vises i dsplayet
- // vil være B i utrykk som A + B
- var tallNr1:Number = 0;
- // tall A i et uttrykk som A + B
- // A - B A / B
- var kommando:String = "";
- var presisjon:int = 2;
- var cmbPrecision:ComboBox = new ComboBox;
- var nyttTall:Boolean = true;
- var inpDisplay:TextInput = new TextInput;
- var cmbMode:ComboBox = new ComboBox;
- var lblError:Label = new Label;
- var btnClear:Button = new Button;
- public function Document() {
- // constructor code
- inpDisplay.x = MARGIN;
- inpDisplay.y = MARGIN;
- inpDisplay.width = 200;
- inpDisplay.text = "0";
- inpDisplay.alpha = 0.9;
- inpDisplay.opaqueBackground = 0x00FF00;
- stage.addChild(inpDisplay);
- lblError.x = MARGIN;
- lblError.y = inpDisplay.y + inpDisplay.height + 4;
- lblError.text = "No error";
- //lblError.alpha = 0.9;
- //lblError.opaqueBackground = 0xFF0000;
- stage.addChild(lblError);
- btnClear.x = MARGIN + inpDisplay.width + 4;
- btnClear.y = MARGIN;
- btnClear.label = "CA";
- btnClear.width = 30;
- btnClear.addEventListener("click",tilbakestill);
- stage.addChild(btnClear);
- var btnTall:Button;
- for (var i:int = 0; i < 10; i+=1) {
- btnTall = new Button;
- btnTall.x = MARGIN + 25 * (i % 3);
- btnTall.y = lblError.y + lblError.height + 4 + 25 * int(i/3);
- btnTall.label = String(9-i);
- btnTall.width = 20;
- btnTall.addEventListener("click",settInnTall);
- stage.addChild(btnTall);
- }
- var btnPluss:Button = new Button;
- btnPluss.x = MARGIN + 100;
- btnPluss.y = MARGIN + lblError.y + lblError.height + 4;
- btnPluss.label = "+";
- btnPluss.width = 30;
- btnPluss.addEventListener("click",operator);
- stage.addChild(btnPluss);
- var btnMinus:Button = new Button;
- btnMinus.x = MARGIN + 135;
- btnMinus.y = MARGIN + lblError.y + lblError.height + 4;
- btnMinus.label = "-";
- btnMinus.width = 30;
- btnMinus.addEventListener("click",operator);
- stage.addChild(btnMinus);
- var btnMult:Button = new Button;
- btnMult.x = MARGIN + 100;
- btnMult.y = MARGIN + lblError.y + lblError.height + 4 + 30;
- btnMult.label = "*";
- btnMult.width = 30;
- btnMult.addEventListener("click",operator);
- stage.addChild(btnMult);
- var btnDiv:Button = new Button;
- btnDiv.x = MARGIN + 135;
- btnDiv.y = MARGIN + lblError.y + lblError.height + 4 + 30;
- btnDiv.label = "/";
- btnDiv.width = 30;
- btnDiv.addEventListener("click",operator);
- stage.addChild(btnDiv);
- var btnSin:Button = new Button;
- btnSin.x = MARGIN + 180;
- btnSin.y = MARGIN + lblError.y + lblError.height + 4 ;
- btnSin.label = "sin";
- btnSin.width = 30;
- btnSin.addEventListener("click",sinus);
- stage.addChild(btnSin);
- var btnKomma:Button = new Button;
- btnKomma.x = MARGIN + 10;
- btnKomma.y = MARGIN + lblError.y + lblError.height + 124 ;
- btnKomma.label = ".";
- btnKomma.width = 30;
- btnKomma.addEventListener("click",komma);
- stage.addChild(btnKomma);
- var btnErlik:Button = new Button;
- btnErlik.x = MARGIN + 100;
- btnErlik.y = MARGIN + lblError.y + lblError.height + 84;
- btnErlik.label = "=";
- btnErlik.width = 40;
- btnErlik.addEventListener("click",erlik);
- stage.addChild(btnErlik);
- cmbPrecision.x = MARGIN + 220;
- cmbPrecision.y = MARGIN + lblError.y + lblError.height + 4 ;
- cmbPrecision.width = 60;
- cmbPrecision.addEventListener("change",precision);
- cmbPrecision.addItem( { label: "2", value:2 } );
- cmbPrecision.addItem( { label: "4", value:4 } );
- cmbPrecision.addItem( { label: "6", value:6 } );
- cmbPrecision.addItem( { label: "8", value:8 } );
- cmbPrecision.addItem( { label: "10", value:10 } );
- stage.addChild(cmbPrecision);
- visTall();
- }
- function precision(e:Event) {
- presisjon = cmbPrecision.selectedItem.value;
- }
- function erlik(e:Event) {
- switch(kommando) {
- case "+":
- tallVerdi = tallNr1 + tallVerdi;
- break;
- case "-":
- tallVerdi = tallNr1 - tallVerdi;
- break;
- case "*":
- tallVerdi = tallNr1 * tallVerdi;
- break;
- case "/":
- tallVerdi = tallNr1 / tallVerdi;
- break;
- case "":
- break;
- default:
- break;
- }
- visTall();
- nyttTall = true;
- kommando = "";
- }
- function komma(e:Event) {
- var s:String = inpDisplay.text;
- s = s + ".";
- inpDisplay.text = s;
- tallVerdi = Number(s);
- }
- function sinus(e:Event) {
- tallVerdi = Math.sin(tallVerdi);
- visTall();
- }
- function operator(e:Event) {
- erlik(null);
- tallNr1 = tallVerdi;
- kommando = e.currentTarget.label;
- }
- function visTall() {
- inpDisplay.text = tallVerdi.toFixed(presisjon);
- }
- function tilbakestill(e:Event) {
- lblError.text = "";
- kommando = "";
- tallVerdi = 0;
- tallNr1 = 0;
- nyttTall = true;
- visTall();
- }
- function settInnTall(e:Event) {
- var siffer:String = e.currentTarget.label;
- if (nyttTall) {
- inpDisplay.text = "";
- nyttTall = false;
- }
- inpDisplay.text += siffer;
- tallVerdi = Number(inpDisplay.text);
- //visTall();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement