前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flex之计算器实现

Flex之计算器实现

作者头像
lzugis
发布2018-10-23 16:13:44
5830
发布2018-10-23 16:13:44
举报
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
	<mx:Panel width="237" height="252" layout="absolute" title="计算器" horizontalAlign="center" verticalAlign="middle" backgroundColor="#AFB6B9" horizontalCenter="0">
		<mx:TextInput x="9" y="10" width="215" id="txtResult" textAlign="right" fontSize="20" enabled="true" height="38" text="0" fontWeight="bold"/>
		<mx:Button x="12" y="135" label="1" width="36" height="31" id="bt_1" click="btnClick('1')"/>
		<mx:Button x="56" y="135" label="2" width="36" height="31" id="bt_2" click="btnClick('2')"/>
		<mx:Button x="100" y="135" label="3" width="36" height="31" id="bt_3" click="btnClick('3')"/>
		<mx:Button x="12" y="96" label="4" width="36" height="31" id="bt_4" click="btnClick('4')"/>
		<mx:Button x="56" y="96" label="5" width="36" height="31" id="bt_5" click="btnClick('5')"/>
		<mx:Button x="100" y="96" label="6" width="36" height="31" id="bt_6" click="btnClick('6')"/>
		<mx:Button x="12" y="57" label="7" width="36" height="31" color="#0B0C0F" id="bt_7" click="btnClick('7')"/>
		<mx:Button x="56" y="57" label="8" width="36" height="31" id="bt_8" click="btnClick('8')"/>
		<mx:Button x="100" y="57" label="9" width="36" height="31" id="bt_9" click="btnClick('9')"/>
		<mx:Button x="56" y="174" label="0" width="36" height="31" id="bt_0" click="btnClick('0')"/>
		<mx:Button x="8" y="174" label="." width="36" height="31" id="bt_dot" click="btnClick('.')"/>		
		<mx:Button x="100" y="174" label="=" width="36" height="31" id="bt_equal" click="getResult()"/>		
		<mx:Button x="143.75" y="56" label="CE" width="81" height="71" id="bt_ce" click="txtResult.text=''"/>		
		<mx:Button x="144" y="135" label="+" width="36" height="31" color="#000000" id="bt_plus" click="btnCalc('+')"/>
		<mx:Button x="144" y="174" label="-" width="36" height="31" color="#000000" id="bt_minus" click="btnCalc('-')"/>
		<mx:Button x="188" y="135" label="*" width="36" height="31" color="#000000" id="bt_multiply" click="btnCalc('*')"/>
		<mx:Button x="188" y="174" label="/" width="36" height="31" color="#000000" id="bt_divide" click="btnCalc('/')"/>	
	</mx:Panel>
	
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			
			private var r1:Number;//第一个数
			private var r2:Number;//第二个数
			private var opear:String;//操作符
			
			/* 判断点击数*/
			private function btnClick(n:String):void{
				var r:String=txtResult.text;//记录当前文本框内容
				
				if(r.length==1&&r=="0"){//如果第一个数是0,清空结果
					txtResult.text="";
					txtResult.text=n.toString();
					return;
				}
				if(r.length==1&&r=="."){
					txtResult.text="0."+n.toString();
					return;
				}
				
				if(r=="+"||r=="-"||r=="*"||r=="/"){//如果文本框是操作符,清空结果
					txtResult.text="";
					txtResult.text=n.toString();
				}else{
					r==""?txtResult.text=n:txtResult.text=(r+n);//三元表达式
				}
			}
			
			/* 判断操作符 */
			private function btnCalc(op:String):void{
				r1=Number(txtResult.text);//第一个数
				
				txtResult.text="";
				opear=op;
				switch(opear){
					case "+":
						txtResult.text="+";
						break;
					case "-":
						txtResult.text="-";
						break;
					case "*":
						txtResult.text="*";
						break;
					case "/":
						txtResult.text="/";
						break;
				}
			}
			
			/* 计算结果 */
			private function getResult():void{
				r2=Number(txtResult.text);
				switch(opear){
					case "+":
						txtResult.text=(r1+r2).toString();
						break;
					case "-":
						txtResult.text=(r1-r2).toString();
						break;
					case "*":
						txtResult.text=(r1*r2).toString();
						break;
					case "/":
						txtResult.text=(r1/r2).toString();
						break;
				}
			}
		]]>
	</mx:Script>
</mx:Application>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年04月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档