一 : 1.1、Access 2003基础知识
1.1、Access 2003基础知识
1.1.1、认识Access 2003 1.1.2、Access 2003的运行
1.1.3、Access 2003的菜单栏与
常用工具栏 1.1.4、Access 2003数据库设计视图
1.1.5、关系型数据库基本概念
返 回
1.1.1
认识Access 2003
相比较Microsoft Access 2000而言, Access 2003具有更加强大的功能。 1.合并大量数据资源; 2.链接各种业务系统; 3.充分利用企业数据 4.赋予窗体新的外观 5.帮助消除错误 6.自动更新属性 7.提供Web页面设计工具 8.使用兼容的文件格式
1.1.2 Access 2003的运行
由于Access 2003作为Office 2003的组件提供,因此, Access 2003的运行环境要求也就是Office 2003的运行环 境要求。Office 2003各个版本均要求Windows XP或 Windows NT/2003 Server/Workstation操作系统所提供 的运行环境。
为了应用Access 2003开发设计数据库应用系统,就必 须完整地安装Access 2003数据库管理系统。 在Office 2003安装完成以后,即可在Windows操作系统的 【开始】菜单中自动生成一个程序组,该程序组位于 【开始】|【所有程序】|【Microsoft Office】中。顺序单 击【开始】|【所有程序】|【Microsoft Office】| 【Microsoft Office Access 2003】即可进入Access 2003 。
1.1.3 Access 2003的菜单栏与常用工具栏
? Access 2003菜单栏集中了Access 2003的全部功
能,在Access 2003中所需进行的各种操作均可 通过菜单栏提供的功能选项得以实现。 ? 实际上,菜单栏及其菜单中各可用功能选项的组 成将随着Access 2003的不同视图状态而有一些 不同。Access 2003的每一个对象都具有自己独 特的设计视图,针对任一个数据库对象所进行的 设计操作都可以在其设计视图中完成。 ? 工具栏的作用是提供菜单栏中的那些常用功能选 项的快捷使用方法。
1.1.4 Access 2003数据库设计视图
Access 2003数据库设计视图的构成包括三个部分:命 令按钮组(位于视图窗口上端),对象类别按钮组 (位于视图窗口左部),对象成员集合(位于窗口右 部)。
1.1.5 关系型数据库基本概念
数据元素——也称为字段,一个字段构成数据表 中的一列。 数据元组——也称为记录,一个记录构成数据表 中的一行。 数据表——具有相同字段的所有记录的集合。 数据库——数据表对象、查询对象、窗体对象、 数据页对象、宏对象以及模块对象集合。
Access 2003数据库结构示意图
注意,在数据库应用系统中,不必要的 数据冗余是有害的,而必要的数据冗余又是不 可避免的、有时还是必需的。例如商品销售管 理系统中,数据库中商品的“货号”数据将在 相关应用的数据集中各自保存一份,显然,商 品的“货号”数据属于冗余数据,而这一类冗 余数据的存在就是必需的。关于这一点,
在后 续课程的实例讲解中可以看得非常清楚。
4、保证数据一致性
所谓数据一致性,是指保存在数据库中不 同数据集合中的相同数据项必须具有相同的值。 显然,这是必要的。数据一致性概念的存在, 是由于数据库中存在着必需的数据冗余。我们 将冗余数据中的某一份称为数据正本,其余各 份称为数据副本。在采用数据库技术实现的数 据处理应用系统中,冗余数据是受控的。当数 据正本发生变更时,必须保证所有数据副本得 到相同的变更,这就是数据一致性的概念。 数据库应用系统中的很多项应用都是基于 不同的数据副本获得数据处理结果的。可以想 象当一个公司的两位经理分别基于不同的数据 副本查看同一时期的销售报表时,看到的销售 数据不同,他们会是一种什么感受,就可以理
5、实施统一的数据标准 所谓数据标准,是指数据项的名称、 数据类型、数据格式、有效数据的判定准 则等数据项特征值的取值规则。在数据库 应用系统中,实施统一的数据标准有利于 数据共享和数据交换的实现、有利于避免 数据定义的重叠、有利于解决数据使用上 的冲突、有利于应用系统扩展更新时的数 据扩充与更改。
6、控制数据的安全、保密和完整性 针对数据库所进行的各项操作都必 须根据操作者所拥有的权限进行鉴别, 鉴别机制由数据库管理系统(DBMS) 提供,各个操作者的权限设定则由数据 库管理员(DBA,Dada Base Administrator)负责建立。由此,数据库 应用系统的数据安全、保密和完整性就 得到了可靠的保障。
7、实现数据的独立性
所谓数据独立性,是指存储在数据库中的数 据独立于处理数据的所有应用程序而存在。也就 是说,既然数据是客观实体的符号化标识,它就 是一个客观存在,不会因为某一项应用的需要而 改变它的结构,因此是独立于应用而存在着的客 观实体。而某一项应用是处理数据获取信息的过 程,也就是应用程序,它只能根据客观存在着的 数据来设计所需要的数据处理方法,而不会去改 变客观存在着的数据本身。 例如,在一个商品进销存管理信息系统中, 一段时间内的销售数据记录集合如表1-1所示, 它记录的是实际的销售过程,是一个客观事实。
表1-1 销售数据记录表
销售 序列 号 28 29 30 31 32 33 34 35 货号 货名 规格 计量单 位 包 包 包 片 片 2 销售单 价 ¥85.00 ¥95.00 ¥85.00 ¥13.20 ¥4.30 ¥0.88 ¥4.30 销售 数量 2 1 2 5 3 8 3 1 销售金 销售日 销售人 额 期 员 ¥170. 00 ¥95.0 0 ¥170. 00 ¥66.0 0 ¥85.0 0 2 ¥170. 00 20023-11 20023-11 20023-11 20023-11 20023-12 20023-12 20023-13 20023-13 20023-11 刘洪导 刘洪导 江汛 江汛 王建新 王
二 : 钼铁基础知识
钼铁基础知识(牌号化学成分、检验标准等)
钼铁是钼和铁的合金。[www.61k.com)它的主要用途是在炼钢中作为钼元素的加入剂。钢中加入钼可使钢具有均匀的细晶组织,并提高钢的淬透性,有利于消除回火脆性。在高速钢中,钼可代替一部分钨。钼同其他合金元素配合在一起广泛地应用于生产不锈钢、耐 热钢、耐酸钢和工具钢,以及具有特殊物理性能的合金。钼加于铸铁里可增大其强度和耐磨性。 钼铁通常采用金属热法熔炼。钼铁是法定检验商品。主要产地有吉林、河北、江苏、河南、辽宁等,主要输往美国、荷兰、德国等。
1.牌号和化学成分
按GB3649—87规定,钼铁按钼及杂质含量的不同分为三个牌号,其化学成分应符合下表的规定,如需方对表列元素有特殊要求,可由供需双方另行协商。需方要求时,可协商提供表列以外其它元素的实测数据。
钼铁化学成分指标
牌 号 化 学 成 分 %
Mo Si S P C Cu Sb Sn
不 大 于
FeMo70 65.0~75.0 1.5 0.1 0.05 0.1 0.5
FeMo70Cu1 65.0~75.0 2 0.1 0.05 0.1 1
FeMo70Cu1.5 65.0~75.0 2.5 0.2 0.1 0.1 1.5
FeMo60-A 55.0~65.0 1 0.1 0.04 0.1 0.5 0.04 0.04
FeMo60-B 55.0~65.0 1.5 0.1 0.05 0.1 0.5 0.05 0.06
FeMo60-C 55.0~65.0 2 0.15 0.05 0.2 1 0.08 0.08
FeMo60 ≥60.0 2 0.1 0.05 0.15 0.5 0.04 0.04
FeMo55-A ≥55.0 1 0.1 0.08 0.2 0.5 0.05 0.06
FeMo55-B ≥55.0 1.5 0.15 0.1 0.25 1 0.08 0.08
2.物理状态
产品以块状交货,块度范围为10~150mm,10 10mm以下粒度不得
钼铁 钼铁基础知识
超过该批总重的5%,允许少量块度在一个方向最大尺寸为180mm。(www.61k.com)
3.检验标准
(1)质量检查和验收。产品的质量检查和验收应符合GB/T3650—95《铁合金验收、包装、储运、标志和质量证明书的一般规定》的要求。
(2)组批。产品以一炉为一批交货或由供需双方商定按炉组批时,每批产品中的最高或最低含钼量与平均试样含钼量之差不得超过3%。
(3)取样。化学分析用试样的采取应按GB/T4010—94《铁合金化学分析用试样采取和制备》进行。
(4)制样。化学分析用试样的制备按GB/T4010—94《铁合金化学分析用试样采取和制 备》进行。
(5)化学分析方法。相应各元素按下列标准进行检验:GB5059?1—85 8—羟基喹啉重量法 测定钼量;GB5059.2—85孔雀绿分光光度法测定锑量;GB5059.3—85原子吸收分光光度法测定铜量;GB5059.4—88极谱法测定锡量;GB5059.5—86重量法测定硅量;GB5059.6—86钼蓝光度法测定磷量;GB5059.7—88红外线吸收法测定碳量;GB5059.8—88库仑法测定碳量;GB5059.9—88红外线吸收法测定硫量;
GB5059.10—88燃烧碘酸钾滴定法测定硫量。
4.包装、储运、标志和质量证明书
(1)产品采用铁桶包装,每桶净重100kg,如需方对包装有特殊要求,可由供需双方协商解决 。
(2)包装后的产品应存放于库房内,发运时要用棚车,如露天存放或敞车发运时,须用苫布盖好,严防包件内渗水或混入杂物。在储运过程中不得混批混号。
(3)产品包装件上应涂有明显标志,包装件内应附有成品标签,标志和标签的内容应符合GB/ T3650—95的要求。
(4)发货同时,供方应开据产品质量证明书,证明书内容应符合GB/T3650—95的要求。
5.注意事项
符合标准要求的合金具有微晶组织,断面无光泽。合金断面若有光亮的“小星点”时,表明硫含量较高。断面有光泽,“镜面闪光状”是合金中硅含量高的特征。
钼铁 钼铁基础知识
供应钼铁 10/25 牌号:球晶杨帆 产地:江苏 钼含量≥:60%,55% 杂质含量:0.1% 重量:0.5-1
姜堰市安达有色金属有限公司
7天赔付 诚信保障 6000 ¥140000.00/吨
江苏
姜堰市评价本信息 供应优质钼铁 10/24 牌号:FeMo55 产地:江苏 钼含量≥:50 杂质含量:0.001 重量:0.03 常州市佰目合金有限公司 7天赔付 诚信保障 20000 ¥130000.00 1吨起
江苏
溧阳市评价本信息 供应钼铁、钼丝、钼粉(图) 10/26 牌号:* 产地:* 钼含量≥:* 南京润桥精细化工有限公司
7天赔付 诚信保障
21000
江苏
南京市评价本信息 供应氧化钼块 磨棒 钼块 钼棒 钼条 钼铁(图) 10/24 牌号:华隆胜 产地:深圳 钼含量≥:50 杂质含量:10 重量:--
深圳市华隆胜模具配件制品厂
7天赔付 诚信保障
21500
¥1118.88
/千克
广东
深圳市评价本信息 供应钼铁 10/24 牌号:60 产地:锦州 钼含量≥:60 杂质含量:0 重量:80
清河县永盛金属材料有限公司
诚信保障
4000
¥142.00
/千克
河北
清河县评价本信息 供应钼铁,钒铁各种有色金属 铁合金炉料 防腐用喷涂锌丝 10/25 牌号:FeMo60 产地:锦州 钼含量≥:60.31 杂质含量:0.1 重量:0.3
天津一远金属材料有限公司
7天赔付 诚信保障
12000
¥115.00
/千克
天津市北辰区评价本信息 供应钼铁。(www.61k.com]钼铁(图) 08/27 牌号:femo60 产地:辽宁 钼含量≥:60%
钼铁 钼铁基础知识
清河县顺发炉料经销处
诚信保障
2000
¥135000.00
/件
河北
清河县评价本信息 钼棒 钼条 钼铁 树脂开闭器 钼块-钼棒 08/18 牌号:齐全 产地:国产 钼含量≥:99.99
深圳市宝安区观澜加贝隆模具五金配件商行
诚信保障
2000
¥1100.00
/千克
广东
深圳市宝安区评价本信息 2011年度中国钼铁矿市场分析及预测报告 08/25 牌号:理德斯普 产地:北京 钼含量≥:理德斯普标准
北京理德斯普企业管理咨询有限责任公司
诚信保障
2000
北京市评价本信息 广汉天九公司供应钨钼铁 07/19 牌号:WMOFE 产地:四川广汉 钼含量≥:W25%,mo15%
广汉市天九金属材料有限公司
四川
广汉市评价本信息 长期大量供应60钼铁,库存量大,保证可现款现货,无需等待 10/23 牌号:钼铁 产地:石家庄 钼含量≥:59.5 杂质含量:0.5 重量:1--5
公司未认证 清河县海纳合金经营处
¥138.00
/千克
河北
清河县评价本信息 供应金属钼铁(图) 06/02 牌号:MOG122 产地:进口 钼含量≥:99.97 公司未认证 鼎祥兴金属商贸有限公司
广东
广州市海珠区评价本信息 各种纯度的钼铁 04/30 牌号:钼铁 产地:锦州 钼含量≥:35个品 重量:100公斤
公司未认证 鲁江 (个体经营)
钼铁 钼铁基础知识
辽宁
阜新市评价本信息 供应巴西铌铁 钼铁 10/26 牌号:巴西铌铁 产地:巴西 钼含量≥:65 杂质含量:0.2 重量:0.10
公司未认证 东方合金焊材有限公司
河北
邢台市桥东区评价本信息 钼块-钼棒 修整钼块 钼条 钼铁(图) 10/19 牌号:齐全 产地:国产 钼含量≥:99.99
公司未认证 深圳市龙岗区加贝隆模具五金配件商行
¥1100.00
/千克
广东
深圳市龙岗区评价本信息 您可以: 批量询价 或对比产品 批量询价 或 对比产品 全部选择 每页显示数量: 15 25 35
热门推荐
热门展会推荐我也要出现在这里供应60钼铁FeMo60 保质保量¥127.00/千克
钼铁厂¥132000.00/吨
长期供应钼铁价格面议
供应钼铁 钼铁合金¥158000.00/吨
厂家长期供应铁合金,钼铁¥137.00/千克
供应钼铁粉¥155000.00/吨
清空
三 : flex3基础知识
Flex3基础知识
目录
Flex3基础知识 ................................................................................................................................. 1
介绍、编译: ........................................................................................................................... 1
第一部分:AS3基本语法 ........................................................................................................ 3
基本数据类型 ................................................................................................................... 3
数组:复杂数据类型,有序的数据集合。 ................................................................... 3
String类型 ......................................................................................................................... 6
函数 ................................................................................................................................... 6
变量 ................................................................................................................................... 6
类 ....................................................................................................................................... 6
接口(与Java相似) ........................................................................................................ 7
继承(与Java相似) ........................................................................................................ 7
第二部分:事件 ....................................................................................................................... 7
事件机制 ........................................................................................................................... 7
第三部分:容器与组件 ......................................................................................................... 10
容器定位与布局: ......................................................................................................... 10
导航容器: ..................................................................................................................... 11
第四部分:数据绑定 ............................................................................................................. 11
第五部分:验证 ..................................................................................................................... 12
第六部分:控制管理 ............................................................................................................. 12
第七部分:外部数据交互 ..................................................................................................... 16
第八部分:Flash Player的安全机制 ...................................................................................... 17
第九部分:工具 ..................................................................................................................... 17
第十部分:数据模型 ............................................................................................................. 19
第十一部分:样式与皮肤 ..................................................................................................... 20
第十二部分:高级组件开发 ................................................................................................. 20
第十三部分:实例 ................................................................................................................. 20
介绍、编译:
Flex=ActionScript+mxml;
Mxml基于xml之上的实现,与jsp和servelt相似,jsp首先会被容器先转换成servlet文件;同样,mxml文件也会先被转换成ActionScript文件,再进行加载。
Mxml的方式与html相似。ActionScript类似Java,为面向对象语言,ActionScript的核心底层遵循ECMA-262标准协议,与javascript一致。
Mxml文件会被转换为两个文件:
一是mxml文件有部分转换成ActionScript脚本。
二是mxml文件按文件名被转换成对应名称的AS类。
Flex工程src目录下的文件也会编译到swf文件中,还有flex的架包。
第一部分:AS3基本语法
基本数据类型
1. Boolean
2. Int
3. Null:只有一个值null,是String和复杂类型(包括Object类)的默认值。
4. Number:最大值Number.MAX_VALUE和最小值Number.MIN_VALUE。
5. String:16位字符序列,内部存储为Unicode字符,使用UTF-16格式。
6. Uint:无符号的int类型(既没有负号的int)
数组:复杂数据类型,有序的数据集合。
1. 创建数组:
var arr:Array=new Array();
var arr:Array=[‘a’,’b’,’c’];
var arr:Array=[“a”,23,”sdf”];
var arr:Array=new Array(“a”,”b”);
arr.push(“d”);//追加d到数组中
2. ArrayCollection
ArrayCollection实现了ICollectionView接口,在Flex的类定义内属于[数据集],他提供更强大的检索、过滤、排序、分类、更新监控等功能。类似的还有XMLListCollection,这两者差别在于如果用array在作为data provider绑定于控件上,就无法获得控件的更新,除非控件被重新绘制或者data provider被重新指定,而Collection则是将array的副本存储于Collection类的某个对象之中,其特点是Collection类本身就具备了确保数据同步的方法,例子如下(取自adobe内部工程师training示例,稍有改变)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.61k.com2006/mxml"> <mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var myArray:Array=["北京","上海","深圳"];
[Bindable]
public var myCollection:ArrayCollection=new ArrayCollection;
public function
addCountryToArra(country:String):void{
myArray.push(country);
}
public function
addCountryToCollection(country:String):void{
myCollection.source=myArray;
myCollection.addItem(country);
}
]]>
</mx:Script>
<mx:TextInput id="countryTextInput" text="广州"/> <mx:Label text="Bound to Array (Raw Object)"/> <mx:Button
click="addCountryToArra(countryTextInput.text)" label="Add Country to Array"/>
<mx:List dataProvider="{myArray}" width="200"/> <mx:Label text="Bound to Collection"/>
<mx:Button
click="addCountryToCollection(countryTextInput.text)"
label="Add Country to Collection"/>
<mx:List dataProvider="{myCollection}" width="200"/> </mx:Application>
总结:
当Array的数据发生变化的时候,用它作为数据源的控件不能感知这种变化。例如:myArray.push("new"); 这时,如果一个List用它作为dataProvider,List的列表中不会增加新加入的这个值。如要改变,得重新给控件赋值。
而当ArrayCollection的数据发生变化的时候,能够通知控件发生变化。例如:myArrayCollection.addItem("new"); 这时,如果一个控件List用它作为dataProvider,List列表中会增加一列内容.
3. for in循环(访问数组或者对象中的元素)
trace(arr[i]);
}
for(var i :String in obj){
trace(obj[i])
}
4. for each in(循环访问集合中的项目:数组、对象属性、xml、xmlList),与for in不同的是循环中迭代的变量只包含属性保存的值,而不保存属性名称。
for(var i:String in arr){ Var obj:Object={x:20,y:”32”};
For each(var item in arr){
Trace(item);
}
Var
xml:XML=<friends><name>zhangsan</name><name>lisi</name></friends>; For each(var item in xml.name){
Trace(item);
}
String类型
String是基本数据类型最重要的一种,String类是用来处理字符串文本的类。其中包含很多处理字符串方法,详见API。与java的String类似。
函数
1. 格式:
访问修饰符 function 函数名(参数列表):返回类型{
函数体
}
修饰符:public、private、protected、internal
public function hello(str:String):void{}
变量
1. 修饰符 var 变量名称:类型;
2. 修饰符:public、private、protected、internal
var name:String=”zhangsan ”;
类
1. 格式:
访问修饰符 class 类名{
属性;
方法;
}
2. 类访问修饰符
1. dynamic 允许在运行时向实例添加新的属性
2. final不能扩展,不能能继承
3. internal对当前包可见
4. public
3. 静态
const(静态常量)public static const name:String=”zhangsan”;
static(静态变量)public static var name:String=”zhangsan”;//不能被继承
4. 实例化
var car:Car=new Car();
接口(与Java相似)
继承(与Java相似)
第二部分:事件
在flex3使用的ActionScript3中,每一个事件也是一个对象,事件对象都是Event或者其子类的实例。事件对象不但存储有关事件的信息,还包含响应事件的方法。使用事件的基本方式就是将事件注册到某个界面或者对象上,当被注册对象或者界面的属性发生变化时,注册在该属性上的事件就会被触发,并可以调用事件处理函数,从而对界面或者对象的属性改变作出响应。
事件机制:注册事件、触发事件、事件传递。原理与JavaScript一致。
事件注册是将事件处理函数指定给对象的一个事件,实际上是对该事件创建一个侦听器。ActionScript中使用addEventListener进行注册事件。Btn.addEventListener(MouseEvent.Click,onClick);
1. 事件注册:分为两种方式,默认事件(mxml)<mx:Button label="submit" click="handler()"/>和AS注册
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public function init():{
btn.addEventListener(MouseEvent.CLICK,handler);
}
public function handler(event:MouseEvent):void{
trace(“响应事件”);
}
]]>
</mx:Script>
<mx:Button label="submit" id="btn"/>。注册事件可以在mxml初始化完成调用creationComplete()中;
2. 事件触发:响应处理函数
触发事件分为:捕获事件、目标锁定、冒泡阶段。首先之上而下为捕获阶段,找到目标位目标锁定阶段,与捕获相反为冒泡阶段。
事件信息:
Bubbles:布尔类型,显示给时间是否为冒泡事件。
Cancelable:布尔类型,显示是否可以阻止与事件相关联的行为。
CurrentTarget:与当前事件相关的对象,冒泡分为多个阶段,此代表当前阶段的对象。
eventPhase:uint,当前事件的阶段。
Target:触发事件的对象。
Type:String,事件类型,如:click?click
3. 事件传递与绑定
在创建自定义事件时,可以在事件派发后能够更新新程序中的某个属性,可以通过设置[Bindable]元数据标签的event。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.61k.com2006/mxml" layout="absolute"
creationComplete="onCreateComplete()">
<mx:Script>
<![CDATA[
/**
* 将userChanged事件与username属性绑定,当userChanged事件派发时,flex会自动为
* username派发propertyChange事件,从而改变Label组件中显示名称。
*
*/
//绑定事件
[Bindable(event="userChanged")]
private var username:String="changed";
private function onCreateComplete():void{
//添加事件监听器
addEventListener("userChanged",userChanged,false,0,true);
}
private function userChanged(e:Event):void{
trace("User name changed");
}
private function onClick():void{
username=tiUsername.text;
//派发事件
this.dispatchEvent(new Event("userChanged"));
}
]]>
</mx:Script>
<mx:Panel>
<mx:Label text="Username is {username}"/>
<mx:TextInput id="tiUsername"/>
<mx:Button id="btnSubmit" label="ChangeName" click="onClick()"/>
</mx:Panel>
</mx:Application>
可以采用PropertyChangeEvent.createUpdateEvent()方法创建propertyChange事件,然后派发事件。此方法属性:
Source:Object指定发生更改的对象。
Property:Object指定已更改属性的名称
oldValue:Object更改前属性的值。
newValue:Object更改属性的值。
4. 自定义事件:
AS方式自定义事件:
MyEvent.as
import flash.events.Event;
public class MyEvent extends Event
{
private var myInfo:String;
public static const INFO:String="info";//静态常量
public function MyEvent(type:String)
{
super(type);
this.myInfo=type;
}
}
myEvent.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.61k.com2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import com.hsit.MyEvent;
private function onClick():void{
var myEvent:MyEvent=new MyEvent(MyEvent.INFO); this.dispatchEvent(myEvent);//this指的是当前触发事件控件,派发事件
trace(myEvent.info);
}
]]>
</mx:Script>
<mx:Button label="but" click="onClick()"/>
</mx:Application>
Mxml方式自定义事件: 第三部分:容器与组件
容器定位与布局:
1. Application包含其他所有容器与组件,通过<mx:Application>来创建Application对象。
2. Layout:该属性有三个值“horizontal”,“vertical”,“absolute”。“horizontal”容器将子项布置在同一行。“vertical”容器将子项布置在同一列,“absolute”采用x,y坐标来确定。
3. 使用verticalGap和horizontalGap属性设置容器内子项的间隔;当容器内子项大小超过当前容器时,使用horizontalScrollPlicy和verticalScrollPlicy设置是否允许出现滚动条。
4. Hbox和Vbox、box,HBOx代表横向排列,Vbox代表纵向排列,box通过diriction设置内部元素排列方向。
5. Canvas,始终通过绝对定位方式对内部元素进行定位。如果没有设置绝对位置,那么多个元素出现叠加。
6. DivideBox、HdivideBox、VdivideBox。DivideBox容器可以在其内部各元素之间提供一个分割器,通过鼠标拖动这个分割器,可以改变内部各元素所占区域的大小,通过direction改变元素的排列方向,HdivideBox、VdivideBox与Hbox、Vbox类似。
7. Panel和TitleWindow。Panel容器包含一个标题和内容显示区域,与Application类似,默认为垂直排列元素。TitleWindow容器派生自panel,用来显示一个弹出窗口,与panel类似,提供关闭按钮,需要通过PopUpManager管理器创建。
8. Tile,可以将其内部元素以多行多列的方式排列在默认位置,当内部无法在一行全部排列时会自动换行,可以通过direction改变排列方向。
9. ControlBar和ApplicationBar。ControlBar可以在panel和titleWindow的下边缘提供一个控制区域,可放置组件等。ApplicationBar与Application配合使用,提供一个类似ControlBar组件的控制区域。
10. Form、FormHeading和FormItem。Form容器用来呈现一种表单形式的界面,可以方便地标记表单中默认按钮和必填字段等。FormHeading用来标识多个字段的分组信息。Formitem组件用来定义各个表单项,可以在内部添加一至多个组件,通过lable显示字段名。
11. Grid、GridItem和gridRow组件。Grid把内部元素按普通的表格来展现,类似html的table,可以通过rowSpan和colSpan合并单元格。
12. Hrul、Vrul和Spacer组件。Hrul和Vrul用来在各元素之间呈现一条横
向或者纵向的线。Spacer组件用来在容器的各内部元素之间制造空间。 导航容器:用来切换页面中子容器
1. linkBar、TabBar、ButtonBar和ToggleButtonBar。它们都基于dataProvider属性自动创建内部按钮,通过addItem()及removeItem()方法处理dataProvider,添加和移除子项。
LinkBar用来定义一组linkButton组件将。
TabBar用来创建导航菜单
ButtonBar可以定义一组按压按钮,不记录状态。
ToggleButton只能有一个按钮处于选中状态。
2. ViewStack容器由一组子容器组成,一次只能显示其中一个,可以通过脚本中设置selectedIndex或selectedChild属性确定当前显示那个子容器。
3. Accordion容器与ViewStack容器相似,它会自动为子容器创建导航按钮,并将子容器的label属性作为导航按钮的label。
4. TabNavigator容器相当于使用了TabBar的ViewStack容器,会自动创建一个Tabbar,可以为子容器设置图标通过Icon属性。
第四部分:数据绑定
数据绑定实际上是由事件驱动的,当作为数据来源的属性发生变化时,会触发propertychange事件,flex会将新的属性值复制给目标属性,从而使两个属性同步更新。
1. [Bindable]元数据标签用来标识可绑定的变量、属性、方法、类,通过ChangeWatcher类观察数据源对象是否发生变化,以便调用相应的方法,可以通过ObjectProxy侦听某个Object中属性的变化,来决定如何响应这个改变。
[Bindable]
Private var name:String;//绑定变量
[Bindable]
Public function get name():String{//绑定get/set
Return name;
}
[Bindable]
Public class car{}//绑定类
[Bindable(event=”myEvent”)]//绑定事件
2. “{}”,<mx:Binding>,BindingUtils提供绑定
3. 双向绑定,在mxml通过”{}”
4. <mx:Binding source="tisource" destination="username"/>
Source为数据源,destination为目标绑定对象,flex会把这两个属性当做ActionScript表达式。可以通过text=”{As的表达式}”给mxml赋值( <mx:Label id="username" text="{as表达式}"/>)。
<mx:Binding source="tisource" destination="username"/>
<mx:Panel>
<mx:TextInput id="tisource"/>
<mx:Label id="username"/>
<mx:Label text="Username is {username}"/>
<mx:TextInput id="tiUsername"/>
<mx:Button id="btnSubmit" label="ChangeName"
click="onClick()"/>
</mx:Panel>
第五部分:验证
1. 长度验证、类型验证、正则表达式。
<mx:TextInput id="tisource" maxChars="100"/> maxChars验证长度。
第六部分:控制管理
1. 弹出窗口管理器PopUpManageer
First.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.61k.com2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
private var sub:subWindow=new subWindow();//实例化TitleWindow
public function open():void{
sub.title="编辑窗口";
PopUpManager.addPopUp(sub,this,true);//弹出窗口,this为父级窗口,
true为模式窗口
PopUpManager.centerPopUp(sub);//屏幕中间位置
}
]]>
</mx:Script>
<mx:Button label="弹出子窗口" click="open()" id="button1" />
</mx:Application>
subWindow.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.61k.com2006/mxml"
layout="vertical" width="400" height="300"
showCloseButton="true" close="PopUpManager.removePopUp(this)">
<mx:Script>
<![CDATA[
//如果设置showCloseButton为true,则必须为其写一个close事件,使用内部机制关闭窗口。
import mx.managers.PopUpManager;
]]>
</mx:Script>
<mx:DataGrid width="100%" height="400">
<mx:columns>
<mx:DataGridColumn headerText="hah"/>
<mx:DataGridColumn headerText="hah"/>
<mx:DataGridColumn headerText="hah"/>
<mx:DataGridColumn headerText="hah"/>
</mx:columns>
</mx:DataGrid>
</mx:TitleWindow>
2. 系统管理器SystemManager
每个应用都会包含一个系统管理器,负责管理应用程序窗口。SystemManager是在应用程序中创建的第一个显示类,之后才是应用Application的实例。其最大的用处在于控制应用程序创建过程或者顶级对象进行控制。
应用创建过程:SystemManager包含两个Frame(帧),第一个是PerLoader,第二个是Application。
Flex应用程序创建顺序:在一个Application创建并运行之前,FlashPlayer要先载入一些基本的类库,这个动作发生在第一个Frame,最先出场的是PerLoader,接着是DownLoadProgressBar,同时一些支持当前应用程序的核心类库也会被载入。接着进入第二个Frame,才会加载flex的大部分类库和当前flex应用程序内容。SystemManager拥有一个Application的属性,在第二个Frame里,这个属性被加载,同时触发一下几个事件:
1. 首先是Preinitalize,表示程序被初始化了,但没有创建任何子对象,也就是Application内容。
2. 接着initialze,表示程序已将子对象创建完毕,但是没有调整布局。
3. 接着createComplete,表示已经完成初始化,并安排(布局)好所有子对象。
4. 最后applicationComplete,表示程序已经就绪,可以运行了。
修改加载进度条:MyProcessBar.as
package com.hsit
{
import flash.events.ProgressEvent;
import mx.preloaders.DownloadProgressBar;
public class MyProcessBar extends DownloadProgressBar {
public function MyProcessBar()
{
super();
downloadingLabel="下载中...";
initializingLabel="初始化中...";
MINIMUM_DISPLAY_TIME=2000;
}
override protected function
showDisplayForDownloading(elapsedTime:int,
event:ProgressEvent):Boolean{
return true;
}
override protected function
showDisplayForInit(elapsedTime:int, count:int):Boolean{ return true;
}
}
}
在主程序中添加:
<mx:Application xmlns:mx="http://www.61k.com2006/mxml" layout="absolute" usePreloader="true"
preloader="com.hsit.MyProcessBar">
3. 模块管理器ModuleManager
为主应用程序减小容量大小,提高效率。用于管理一个应用对外部加载或者卸载的工具。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.61k.com2006/mxml" layout="absolute"
xmlns:mod="*">
<mod:ModuleA/><!—-调用Moudle-->
</mx:Application>
主程序中:
<mx:Script>
<![CDATA[
import mx.events.ModuleEvent;
import mx.modules.ModuleManager;
import mx.modules.IModuleInfo;
private var moduleInfo:IModuleInfo;
private function init():void{
moduleInfo=ModuleManager.getModule("bin-debug/test.swf");
moduleInfo.addEventListener(ModuleEvent.SETUP,onModuleSetup);
}
private function onModuleSetup():void{
this.addChild(moduleInfo.factory.create() as test);
}
]]>
</mx:Script>
Module<?xml version="1.0" encoding="utf-8"?> 文件:
<mx:Module xmlns:mx="http://www.61k.com2006/mxml" layout="absolute" width="800" height="400">
<mx:Panel id="pan" title="第一个module">
<mx:Label text="第一个喇叭"/>
</mx:Panel>
</mx:Module>
第七部分:外部数据交互
1. HTTPService采用mxml方式
<mx:HTTPService>代表创建一个HttpService实例,采用send方法发送请求,与后台交互。
<mx:HTTPService id="service" url="" method="POST" showBusyCursor="true" result="onResult(event)" >
<mx:request xmlns="">
<a>
{tia.text}
</a>
</mx:request>
</mx:HTTPService>
<mx:TextInput id="tia" text="zhangsan"/>
<mx:Button id="but1" label="submit" click="service.send()"/>
2. HTTPService采用AS方式
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
public function send():void{
var http:HTTPService=new HTTPService();//实例化HTTPService对象
http.url="";//请求url
http.method="POST";//请求方式
http.addEventListener(ResultEvent.RESULT,onResult);//回调函数
var variables:URLVariables=new URLVariables();//如果为POST方式,参数提交相当于普通的form提交
variables.a=tia.text;
http.send(variables);//提交请求
}
public function onResult(event:ResultEvent):void{
tia.text=event.result.toString();
}
]]>
</mx:Script>
3. 获取页面数据
4. 与Javascript交互
5. Flex-Ajax桥
6. WebService
7. Socket
第八部分:Flash Player的安全机制
1. 安全沙箱
2. Security.sandboxType
3. 跨域策略文件crossdomain.xml
4. 跨脚本访问
5. 设置管理器
第九部分:工具
1. Flex Builder3,FB3_WWEJ_Plugin.exe Eclipse插件版本,安装需要指定到eclipse目录下,与configuration同级。
Flex SDK中包含源码,
2. TourDeFlex在线帮助工具,包含实际例子、在线api等。下载AdobeAIRInstaller.exe和TourDeFlex.exe,先安装AdobeAIRInstaller.exe再安装TourDeFlex.exe。
3. 调试(debug)flex程序,需要安装debug版本的flashPlayer。trace函数
只有在debug版本中才能输入调试信息。
4. Swf反编译软件:闪客精灵,可以反编译flex、flash等生成的swf文件。 第十部分:数据模型
Flex使用数据模型来存储程序中的相关数据。
1. Mxml方式
可以将数据绑定到组件上:
<mx:Model id="bookInfo">
<book>
<bookName>
Flex Development
</bookName>
</book>
</mx:Model>
<mx:Label id="lav" text="bookInfo.bookName"/>
采用xml标签定义数据模型
<mx:XML id="bookInfo" format="e4x" xmlns="">
<book>
<bookName>Flex development</booKName>
</book>
</mx:XML>
2. 使用外部XML文件作为数据源
<mx:XML id="bookInfo" format="e4x" source="assets/bookInfo.xml"
/>
3. 使用ActionScript创建数据模型
<mx:Script>
<![CDATA[
[Bindable]
public var productInfo:Object={
icon:'a.png',
name:'product',
price:'50'
}
]]>
</mx:Script>
访问数据模型:<mx:TextInput text="{productInfo.name}"/>
通过local引入外部类。
<local:ModelData id="myEvent" xmlns:local="com.hsit.*"/>
访问数据模型:<mx:TextInput text="{data.count}"/>
第十一部分:样式与皮肤
第十二部分:高级组件开发
第十三部分:实例
四 : 欧普照明基础知识
本文标题:基础知识-1.1、Access 2003基础知识61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1