flex 开发笔记-基础
2009.4.5
通过一个<mx:Script>来理解引入类,变量的定义,函数定义,数组定义,类的定义,类的对象赋值,数据绑定
Code
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;//引入类
public var items:ArrayCollection;//公共变量定义
private function init():void //函数定义
{
items = new ArrayCollection();
for(var i:int =1;i<16;i++)
{
var obj:Object = new Object();//定义一个obj类
obj.loginaccount = "andy";//类的对象赋值
obj.name = "Andy";
obj.loginaccount += i;
obj.name += i;
items.addItem(obj);
}
mydg.initdata(items);//绑定一个DataGrid数据
}
]]>
</mx:Script>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;//引入类
public var items:ArrayCollection;//公共变量定义
private function init():void //函数定义
{
items = new ArrayCollection();
for(var i:int =1;i<16;i++)
{
var obj:Object = new Object();//定义一个obj类
obj.loginaccount = "andy";//类的对象赋值
obj.name = "Andy";
obj.loginaccount += i;
obj.name += i;
items.addItem(obj);
}
mydg.initdata(items);//绑定一个DataGrid数据
}
]]>
</mx:Script>
Flex 中 12 个简单但是很有用的函数
Code
No.1 复制到系统剪贴板上的文本:
System.setClipboard(strContent);
No.2 克隆一个ArrayCollection:
//dummy solution( well, it works )
var bar:ArrayCollection = new ArrayCollection();
for each ( var i:Object in ac ){
bar.addItem( i );
}
// fantastic ! //
var bar:ListCollectionView = new ListCollectionView( ListCollectionView( ac ).list );
No.3 打开URL链接:
navigateToURL(new URLRequest('http://'), '_blank'
No.4 重新加载页面:
navigateToURL(new URLRequest("javascript:location.reload();"),"_self")
No.5 关闭浏览器:
navigateToURL(new URLRequest("javascript:window.close()"),"_self");
No.6 设置Alert 背景颜色:
Alert
{
modalTransparency:0.0;
modalTransparencyBlur:0;
}
No.7 设置一个随机颜色:
lbl.setStyle('color', 0xffffff*Math.random());
No.8 剔除左边空格
public function LTrim(s : String):String
{
var i : Number = 0;
while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 || s.charCodeAt(i) == 9)
{
i++;
}
return s.substring(i,s.length);
}
No.9 剔除右边空格
public function RTrim(s : String):String
{
var i : Number = s.length - 1;
while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 ||s.charCodeAt(i) == 9)
{
i--;
}
return s.substring(0,i+1);
}
No.10 剔除2侧空格
public function Trim(s : String):String
{
return LTrim(RTrim(s));
}
No.11 获得数据类型:
getQualifiedClassName(data)
No.12 生成一个验证随机码
private function GenerateCheckCode():String
{
//init
var ran:Number;
var number:Number;
var code:String;
var checkCode:String ="";
//get 4 radom
for(var i:int=0; i<4; i++)
{
ran=Math.random();
number =Math.round(ran*10000); //get result like 0.1234
if(number % 2 == 0)
code = String.fromCharCode(48+(number % 10)); //0's ASCII code is 48
else
code = String.fromCharCode(65+(number % 26)) ; // A's ASCII code is 65
checkCode += code;
}
return checkCode;
}
No.1 复制到系统剪贴板上的文本:
System.setClipboard(strContent);
No.2 克隆一个ArrayCollection:
//dummy solution( well, it works )
var bar:ArrayCollection = new ArrayCollection();
for each ( var i:Object in ac ){
bar.addItem( i );
}
// fantastic ! //
var bar:ListCollectionView = new ListCollectionView( ListCollectionView( ac ).list );
No.3 打开URL链接:
navigateToURL(new URLRequest('http://'), '_blank'
No.4 重新加载页面:
navigateToURL(new URLRequest("javascript:location.reload();"),"_self")
No.5 关闭浏览器:
navigateToURL(new URLRequest("javascript:window.close()"),"_self");
No.6 设置Alert 背景颜色:
Alert
{
modalTransparency:0.0;
modalTransparencyBlur:0;
}
No.7 设置一个随机颜色:
lbl.setStyle('color', 0xffffff*Math.random());
No.8 剔除左边空格
public function LTrim(s : String):String
{
var i : Number = 0;
while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 || s.charCodeAt(i) == 9)
{
i++;
}
return s.substring(i,s.length);
}
No.9 剔除右边空格
public function RTrim(s : String):String
{
var i : Number = s.length - 1;
while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 ||s.charCodeAt(i) == 9)
{
i--;
}
return s.substring(0,i+1);
}
No.10 剔除2侧空格
public function Trim(s : String):String
{
return LTrim(RTrim(s));
}
No.11 获得数据类型:
getQualifiedClassName(data)
No.12 生成一个验证随机码
private function GenerateCheckCode():String
{
//init
var ran:Number;
var number:Number;
var code:String;
var checkCode:String ="";
//get 4 radom
for(var i:int=0; i<4; i++)
{
ran=Math.random();
number =Math.round(ran*10000); //get result like 0.1234
if(number % 2 == 0)
code = String.fromCharCode(48+(number % 10)); //0's ASCII code is 48
else
code = String.fromCharCode(65+(number % 26)) ; // A's ASCII code is 65
checkCode += code;
}
return checkCode;
}
2009.4.10
Code
Flex 3.0中数据类型强制转换的语法如下所示。
变量名 as 强制类型
或者如下所示。
(强制类型)变量名
以下代码将int类型强制转换为Number类型。
var s:Number=y as Number;
var t:Number=(Number)y;
--------------------------------------
以下代码中两个数组变量直接赋值,带来了错误的结果。
var a:Array,b:Array=[1,2,3];
a=b;
a[0]=100;
trace(a); 结果:100,2,3
trace(b); 结果:100,2,3
为了帮助读者理解,假设数组在内存的首地址为000001。变量赋值后,变量a、b都指向首地址000001。对变量a进行数据修改后,数组数据发生改变。但变量a、b仍然指向同一首地址。
正确的做法是使用concat方法复制变量b。
上述代码修改如下所示。
var b:Array=[1,2,3];
var a:Array=b.concat();
a[0]=100;
trace(a); 结果:100,2,3
trace(b); 结果:1,2,3
--------------------------------------
声明变量为公有的关键字为public”。其语法如下所示。
public var 变量名:变量类型;
以下代码定义了公有变量s。
public var s:String="aafdsfdsa
-----------------------------------------------
创建File类变量的语法如下所示。
var File变量:File=new File(文件路径);
以下代码定义File类变量,并指向根目录下的“test.txt”文件。
var file:File=new File(File.applicationResourceDirectory.nativePath+ "\\test.txt");
“File.applicationResourceDirectory.nativePath”表示工程路径。
使用FileStream类打开文件“test.txt”。打开文件需要使用FileStream类,其语法如下所示。
var FileStream变量:FileStream=new FileStream();
FileStream变量.open(File变量,打开方式);
打开方式可为“FileMode.READ”、“FileMode.WRITE”、“FileMode.APPEND”、“FileMode. UPDATE”四种。本程序中使用“FileMode.READ”。以下代码使用FileStream类打开文件“test.txt”。
var stream:FileStream = new FileStream(); //定义FileStream类实例,用以处理文件流
stream.open(file,FileMode.READ); //以读的方式打开文件
读取FileStream类中的数据。在使用FileStream类打开文件后,数据存储于FileStream变量中。可使用readUTFBytes方法读取数据。其语法如下所示。
FileStream变量.readUTFBytes();
readUTFBytes方法返回类型为String型。以下代码使用readUTFBytes方法将数据赋值给文本组件显示。
txtFile.text=stream.readUTFBytes(stream.bytesAvailable);
“stream.bytesAvailable”是readUTFBytes方法的可选参数,表示读取全部文件流数据。
AIR工程文件路径定义错误
// var file:File=new File(File.applicationResourceDirectory. nativePath+"\\test.txt");
var file:File=new File(File.applicationDirectory.nativePath+"\\test.txt");
备份
flextt1
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb
serverlocation
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb\web
http://localhost:1961/web/
web
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb\web\WebZone_Flex-debug
Flex 3.0中数据类型强制转换的语法如下所示。
变量名 as 强制类型
或者如下所示。
(强制类型)变量名
以下代码将int类型强制转换为Number类型。
var s:Number=y as Number;
var t:Number=(Number)y;
--------------------------------------
以下代码中两个数组变量直接赋值,带来了错误的结果。
var a:Array,b:Array=[1,2,3];
a=b;
a[0]=100;
trace(a); 结果:100,2,3
trace(b); 结果:100,2,3
为了帮助读者理解,假设数组在内存的首地址为000001。变量赋值后,变量a、b都指向首地址000001。对变量a进行数据修改后,数组数据发生改变。但变量a、b仍然指向同一首地址。
正确的做法是使用concat方法复制变量b。
上述代码修改如下所示。
var b:Array=[1,2,3];
var a:Array=b.concat();
a[0]=100;
trace(a); 结果:100,2,3
trace(b); 结果:1,2,3
--------------------------------------
声明变量为公有的关键字为public”。其语法如下所示。
public var 变量名:变量类型;
以下代码定义了公有变量s。
public var s:String="aafdsfdsa
-----------------------------------------------
创建File类变量的语法如下所示。
var File变量:File=new File(文件路径);
以下代码定义File类变量,并指向根目录下的“test.txt”文件。
var file:File=new File(File.applicationResourceDirectory.nativePath+ "\\test.txt");
“File.applicationResourceDirectory.nativePath”表示工程路径。
使用FileStream类打开文件“test.txt”。打开文件需要使用FileStream类,其语法如下所示。
var FileStream变量:FileStream=new FileStream();
FileStream变量.open(File变量,打开方式);
打开方式可为“FileMode.READ”、“FileMode.WRITE”、“FileMode.APPEND”、“FileMode. UPDATE”四种。本程序中使用“FileMode.READ”。以下代码使用FileStream类打开文件“test.txt”。
var stream:FileStream = new FileStream(); //定义FileStream类实例,用以处理文件流
stream.open(file,FileMode.READ); //以读的方式打开文件
读取FileStream类中的数据。在使用FileStream类打开文件后,数据存储于FileStream变量中。可使用readUTFBytes方法读取数据。其语法如下所示。
FileStream变量.readUTFBytes();
readUTFBytes方法返回类型为String型。以下代码使用readUTFBytes方法将数据赋值给文本组件显示。
txtFile.text=stream.readUTFBytes(stream.bytesAvailable);
“stream.bytesAvailable”是readUTFBytes方法的可选参数,表示读取全部文件流数据。
AIR工程文件路径定义错误
// var file:File=new File(File.applicationResourceDirectory. nativePath+"\\test.txt");
var file:File=new File(File.applicationDirectory.nativePath+"\\test.txt");
备份
flextt1
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb
serverlocation
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb\web
http://localhost:1961/web/
web
E:\TDDOWNLOAD\sql 2005\demo\ZoQingWeb\web\WebZone_Flex-debug