Flex开发指南

Flex开发指南
Flex开发指南

有关ActionScript 3的部分,请观看本人总结的ActionScript 3详解文章!

1.Flex 3是Adobe出品的开发RIA(Rich Internet Application富互联网应用)的工具,Flex 3包括:Flex 3 SDK软件开发包、编译器、Flex类库和调试工具。

2.Flex Builder 3是基于Eclipse之上的一个开发工具,界面和使用方法很类似Eclipse。

3.Flex的应用程序到底是什么东西?

*答:其实就是把可以用Flash播放的swf格式文件封装到了HTML页面中的应用程序,

然后程序(可以认为HTML)就可以借助Flash文件(swf)的功能(如事件等)来和服务器端进行交互。

*注意:要运行Flex的应用程序必须在客户端安装Flash Player 9或以上的播放器才行;

如果没有安装,那么打开Flex的应用程序时,IE下会提示通过ActiveX插件的形式在线安装。

4.Flash Player 9安装时会有两种版本:非调试版本和调试版本。非调试版就不用说了就是用来运行Application应用的;

*调试版的作用:********************后边讲到

5.Flex 3 Application应用的实现方式:主要借助MXML文件和ActionScript 3语言(AS3)来实现。

*MXML的作用:该文件为一个描述文件,非常类似于XML,只不过该文件中的标签都要以"mx"开头(因为名称空间指定),例如

且该文件的根元素为 ,说白了就是通过这个文件来定义Flash的swf格式文件,

只不过编译后就直接将生成的swf封装到了满足"一定格式"的HTML文件中了。

**注意:我们知道Flash文件中只能有ActionScript代码,没听说过也可以有MXML文件,所以Flex中的这个MXML文件只是为了方便视图界面的开发和格式的美观优雅而特别订制的,

其实运行Flex的应用时,首先会将MXML文件中的定义内容转换成相对应的ActionScript 代码(变量、对象等),

然后在运行所有ActionScript代码,也就是说如果有MXML的内容的话就先把它们转换成ActionScript,

然后将原来的ActionScript和刚转换成的ActionScript一起进行编译(编译后的文件默认会输出到bin-debug目录),使之作用于Flash文件之上。

**注意:在MXML文件中只能在...标签内部使用段的形式书写ActionScript代码,

不能像在as文件中那样写ActionScript代码。

*ActionScript 3的作用:就如上说,就是用来定义Flash文件(swf)中的对象、事件等组件的语言。

**技巧:由上边说明知道ActionScript代码会在MXML文件内容转换完后才一起执行,这样一来就可以在ActionScript代码中直接引用MXML文件中通过元素定义(MXML会将元素的ID值最为定义的对象名称)的对象了,

无需担心会访问不到,因为现将MXML转换成ActionScript,然后在统一编译执行ActionScript代码,最后生成封装有swf文件的HTML等一些文件。

**注意:一般Flex应用中会将MXML和ActionScript这两种方式结合使用,以达到最佳效果。

6.Flex Builder 3提供了3种类型的项目:Flex项目、Flex库项目和ActionScript项目。

*Flex项目:就是我们要使用的。我们可以在项目中导入我们自己定义的Flex类库SWC文件(类似与Java中的jar包)。

它有一个html-template目录,存放的是模板文件,输出到bin-debug目录中的文件就是以html-template目录中模板文件为模板生成的。

所以修改html-template模板中的某个设置将会影响输出的内容,有的时候为了实现某个界面效果可以修改模板文件。

**注意:SWC库(库中可以封装图片、声音等素材文件、程序(组件或自定义组件)等)文件类型分为普通类型和RSL类型,

虽然都是库包,但是前者使用时一般要封装到swf文件中使用,就是不需另外导入对应的SWC库包;而后者就是使用RSL机制,

让swf文件在使用SWC库中的内容时才运行(加载SWC库包),所以需要导入SWC库包到项目,这种属于动态机制。

*Flex库项目:就是将要封装的内容放到src中,然后编译项目,就会在bin目录中生成对一个的SWC库文件。

*ActionScript项目:就是编写ActionScript语言对应的.as文件,然后编译生成对应的SWC 库包,供Flex项目导入使用。

7.使用MXML来实现事件处理机制:用一个例子来演示。

<1>首先创建一个MXML Component文件,使用已有的ActionScript组件来组装一个自定义的组件。

其实就是创建一个新类,继承已经存在的组件(如Panel),然后在自定义类中封装几个已存在的组件作为属性,以组成自己的类!!

[Event (name="login", type="flash.events.Event")]

internal function clickButton():void{

//向这个组件的事件流中制造一个新的事件,以便可以触发对应的监听器

this.dispatchEvent(new Event("login"));

}

]]>

*说明:因为表单有登陆按钮对象,所以要为按钮注册一个"登陆事件…(即鼠标点击事件),

当点击时当然就会触发事件监听方法,进而完成对应的功能(判断用户名、密码等)。

*注意: 这样一个自定义组件不能独立运行,只能供一个MXML文件引用而使用。

所以是否触发login类型的事件要看引用该组件对象的MXML文件中的声明了。见下边!!

<2>在MXML文件中引入自定义组件,使用元素引用(也可以从组件视图上拖动)。

import mx.controls.Alert;

//监听器方法

internal function loginClick(evt:Event):void{

Alert.show("登陆成功","提示");

}

]]>

*说明:login="loginClick(event)"中的login是事件类型,而loginClick则是事件监听器方法

<3>总结: 上边例子中,首先在自定义组件中为自定义组件声明了一个可以使用的事件类型"login",

然后为自定义组件中的按钮的鼠标点击事件注册监听器方法为clickButton()方法,方法体中是为自定义组件的事件流中制造一个login类型的事件。

也就是说运行时,点击按钮后,会触发clickButton方法,然后该方法为自定义组件事件流中制造一个新的login事件,

这回导致注册了login事件类型的监听器被调用,即loginClick被调用。这是上边例子点击登陆后的操作流程。

<4>上边为自定义组件声明的事件类型都是ActionScript提供的事件Event类型的,我们当然也可以想在ActionScript中那样,定义自定义的事件类型。

//自定义事件类型

public class LoginEvent extends Event{

//保存用户名

public var username:String;

//保存密码

public var password:String;

public function LoginEvent(type:String){

super(type, false, false);

}

}

*修改<1>中代码:

[Event (name="login", type="com.events.LoginEvent")]

import com.events.LoginEvent;

internal function clickButton():void{

//创建自定义事件对象,并且指定类型名为"login"

var loginEvent:LoginEvent = new LoginEvent("login");

//得到用户名值

https://www.360docs.net/doc/47443160.html,ername = t_username.text;

//得到密码值

loginEvent.password = t_password.text;

//向事件流中制造事件

this.dispatchEvent(loginEvent);

}

]]>

*修改<2>中代码:

//此处参数类型改成了LoginEvent自定义类型,如果不改将会得不到username和password 属性值

internal function loginClick(evt:LoginEvent):void{

//判断用户名和密码

if((https://www.360docs.net/doc/47443160.html,ername == "admin") && (evt.password == "admin")){

Alert.show("登陆成功","提示");

return;

}

Alert.show("登陆失败","警告");

}

*说明:其实我们可以直接在按钮的鼠标点击事件中进行表单的验证,不过如果这样代码的复用能力就比较差,

因为我们可能会在很多地方都会使用自定义组件,如果验证写在鼠标单击按钮事件方法中,那么在每一次引用自定义组件后,

如果各个需求的验证方法不同,那么就要总是修改自定义组件的鼠标点击事件方法中的代码了。

而向上边那样写,就无需修改自定义组件中的代码了。

8.数据绑定: 就是当数据源对象的数据发生变化时,目标对象的数据会自动更新,而不需要我们再编写代码去强制更新。

* 绑定的内部原理: 绑定实际也是借助事件机制来完成的,当目标使用了数据绑定的时候,目标对象就会监听数据源对象的某一固定事件。当数据源发生变化时,数据源就会制造出那个固定的事件(ChangeEvent事件),

此时目标对象的监听机制会被触发,即通知目标对象更新数据。不过这个过程都是由Flex 完成,不用我们手动干预!!

* 绑定的前提条件: 数据源对象的数据和目标对象的数据格式相同。

<1>方法一: 针对MXML文件可以使用的方法。在为组件对象的元素属性赋值时,使用"{}"直接将数据源直接绑定到对象组件的某个属性上,这样就可以了。

例子:

说明:当滑动条滑动时,将会改变滑动条的数值,因为我们将的fontSize属性值和滑动条的数值进行了绑定,

所以滑动条变化后的数值将会作为的fontSize属性值。

<2>方法二: 针对MXML和ActionScript结合使用的方法。

在组件对象的元素属性中,使用"{}"把某个ActionScript的方法的返回值作为数据源绑定到该组件对象属性上。

同时ActionScript的这个方法的参数要使用[Bindable]绑定符号。

例如:

//作为方法的参数, 如果不指定[Bindable]那么参数变化后不会通知目标进行更新数据[Bindable]

private var number:int;

//下边调用的方法,做平方运算

internal function square(num:int):int{

return num * num;

}

]]>

知道作为参数的number属性要使用[Bindable]进行声明,

表明为该属性指定一个监听器(由Flex自己完成),当属性值变化时就表示触发该事件,然后就会通知数据绑定目标进行更新操作(也是由Flex自己完成) -->

**补充关于[Bindable]的知识:

**声明的标准格式: [Bindable(event="eventType")] 表示为添加该声明的属性(数据源)制造事件,就是说当数据源变化时,

向事件流中制造一个事件,以便触发事件(Flex内部定义好的)去通知目标对象进行更新操作(由Flex完成)!!

**我们上边为什么只是指定了[Bindable]呢?---- 因为如果不指定默认值为[Bindable(event="propertyChange")],等价于[Bindable],

就是说当属性改变的时候制造一个事件,以便Flex通知目标对象进行更新操作。

**扩展能力补充: [Bindable]不仅可以用在属性上,也可以用在getter或setter方法(2选1即可)上,也可以作用在类的声明上。

A.作用在getter或setter方法上: 成为方法级绑定。实现的效果和[Bindable]作用在属性上差不多。

例子:

//1.创建一个ActionScript的类

public class BindClass{

//属性处则不用进行绑定了

private var age:int;

//建立绑定关系

[Bindable]

public function get Age():int{

return this.age;

}

//属性的setter方法,[Bindable]作用在getter或setter方法中选其一即可

public function set Age(age:int):void{

this.age = age;

}

}

//2.在MXML文件中使用BindClass类

//定义一个类对象,供下边的MXML文件访问

private var bc:BindClass = new BindClass();

//下边调用的方法,做平方运算

internal function square(num:int):int{

return num * num;

}

]]>

B.作用在类的声明上: 称为对象(类)级别绑定,[Bindable]标签用于公有类时,

这个类的所有public类型的变量和setter、getter方式定义的方法都可以用于绑定。

例如:

//1.创建一个BindClass类型,并且绑定类级别的绑定

[Bindable]

public class BindClass{

//定义成public主要使用与演示效果

public var age:int;

//getter方法

public function get Age():int{

return this.age;

}

//属性的setter方法,[Bindable]作用在getter或setter方法中选其一即可

public function set Age(age:int):void{

this.age = age;

}

}

//2.在MXML文件中使用BindClass类: 此时就可以使用A中或第一种方法来实现了。

//定义一个类对象,供下边的MXML文件访问

private var bc:BindClass = new BindClass();

//下边调用的方法,做平方运算

internal function square(num:int):int{

return num * num;

}

]]>

//可以使用这种方案,也可以使用下边的(就是第一种方式)

<3>方法三: 使用标签来实现,source属性用于指定数据源,destination用于指定目标对象。该标签要和标签组合使用,

指定的数据作为的数据源。

** 内容补充: 标签的使用,就是可以在该标签内部定义一些数据,定义形式和XML一样。

例如:

FLEX教程

张三

JA V A高级编程

李四

** 实现方法:

//把上边的作为数据源,这里source="https://www.360docs.net/doc/47443160.html,"中的books指的是中的id值(该对象就表示根元素),

//所以books.book就是得到下的所有以数组的形式(第一个元素下标为0,取0的时候可以不指定下标)。

//destination="text_name.text"则是将数据源中的数据传到目标对象上。

//与上边的等价//表示目标对象

//结果说明: 显示"Flex教程"

<4>以上三种方法总结: 三种绑定的方法一般都是绑定的静态数据,就是都是在文件中准备好了的数据!!

<5>Object对象和动态对象: ActionScript中的Object对象和Java中的有区别,在ActionScript中Object是一个动态对象,可以为对象动态指定属性。

例如:

var obj:Object = new Object();

https://www.360docs.net/doc/47443160.html, = "admin"; //动态指定属性name并为其赋值

obj.age = 24; //动态指定age属性

obj.address = "北京海淀区万泉庄"; //动态指定address属性

或者: 进行初始化

var obj:Object = {name:"admin", age:24, address:"北京海淀区万泉庄"};

**注意:可以使用"dynamic"关键字来定义一个动态的类型,使用的时候可以向上边Object 一样,可以动态创建属性。

**说明:标签运行时会被转换成ActionScript语言中的Object类型的对象,因为Object是动态对象,

所以像source="https://www.360docs.net/doc/47443160.html,"这样指定数据源的时候,如果指定了错误的属性,并不会报告错误,因为是动态类型,

如果指定错误他会动态创建这个属性,所以将会导致匪夷所思的不可预见性的错误,为此Flex内部实现的时候当把转成Object的时候,

Flex又紧接着将Object转换成了ObjectProxy类型的对象,就是去除了Object的动态类型功能的包装代理类,这样才得以上边的程序运行没有后顾之忧!!

<6>工具类BindingUtils和动态绑定: mx.binding.utils.BindingUtils类

(API文档中没有该类的帮助,可以从Flex Builder的帮助中查看API文档,也可在Flex

Builder创建的类中按F1快捷键)

中提供了两个静态方法来处理动态绑定!!

**例子1: 需求要求动态创建一个Label对象,然后将它加入到应用程序中(相当于加入到Java Swing的Frame窗体中)。

而之前的方法是使用MXML创建一个,这样可以使用上边的方式进行绑定,而这里要求动态创建一个Label对象,

此时就是动态绑定,要借助BindingUtils.bindProperty()方法来进行动态绑定。

//定义一个Label类对象

internal var label:Label = new Label();

//初始化方法,运行应用程序时自动运行该方法

internal function init():viod{

//将动态创建的label对象添加到应用程序窗体

this.addChild(label);

label.x = "300"; //设置label对象的属性值

label.y = "100";

label.width = "200";

label.height = "50";

label.text = "10"; //刚开始Label中显示10这个数字

//为label对象动态绑定,将滑动条的value属性和该label对象的text属性进行绑定BindingUtils.bindProperty(label, "text", text_show, "value");

}

]]>

**例子2: BindingUtils.bindSetter()方法的应用。修改上边的例子!

BindingUtils.bindProperty(label, "text", text_show, "value");修改成

BindingUtils.bindSetter(setTxt, text_show, "value");意思是当text_show组件对象的value属性值发生改变时,要调用setTxt()方法,

调用的同时将text_show对象的最新value属性的值作为参数传给setTxt()方法。

除了修改上边语句外,还要添加一个setter方法,其实该方法的定义名称可以随意,不过这里为了见名知意,就定义成了setTxt()名称!!

internal function setTxt(txt:String):void{

label.text = txt; //将Label对象的text属性值等于最新版本的text_show的value属性值

}

9.Flex的样式(style): 使用方式有多种。

<1>直接使用CSS文件,系统默认使用default.css文件。

引入格式:

<2>使用Flex的视图编辑器模式,直接操作组件对象的style样式!!

<3>如果是动态创建的组件对象,那么可以通过调用对象的setStyle()方法来设置样式,也可通过getStyle()方法得到样式!!

<4>使用StyleManager类来操作样式: 结合CSSStyleDeclaration类一起使用!!

例如:

internal function init():void{

//创建一个样式对象

var cs:CSSStyleDeclaration = new CSSStyleDeclaration("myCssStyle");

cs.setStyle("color", "#000000"); //设置样式对象的颜色属性为#000000色

//将cs样式对象作用与程序中所有Panel类型的对象上

StyleManager.setStyleDeclaration("Panel", cs, true);

}

]]>

*说明: MXML文件中的标签引用CSS文件中定义的样式的时候一般使用styleName属性来引用!!

<5>定义CSS文件的格式:

/* 全局样式,使用global关键字定义,就是对所有具有以下指定的属性(像borderColor 属性)的标签,它们的对应属性值都是#767473 */

global

{

borderColor: #767473;

}

**注意:在ActionScript代码中可以使用

var globaalStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");来得到全局样式对象,

在程序中可以动态的修改对应的样式属性的值!!

/* 作用于标签及其子标签的样式*/

Application

{

borderStyle: "none";

}

/*

可以使用MXML文件中标签的styleName属性来引入这个样式,例如,styleName="comboDropDown"其中"."不用写入

类似于HTML中CSS中的类选择方式,HTML标签中可以使用class属性来指定这种类型的CSS样式定义!!

*/

.comboDropDown

{

backgroundAlpha: 0.6;

}

10.Flex的主题: 主题是一套配置完整的CSS样式风格!!Flex提供的几种主题(可以在Flex builder的帮助中以"theme"关键字搜到)文件类型都以".swc"为扩展名!!

其实就是将CSS打成一个swc库包,打包方法有很多,可以使用Flex提供的命令行工具(compc命令,可参看以"theme"为关键字搜到的Flex Builder帮助内容),

也可以使用Flex Library项目对src中的内容打包成swc包进而导出!!

*主题文件的使用:

**方法一: 在运行应用程序的时候传入附加参数"-theme xxx.css" ; 或者,修改项目的属性,在"Flex Compiler"中的"additional compiler arguments"处的结尾添加"-theme xxx.css"参数。

**方法二: 修改Flex-config.xml(在Flex安装目录的sdks\3.2.0\frameworks目录中可找到)中的标签,来达到修改设置主题的效果!!

例如:

themes/Smoke/Smoke.css

*说明: 可以到Flex Builder的安装目录的sdks\3.2.0\frameworks\themes目录中拷贝Flex提供的几种主题,默认Flex使用的是"HelloClassic"主题。

注意: 文章中提到的《Flex3 Component Explorer》文档可到本人的下载空间中下载获得!

Proflex PCR System使用说明书

USER GUIDE For Research Use Only. Not for use in diagnostic procedures. ProFlex ? PCR System User Guide Installation, Use, and Maintenance for use with: PCR reagents from Invitrogen ? and Applied Biosystems ?Catalog Number 4483636, 4483637, 4483638, 4484071, 4484073, 4484074, 4484075, 4484076, 4484078,4484072, and 4484077 Publication Number MAN0007697 Revision A.0

For Research Use Only. Not for use in diagnostic procedures. The information in this guide is subject to change without notice. DISCLAIMER LIFE TECHNOLOGIES CORPORATION AND/OR ITS AFFILIATE(S) DISCLAIM ALL WARRANTIES WITH RESPECT TO THIS DOCUMENT, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. TO THE EXTENT ALLOWED BY LAW, IN NO EVENT SHALL LIFE TECHNOLOGIES AND/OR ITS AFFILIATE(S) BE LIABLE, WHETHER IN CONTRACT, TORT, WARRANTY, OR UNDER ANY STATUTE OR ON ANY OTHER BASIS FOR SPECIAL, INCIDENTAL, INDIRECT, PUNITIVE, MULTIPLE OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO THE USE THEREOF. Important Licensing Information This product may be covered by one or more Limited Use Label Licenses. By use of this product, you accept the terms and conditions of all applicable Limited Use Label Licenses. Trademarks All trademarks are the property of Thermo Fisher Scientific and its subsidiaries unless otherwise specified. AmpliTaq and AmpliTaq Gold are registered trademarks of Roche Molecular Systems, Inc. Clorox is a registered trademark of The Clorox Company, Bio-Rad, MyCycler, and C1000 Touch are trademarks of Bio-Rad Laboratories, Inc. Eppendorf, Mastercycler, and MJ Research are trademarks of Eppendorf AG. ?2014 Thermo Fisher Scientific Inc. All rights reserved.

Flex打印问题

Flex打印问题 使用两个类解决打印问题:FlexPrintJob和PringDataGrid。 ? FlexPrintJob。这个类需要在实例化之后用作要打印对象的容器。 ? PringDataGrid。是DataGrid的一个子类,用来打印必须以网格或表格形式显示的数据,支持多页面打印。 简单的打印实例: < ?xml version="1.0" encoding="utf-8"?> < mx:Application xmlns:mx=https://www.360docs.net/doc/47443160.html,/2006/mxml layout="absolute"> < /mx:Application> 见源代码:printDemo.mxml。 创建单独的Print容器: < ?xml version="1.0" encoding="utf-8"?> < mx:Application xmlns:mx=https://www.360docs.net/doc/47443160.html,/2006/mxml layout="absolute" creationComplete="bookDataCall.send()">

flex开发环境配置手册

Flex开发环境配置手册 开发工具篇 一.开发工具 这里主要需要介绍的是两个Flex开发工具的环境配置 Micromedia Flex Builder 1.5 FlexBuilder 2.0 Eclipse 插件 二.Micromedia Flex Builder 1.5环境配置 1.安装Micromedia Flex Builder 1.5 安装部分比较简单,基本上和其他的Windows软件安装差不多,这里不做详细介绍。 2.配置开发环境 Flex Builder开发工具总体预览如下 图1 总体预览 OK,上面是配置完成的Flex Builder的开发环境预览,下面我们开始进入配置介绍,在这之前请先阅读Flex开发环境配置手册----服务器篇。因为这里使用的服务器是在服务器篇中介绍的布局,所以建议最好先阅读服务器篇。 a)新建Flex站点 首先我们需要在Flex Builder中为我们的Flex项目构建一个站点,我这里假设其站点名称为genifyFlex,并在服务器的发布目录下新建一个genifyFlex目录,当然这个名称你可以选取自己喜欢的名称。在Flex Builder的菜单栏Site New Flex Site中配置项目站点,如下所示: 图2 新建Flex站点01

图3 新建Flex站点02 Site name:Flex项目使用的站点名称。 Local root folder:项目源文件放置位置。 Flex server root folder:服务器篇中安装的Flex 1.5的目录(注意这个不是Flex Builder的目录)。 URL prefix:用户访问时使用的URL前缀,在项目开发过程中对源文件进行调试时Flex Builder生成的访问路径的前缀也使用该前缀。 b)站点配置 这里可以在上面的More Settings链接对站点进行更加详细的配置,也可以在Flex Builder的菜单栏Site Manage Sites进行站点的详细配置 图4 配置Flex站点01 图5 配置Flex站点02 在这里我们选择Edt对站点的一些信息进行详细配置,当然我们也可以在这里建立站点或者导入导出站点信息,这些不是我们这里的重点。 通过基本配置向导(Basic)可以完成对站点的基本信息的配置。 步骤一: 配置站点名称,如果项目的源文件是放置在本地的,这里只需键入站点名称即可,如果源文件是放在服务器上的,并且通过FTP或RDS来连接到服务器的,需要建立相应的连接,详细信息参见在线帮助文档。我们这里使用本地目录,因此这里只需键入站点名称

Flex与Twaver资料

TWaver Flex数据模型 TWaverFlex的基本数据元素是twaver.IData,基本数据容器定义为twaver.DataBox,基于这两类基本元素,TWaverFlex预定义了一系列业务对象,视图网元和管理容器,例如告警(twaver.IAlarm)和告警容器(twaver.AlarmBox),图层(twaver.ILayer)与图层管理容器(https://www.360docs.net/doc/47443160.html,yerBox),拓扑网元(twaver.IElement)和拓扑管理容器(twaver.ElementBox)...... 数据元素结构图 数据管理容器结构图 其中拓扑管理容器(twaver.ElementBox)整合了其他几种容器,提供了丰富的拓扑元素(Dummy, Node, Link, Bus, ShapeNode, ShapeLink, Follower, Rack, Shelf, Slot, Card, Port, Grid, Group, SubNetwork......),为网管界面开发提供了强大的设计模型和业务功能的基础支持。 TWaver Flex数据元素 TWaverFlex以twaver.IData为最基本的数据单元,扩展定义了一系列具有图形和业务意义的数据类型,包括IAlarm, ILayer, IElement... twaver.IData

IData是TWaverFlex的数据元素基类接口,twaver.Data是对其实现类,定义了id, name, icon, toolTip, parent, children等基本属性,对事件派发做了封装,并支持xml数据的导入导出,为TWaver各平台间数据的可序列化奠定了基础。 Data继承于flash.events.EventDispatcher,这使他具有事件派发和监听的功能,可以通过调用下面的方法派发事件或者添加实现监听器: flash.events.EventDispatcher#public dispatchEvent(event:Event):Boolean flash.events.EventDispatcher#addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void Data还实现了twaver.IData接口,实现了对属性变化事件的派发和监听 function dispatchPropertyChangeEvent(property:String, oldValue:Object, newValue:Object):Boolean; function addPropertyChangeListener(listener:Function, priority:int = 0 , useWeakReference:Boolean = false):void; function removePropertyChangeListener(listener:Function):void; 此外,Data中还定义了其他功能函数 function get childrenCount():int; function get hasChildren():Boolean; function isDescendantOf(data:IData):Boolean; function isParentOf(data:IData):Boolean; function isRelatedTo(data:IData):Boolean; function toXML(context:XMLContext, newInstance:IData):void; function parseXML(context:XMLContext, xml:XML):void; function setPropertyValue(property:String, value:Object):void; function getPropertyValue(property:String):Object; 下面分别介绍各个实现类 twaver.ILayer

www.manuallib 飞利浦 REMstar Auto A-Flex 用户手册

REMstar Auto A-Flex USER MANUAL

? 2010 Koninklijke Philips Electronics N.V. All rights reserved.

T able of Contents Intended Use (2) Important (2) Warnings (2) Cautions (3) Contraindications (3) Symbol Key (3) System Contents (4) System Overview (4) Control Buttons (5) Available Therapies (5) Installing the Air Filters (6) Connecting the Breathing Circuit (6) Where to Place the Device (6) Supplying AC Power to the Device (6) Navigating the Device Screens (7) Starting the Device (7) Ramp Feature (8) Mask Fit Check Feature (8) Flex Screen (8) Setup Screen (9) Info Screen (10) Device Alerts (12) T roubleshooting (15) Accessories (16) T raveling with the System (17) Cleaning the Device (17) Cleaning or Replacing the Filters (17) Cleaning the T ubing (17) Service (17) Specifications (18) Disposal (20) How to Contact Respironics (20) Limited Warranty ...................................................................................................................................Back Page

flex4.0标签

Flex 4 读取xml文件,xml文件的格式: 根节点 叶子 信息 test-left test-middle fx:Binding可以使用 标签将某个对象的数据绑定到另一个对象。 可以使用 标签在 MXML 文件中定义内联单元格渲染器或单元格fx:Component 编辑器。 fx:Declarations可以使用 标签声明当前类的非默认、不可视属性。 可以在 标签内使用 标签定义图形子对象,然后fx:Definition 可以将子对象用于应用程序的其他部分中。 fx:DesignLayer 标签仅供内部使用。 fx:Library可以使用 标签声明当前类的非默认、非可视属性。 fx:Metadata使用 标签可以在 MXML 文件中插入 metadata 标签。 fx:Model可以使用 标签在 MXML 中声明数据模型。 fx:Private可以使用 标签提供有关 MXML 或 FXG 文档的元数据信息。 作为视图状态更改的一部分,可以使用 标签更改某个组件的父容fx:Reparent 器。 fx:Script可以使用 标签定义 ActionScript 代码块。 fx:Style可以使用 标签定义适用于当前文档及其子项的样式。 fx:XML可以使用 标签在 MXML 中声明 XML 格式的数据模型。 可以使用 标签在 MXML 中通过文本格式的模型创建 E4X XMLList fx:XML List 对象。 fx:Binding在使用标签时,需要提供源属性和目标属性。可以使用标签将视图或用户界面与模型完全分离。通过标签,您还可以将不同的source 属性绑定到同一个destination 属性。

Fitbit flex(one) 中文使用说明书

Fitbit flex 使用说明书(也适用于fitbit one) 下面提到的软件及APP,您可以在网盘下载 https://www.360docs.net/doc/47443160.html,/share/link?shareid=2291433773&uk=4247811111 1.拿到机子,请检查配件,是否完整.(one 没有胶套,只有黑色绑带) 2.最好给主机先充电,以保证正常使用. 充电时指示灯会亮,一颗灯表示20%电量.

3.将flex与手机配对(以iphone4s为例) 注: ①所有配对和数据同步,必须在有网络的情况下进行(因为有云端数据备份). ②Flex支持电脑和智能终端同步,从方便的角度来说,首选智能终端. ③在配对和同步数据之前,我们先要注册一个fitbit的用户名,您需要输入,您的年龄,体 重,身高等数据,它可以记录你的健康状况.并且数据是备份在云端,永不丢失.(也可跳过这一步,直接在手机上注册) ⑴进入官网https://www.360docs.net/doc/47443160.html,,在右上角的log in ⑵选择最下方的,free account. ⑶输入有效的邮箱,自己设的密码,输完以后,点击sign up.你就是fitbit大家族的一员了.

④注册好自己的用户名以后就可以配对了,flex支持ios中蓝牙 4.0设备 (iphone4s/5,ipad3/4/mini,touch5),安卓只支持三星S3,note2以后的机型(如果您的三星是行货,涉及到Root和刷机问题). 我们以iphone4s为例,开始: a.首先下载fitbit的APP.如果您的手机越狱,那么您可以在pp助手,91助手中下 载”fitbit”即可.如果没有越狱,那么您可以使用电脑端的pp助手安装,在pp助 手的”正版应用”中(但是不能在线升级软件) b.安装APP完毕后,打开手机的蓝牙功能(这里无需配对),进入APP,这里输入您刚才 注册的用户名,如果刚才您没有注册那么这里就选择”Get started”注册了. c.进入主界面后,进行配对.

Flex3.0面试题

1.as2与as3.的最主要区别是什么? 答:首先,as2和as3是完全不同的语言,几乎没有兼容性可言。as2编译用的AVM1虚拟机,as3用的AVM2,速度快,提供了一些基础异常处理。 as3是纯的OOP,强类型语言。as2不是。具体的差别有太多太多。 2.flex的开发框架有哪些,它们有什么优缺点? 答:最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。Puremvc应该是现在用的最多的as 框架了。比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Fa?ade作为中央存储器的单件类的形式进行开发的。说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML来做这些事情。Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。 3.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。 我认为mxml并不影响mvc模式啊。分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。只要按照它们的使用规范来进行开发,自然没有问题。 4.如果发生内存泄露,你是如何解决的? 在profile观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。在addEventListener时候尽量采用弱引用、自引用、或者子对象引用,以避免内存泄漏。 5。as3.0垃圾回收器是如何工作的? flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的 对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过

PowerFlex 40变频器用户手册

PowerFlex 40 Adjustable Frequency AC Drive PowerFlex 40变频器 User Manual 用户手册

重要用户信息 固态设备具有不同于电动机械设备的操作特性。 《固态控制器的应用、安装和维护安全指南》(出版号SG I-1.1,本资料可从当地的Rockwell销售办事处或https://www.360docs.net/doc/47443160.html,/manuals/gi获得)说明了固态设备和硬接线电动机械设备之间的重要差别。由于这些差别的存在以及固态设备应用的多样性,因此所有技术人员有责任确保这些固态设备的每项应用是可行的。 罗克韦尔自动化公司绝不承担因使用该设备而引起的间接或灾后损失的责任或义务。 本手册所包含的例子和图表仅仅用于说明。因为任何特定安装有着特定的变化因素和需求,所以罗克韦尔自动化公司不承担用户基于例子和图表中实际应用的任何责任或义务。 关于本手册中所说明的信息、电路、设备或软件,罗克韦尔自动化公司不承担任何专利责任。 如果没有得到罗克韦尔自动化公司书面允许,严厉禁止任何团体、公司、个人对本手册的内容进行整体或部分复制。 我们使用了注释贯穿于本手册,提醒用户作安全考虑。本手册系根据英文原文版翻译而成。本手册中若有与英文不符之处,请以英文为准。 25 26 27 注意事项:是指有关导致人员伤亡、财产损害或经济损失的实际应用或 环境情况。 注意事项可以帮助用户 z识别危害 z避免危害 z认识危害所带来后果 重要事项:是指用户对有关产品正确理解和应用所需掌握的重要信息。 DriveExploer,Drive tools32和SCANport是罗克韦尔自动化公司的商标。 PLC是罗克韦尔自动化公司的登记注册商标。 ControlNet是ControlNet国际有限公司的商标。 DeviceNet是Open DeviceNet Vendor Association的商标。

JFLex用户手册中文版

JFLEX词法分析 安装与配置 1.下载jflex-1.4.3.zip,解压缩到本地目录(c:/jflex)。 2.找到jflex\bin\jflex.bat文件,配置JAVA HOME和JFLEX HOME 3.把x:\jflex\bin写入系统环境变量path中 运行 可视化方式 直接运行jflex\bin\jflex.bat文件,打开可视化界面操作即可。 命令行方式 配置 把x:\jflex\bin以及x:\jflex\lib\ JFlex.jar配置到系统环境变量的CLASSPATH中。 格式 java JFlex.Main 运行参数 -d 生成文件的输出目录 --skel 使用外部的骨架文件生成扫描器类,它大多数情况下用于JFLEX的维护和低级别定制。只有在你知道自己正在作什么时候才使用它。JFLEX的源码中带有一个骨架文件,预先编写骨架

文件才能使用此命令。 --nomin 在扫描器生成的过程中,跳过DFA简化步骤。 --jlex 完全兼容jlex --dot 为NFA, DFA and minimised DFA生成扩展名为.dot的graphviz图型文件。该参数还在最初阶段,尚未完全实现。 --dump 在控制台显示NFA转换表,初始DFA和最简DFA。 --verbose or –v 显示生成过程信息。 --quiet or –q 仅显示生成错误信息 --time 显示代码生成耗时信息(不十分精确) --version 打印JFLex版本号

flex开发规范文档

Flex开发规范 开发规范对可以使用项目中所有的文件进行统一,增加可读性,减少错误出现的几率。规范的编码减少人员变动带来的维护成本,可以让程序员尽快而彻底的理解新的代码。 为了方便维护,特定flex开发规范,每个人必须执行。 1.总体要求 所有As功能代码部分,每个方法需要有相应的注释。核心功能代码要求每个处理都要有注释。注释内容包括:方法功能用途,编写人,时间。 所有标签代码,需进行代码格式化。(myeclipse中的格式化)。 对于后期修改的代码,要注明为后期修改,并写明具体修改时间,修改人。 项目开发必须严格按照开发规范进行编写。 2.命名规则 2.1.项目结构及文件夹命名规则 文件夹命名需小写。除特殊运用框架的工程之外,项目中的文件目录结构应为: com >>assets 图片文件夹 >>common 常用组件文件夹 >>styles 样式文件夹 >>configs 配置文件夹 >>其他业务文件夹 2.2.类命名规则 类命名首字母需大写,取名需按照业务功能的字面意思进行取名。例如LoginPage。所有弹出页面均要加上XXXPop后缀。 2.3.配置文件命名规则 所有配置文件需按字面意思进行命名,首字母大写。例如MapConfig.xml。若文件是某个类专用读取属性于地址目录的配置文件,则要与该类同名。例如HireLine.mxml与HireLine.xml。

2.4.方法命名 除构造方法外,一般方法首字母需小写,后采用驼峰式命名方法,方法命名需体现方法功能。禁止方法名超长。标准应为如下:onMapClick():void, querryCarInfo():void, 2.5.类变量命名 变量命名需简短,明意。首字母需小写,并采用驼峰式命名方法。对于特定关键代码的变量命名后缀需与参照其类型名。例如集合与数组:messageArr。Object类为:infoObj。事件为:clickEvt。字符串为:querryStr等。 2.6.临时变量命名 尽量不与类变量同名,命名方法参照类变量,循环体内的自增变量需采用I,j,k,m,n,也可写成index。对于引用自定义类的变量,命名取该类型的缩写或取其名称的一部分。例如自定义类为CarInfoSearchPop,则变量名为cisp或carpop。 2.7.Bean命名 采用驼峰命名方法,命名需体现业务意思,以Bean结尾,例如:CarInfoBean。 2.8.Remote方法命名 Remote方法命名需与Java端方法同名。 2.9.标签命名 标签的命名所有字母都需大写 3.注释 3.1.类注释 因类包含mxml与纯class,所以均在script中进行注释。因项目中类较多,因此注释可简化为以下项: /**

词法分析器flex中文手册

FLEX 中文手册 这是flex手册的部分中文翻译,仅供参考 ?一些简单的例子 ?输入文件的格式 ?模式 ?如何匹配输入 ?动作 ?生成的扫描器 ?开始条件 ?文件结尾规则 ?与yacc一起使用 一些简单的例子 首先给出一些简单的例子,来了解一下如何使用flex。下面的flex输入所定义的扫描器,用来将所有的“ username”字符串替换为用户的登陆名字: %% username printf("%s", getlogin()); 默认情况下,flex扫描器无法匹配的所有文本将被复制到输出,所以该扫描器的实际效果是将输入文件 复制到输出,并对每一个“username”进行展开。在这个例子中,只有一个规则。“username”是模式 (pattern),“printf”是动作(action)。“%%”标志着规则的开始。 这里是另一个简单的例子: int num_lines = 0, num_chars = 0; %% \n ++num_lines; ++num_chars; . ++num_chars; %% int main(void) { yylex(); printf("# of lines = %d, # of chars = %d\n", num_lines, num_chars);

} 该扫描器计算输入的字符个数和行数(除了最后的计数报告,并未产生其它输出)。第一行声明了两 个全局变量,“num_lines”和“num_chars”,可以在yylex()函数中和第二个“%%”后面声明的main()函数中 使用。有两个规则,一个是匹配换行符(“\n”)并增加行数和字符数,另一个是匹配所有不是换行符的 其它字符(由正规表达式“.”表示)。 一个稍微复杂点的例子: /* scanner for a toy Pascal-like language */ %{ /* need this for the call to atof() below */ #include %} DIGIT [0-9] ID [a-z][a-z0-9]* %% {DIGIT}+ { printf( "An integer: %s (%d)\n", yytext, atoi( yytext ) ); } {DIGIT}+"."{DIGIT}* { printf( "A float: %s (%g)\n", yytext, atof( yytext ) ); } if|then|begin|end|procedure|function { printf( "A keyword: %s\n", yytext ); } {ID} printf( "An identifier: %s\n", yytext );

Flex教程

Jquery flexigrid使用 相关技术:struts2.1.6+spring+hibernate+jquery+flexigrid+thickbox+mysql 主要的js文件:jquery.js,flexigrid.js,query.js,thickbox.js,util.js 其中: util.js是扩展flexigrid的功能,如条件查询用到的getQuery属性。query.js是自定义的flexigrid界面显示和函数触发文件。 Jar包:

使用过程: Struts2 jar只能用 2.1.6,web.xml中配置: struts-tags /WEB-INF/lib/struts2-core-2.1.6.jar 用struts2-core-2.0.14会报错: org.apache.jasper.JasperException: Unable to initialize TldLocationsCache: null

Jsp页面: 引入jquery、flexigrid插件文件以及test.js,body中编写:

在js文件中使用flexigrid创建页面: $(document).ready( function() { $("#grid").flexigrid( { // url :'jsp/query/json.json', url : 'getPaginationAction.action', dataType :'json', colModel : [ { display :'编号', name :'id', width :60, sortable :true, align :'center' }, { display :'姓', name :'firstname', width :120, sortable :true, align :'left' }, { display :'名', name :'lastname', width :120, sortable :true, align :'left' }, { display :'操作', name :'opt', width :120, sortable :true, align :'left', process :operate } ], searchitems : [ {

最新Nature Made TripleFlex Triple Flex 中文说明书资料

Nature Made 天然制造 Nature Made TripleFlex Triple Flex 三倍维骨力关节宝 GLUCOSAMINE 氨基葡萄糖;氨糖1500 毫克 CHONDROITIN 软骨素;软骨胶800毫克 MSM 二甲基砜750毫克 【品牌】Nature Made?Triple Strength TripleFlex三倍维骨力 美国顶级保健品制造商,产品100%纯天然,优良质量深得美国人青睐,更是各大医院医师和药店药剂师得推荐产品。 成立1971年,获得多项专利和荣誉,研究力量雄厚。 具备GMP(优良制造实践)认证生产,USP(美国药典)药品级质量。 【产品规格】 Nature Made TripleFlex三倍强效氨基葡萄糖维骨力+软骨素复合配方 +MSM1500mg150粒 【产品特点】 Nature Made TripleFlex联合三种有效成分增强关节润滑和弹性。有效减轻关节疼痛、肿胀,增强关节活动功能,使您的关节更舒适更年轻。 盐酸氨基葡萄糖可帮助修复软骨、维持关节内结缔组织结构的正常。其作用包括:促进关节液分泌、加速软骨组织再生和修复、强化韧带和肌腱、减轻滑?ぱ字ⅰ? 本品是赠送老年人、骨关节炎患者、关节软骨伤患者、骨折患者的佳品! 【适应症】 适用于治疗和预防全身所有部位的骨关节炎,包括膝关节、肩关节、髋关节、手腕关节、颈及脊椎关节和踝关节等。可缓解和消除骨关节炎的疼痛、肿胀等症状。改善关节活动功能。 【产品成分】 每2粒含: 钠 70毫克Sodium 盐酸氨基葡萄糖 1500毫克(Glucosamine Hydrochloride) 硫酸软骨素+水杨苷(白柳树皮提取物)复合配方 800毫克 (Chondroitin Sulfate,White Willow Bark Extract (Salicin) Salix alba) MSM 750毫克(Methylsulfonylmethane) 【用法用量】 每日2粒,随餐服用。共75天用量。 【氨基葡萄糖介绍】 氨基葡萄糖(Glucosamine)的作用: 氨基葡萄糖(Glucosamine)是一种人体用来制造粘多糖的氨基酸组合分子结构。氨基葡萄糖集中于关节软骨处,首先形成长链氨基酸粘多糖,然后形成更大的结构——蛋白聚糖。蛋白聚糖的作用是吸收水分和液体到关节处用来在运动时润滑软骨。

瓦锡兰flex中文说明书(部分)

0370-1/A1 O [mm] ? [mm] 1903 5.33 81.92 NBR 70 Sh 2124 9 9 9 780 850 865 FPM 77 Sh MVQ 50 Sh MVQ 50 Sh 2136 3.53 31.34 FPM 70 Sh 2303 6.99 6.99 6.99 417.96 430.96 342.27 FPM 70 Sh FPM 70 Sh FPM 70 Sh 2708 9 9 865 800 MVQ 50 Sh MVQ 50 Sh 2722 1.78 26.70 FPM 70 Sh 2728 5.33 1.78 1.78 123.19 14.00 10.82 FPM 70 Sh FPM 70 Sh FPM 70 Sh 2751 6.99 6.99 5.33 6.99 6.99 5.33 5.33 5.33 5.33 5.33 2.62 3.53 1.5 456.06 405.26 85.09 189.87 291.47 68.87 29.51 81.92 183.52 183.52 23.47 23.39 16 FPM 90 Sh FPM 90 Sh FPM 70 Sh FPM 90 Sh FPM 70 Sh FPM 70 Sh NBR 70 Sh NBR 70 Sh FPM 70 Sh FPM 70 Sh NBR 90 Sh NBR 70 Sh NBR 90 Sh 3403 5.33 6.99 6.99 94.62 329.57 316.87 FPM 70 Sh FPM 70 Sh FPM 70 Sh 4325 6.99 6.99 6.99 3.53 2.62 1.78 2 148.59 170.82 170.82 56.74 13.94 6 10 FPM 70 Sh FPM 70 Sh FPM 70 Sh NBR 70 Sh NBR 70 Sh NBR 70 Sh No.750

Flex快速入门

Flex 快速入门 无衣 摘自https://www.360docs.net/doc/47443160.html,/cn/ (版权归原作者所有)

Flex 快速入门: 使用 MXML 和 ActionScript 进行编码 Adobe? 将 Flex 实施为 ActionScript 类库。 该类库包含组件 (容器和控件)、管理器类、数据服务类和所有其他功能的类。 您通过将 MXML 和 ActionScript 语言与该类库一起使用 来开发应用程序。 MXML MXML 是用于为 Adobe? Flex? 应用程序进行用户界面组件布局的 XML 语言。 您还使用 MXML 来显式定义应用程序的非可视方面, 例如访问服务器端数据源和用户界面组件与数据源之间的数据绑定。 例如, 您通过使用下面的 MXML 语句, 使用 标签来创建 Button 控件的实例: 您设置 id 属性以赋予 Button 实例一个唯一的名称, 以后可以使用该名称引用到它。 label 属性设置在 Button 实例上显示的标签的文本。 下面的示例显示创建显示 Button 控件的 Flex 应用程序所需的完整代码: 在编写 Flex 应用程序之后, 您必须使用 Flex 编译器来编译它。 Flex 编译器是称为 mxmlc 的一个很小的可执行文件, 处于 Flex 2 安装文件夹下的 Flex SDK 2.0\bin 文件夹中。 提示: 确保 Flex 2 installation folder\Flex SDK 2.0\bin 文件夹处于您的系统的路径中。 让 Flex 编译器处于您的路径中, 使您不管当前处于哪个文件夹中, 都可以从命令行调用它。 说明 1.在您喜爱的文本编辑器 (如, 记事本) 中创建一个新文件并将它另存为 MyFirst.mxml。 2.从前面的示例中将代码输入到 MyFirst.mxml 中并保存您的文件。 3.通过选择“开始”>“所有程序”>“附件”>“命令提示符”, 打开命令窗口。 4.将您的当前目录更改为包含您在步骤 1 中保存的 Flex 应用程序的文件夹。 5.键入下面的命令来调用 Flex 编译器: mxmlc --strict=true --file-specs MyFirst.mxml 以双短划线开头的命令字符串中的项目被称为编译器选项, 它们被用于定义 Flex 编译

相关文档
最新文档