源码如下:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Style> Button { cornerRadius: 10; highlightAlphas: 0.44, 0; fillColors: #ffffff, #0099ff, #ffffff, #ffffff; textRollOverColor: #0000ff; themeColor: #000000; } </mx:Style> <mx:Script> <![CDATA[ import com.velloff.utils.JDBCBean; import flash.net.registerClassAlias; import mx.controls.Alert; internal function btnXMLClick(evtObj:Event){ var xml:XML=<company> <name>空山雪林工作室</name> <description>学习测试用的</description> <person no="1001"> <name>cxlh</name> <job>manager</job> </person> <person no="1002"> <name>otherone</name> <job>designer</job> </person> </company>; appendText("得到工号为1001的雇员:\n<font color='#0000FF'>"+xml.person.(@no=="1001").name+"</font>"); var onePerson:XML = <person no="1003"><name>thd_one</name><job>developer</job></person> xml.person +=onePerson; appendText("新增工号为1003的雇员后:\n<font color='#0000FF'>"+escapeHTML(xml.toXMLString())+"</font>"); delete xml.person[2]; appendText("删除工号为1003的雇员后:\n<font color='#0000FF'>"+escapeHTML(xml.toXMLString())+"</font>"); } private function byCustemer(valueA:*,valueB:*):Number { if(valueA == valueB) return 0; else if(valueA < valueB) return -1; else return 1; } internal function btnArrayClick(evtObj:Event){ var array:Array = [1,2,3,4,7]; array.splice(2,1); appendText("原数组数据:<b>1,2,3,4,7</b>"); appendText("删除数组中的第三个元素后:<b>"+array.join(",").toString()+"</b>"); var z:Array=array.slice(0,2); appendText("得到数组第1,2个元素:<b>"+z.join(",").toString()+"</b>"); array.push(10); appendText("原数组新增一个数10后:<b>"+array.join(",").toString()+"</b>"); var sortArray:Array=array.sort(Array.DESCENDING|Array.NUMERIC); appendText("逆序排列后:<b>"+array.toString()+"</b>"); array.sort(byCustemer,Array.DESCENDING); appendText("自定义排列规则后:<b>"+array.toString()+"</b>"); } internal function btnDictClick(evtObj:Event){ var dict:Dictionary = new Dictionary(); dict["one"] = 1; dict["tow"] = 2; appendText("词典中目前有:one:1,two:2,判断one结果:"); if("one" in dict){ appendText("词典中有:"+dict["one"]); } } function sum(... numbers):Number{ var result:Number = 0; for each(var num:Number in numbers){ result += num; } return result; } function fact(i:uint){ if(i==0) return 1; else return (i*fact(i-1)); } internal function btnFuncClick(evtObj:Event){ appendText("...操作符演示:\n<b>1+2+3="+sum(1,2,3)+"</b>,<b>"+"4+5="+sum(4,5)+"</b>"); appendText("递归阶乘演示:<b>10!="+fact(10)+"</b>"); } internal function btnRegClick(evtObj:Event){ var oStr:String = "<font color='#0000FF'>一个串</font><font color='#FF0000'>另外一串</font>"; appendText("原始操作字符串:"+escapeHTML(oStr)); var reg1:RegExp = /<font color='#0000FF'>(.*)<\/font>/g; var reg2:RegExp = /<font color='#0000FF'>(.*?)<\/font>/g; appendText("正则表达式"+escapeHTML(reg1.toString())+"结果(贪婪模式):<b>"+escapeHTML(reg1.exec(oStr)[0])+"</b>"); appendText("正则表达式"+escapeHTML(reg2.toString())+"结果(非贪婪模式)<b>:"+escapeHTML(reg2.exec(oStr)[0])+"</b>"); } internal function btnFlashVersionClick(evtObj:Event){ var ver:String = flash.system.Capabilities.version; var os:String = flash.system.Capabilities.os; var fType:String = flash.system.Capabilities.playerType; var lang:String = flash.system.Capabilities.language; appendText("Flash版本:<b>"+ver+"</b> 操作系统:<b>"+os+"</b> 播放器类型:<b>"+fType+"</b> 系统语言:<b>"+ lang+"</b> 输入法编辑器:<b>"+flash.system.IME.enabled.toString()+"</b> 分辨率:<b>"+ flash.system.Capabilities.screenResolutionX+"X"+flash.system.Capabilities.screenResolutionY+"</b>"+ " 是否有音频设备:<b>"+flash.system.Capabilities.hasAudio+"</b> MP3解码器:<b>"+flash.system.Capabilities.hasMP3+ "</b> 是否播放流式视频:<b>"+flash.system.Capabilities.hasStreamingVideo+"</b> 视频流编码:<b>"+flash.system.Capabilities.hasVideoEncoder+ "</b>"); } internal function btnTimerClick(evtObj:Event){ var timer:Timer = new Timer(3000); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } internal function btnShareObjectClick(evtObj:Event){ registerClassAlias("com.velloff.utils.JDBCBean",JDBCBean); var his:SharedObject = SharedObject.getLocal("storage"); for each(var ss in his.data){ if(ss is JDBCBean){ appendText("访问到jdbc的共享对象数据为:<i>"+(ss as JDBCBean).toString()+"</i>"); } } if(txtInput.text == "") return; var jdbc:JDBCBean = new JDBCBean(); jdbc.driver = "mydriver"; jdbc.url = "myurl"; jdbc.username = txtInput.text; jdbc.password = "mypwd"; his.data[txtInput.text] = jdbc; appendText("设置jdbc为:<b>"+jdbc.toString()+"</b>"); } internal function btnShareObjectDeleteClick(evtObj:Event){ var his:SharedObject = SharedObject.getLocal("storage"); his.clear(); his.flush(); } private function onTimer(event:TimerEvent):void { appendText("3秒过去了..."); } internal function btnGraphClick(evtObj:Event){ var spr:Sprite = new Sprite(); spr.graphics.beginFill(0xffffff,0.5); spr.graphics.lineStyle(1,0xcccccc); spr.graphics.drawRect(10,10,50,50); spr.graphics.endFill(); spr.addEventListener(MouseEvent.MOUSE_OVER,inRect); spr.addEventListener(MouseEvent.MOUSE_OUT,outRect); spr.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown); spr.addEventListener(MouseEvent.MOUSE_UP,mouseUp); mylog.addChild(spr); } private function mouseDown(me:MouseEvent):void { (me.target as Sprite).startDrag(); } private function mouseUp(me:MouseEvent):void { var t:Sprite = me.target as Sprite; t.stopDrag(); appendText("拖放结束!"); } private function inRect(fe:MouseEvent):void { if(fe.target is Sprite){ var s:Sprite = (fe.target as Sprite); s.alpha = 0.5; } } private function outRect(fe:MouseEvent):void { if(fe.target is Sprite){ var s:Sprite = (fe.target as Sprite); s.alpha = 1.0; } } internal function setLogScroll() : void { mylog.verticalScrollPosition = mylog.maxVerticalScrollPosition; } internal function appendText(str:String):void { mylog.htmlText += (mylog.htmlText==""?"":"\n") + str ; callLater(setLogScroll); } function escapeHTML(str:String){ return str.replace(/</g,"<").replace(/>/g,">"); } ]]> </mx:Script> <mx:Button x="10" y="10" label="XML操作演示程序" fontSize="12" id="btnXML" click="btnXMLClick(event)"/> <mx:Button x="150" y="10" label="Array操作演示程序" fontSize="12" id="btnArray" click="btnArrayClick(event)"/> <mx:Button x="12" y="42" label="词典操作演示程序" fontSize="12" id="btnDict" click="btnDictClick(event)"/> <mx:Button x="150" y="42" label="函数相关操作演示程序" fontSize="12" id="btnFunc" click="btnFuncClick(event)"/> <mx:TextArea width="100%" height="180" id="mylog" x="10" y="117" fontSize="12"/> <mx:Button x="299" y="10" label="正则表达式演示程序" fontSize="12" id="btnReg" click="btnRegClick(event)"/> <mx:Button x="450" y="10" label="DisplayObject演示程序" fontSize="12" id="btnGraph" click="btnGraphClick(event)"/> <mx:Button x="314" y="42" label="系统信息" fontSize="12" id="btnFlashVersion" click="btnFlashVersionClick(event)"/> <mx:Button x="404" y="42" label="Timer学习" fontSize="12" id="btnTimer" click="btnTimerClick(event)"/> <mx:Button x="12" y="85" label="ShareObject" fontSize="12" id="btnShareObject" click="btnShareObjectClick(event)"/> <mx:TextInput id="txtInput" x="129" y="87" restrict="[a-z|0-9]" toolTip="输入jdbc用户名并作为sharedObject索引" width="89"/> <mx:Button x="231" y="85" label="全部清空ShareObject" fontSize="12" id="btnShareObjectDelete" click="btnShareObjectDeleteClick(event)"/> </mx:Application>