17.4.1. 问题我想要从磁盘上读取一个共享对象或者检测一个共享对象是否已经被创建。17.4.2. 解决办法使用一个SharedObject 实例的data 属性来检查数据或者其他人以变量属性是否可用。17.4.3. 讨论ShardObject.getLocal() 方法用来访问你的应用程序存贮在用户硬盘上的本地共享对象。如果调用了getLocal()方法的时候共享对象还不存在,默认会创建一..
17.2.1. 问题我想要写数据到一个共享对象。17.2.2. 解决办法使用共享对象的data 属性添加数据到共享对象17.2.3. 讨论你可以使用SharedObject 类的data 属性来添加数据到一个共享对象的SOL 文件。应为SharedObject 的data 属性是个动态原件,你可以直接存贮你想要的属性的实例。这个是特殊的属性允许你持久化标准类型和非标准类型的数据。如下的例..
17.1.1. 问题我想要存贮数据到本地硬盘,并想要在多个会话中获取这些数据。17.1.2. 解决办法使用ShareObject 类来创建会被存储到用户系统并能被相同会话或以后的会话访问的数据对象。17.1.3. 讨论实际上ShareObject 的行为有些像浏览器的cookies,ShareObjects 常常被成为Flash Cookies,它可以:?? 1.维护本地持久化?? 2.在Flash Media Server ..
持久化数据以及数据的通信构成了用户体验应用程序的完整部分。所谓持久化数据,就是当用户来使用你的应用程序时,由你的本地或者网络应用程序来存储、访问数据,以及在多个会话中来提供容量来存贮状态信息。当你的应用程序和其他应用程序进行数据通讯时,数据会被传输来影响当先会话中的任意应用程序。尽管在线服务可以提供实时数据与持久化数据..
16.11.1. 节问题在其他属性的变化时,需要更新图表数据提供器中某属性的值。16.11.2.节解决办法创建一个图表,该图表具有复合的ChartSeries 对象,并且设置每个可变的ChartSeries 对象的selectable 属性为true。然后创建拖放事件处理器,当一个值改变的时候,该处理器就执行计算。16.11.3.节讨论在以下的例子中,系列图表代表开支和销售之间的盈..
16.10.1. 问题我想从一个数据源里拖曳项目到图表中。16.10.2. 解决办法覆盖图表组件的dragEnterHandler()和dragDropHandler()方法则可创建一个可拖曳的图表。16.10.3. 讨论在flex 框架中图表的拖曳功能和其他组件的拖曳功能是相同。父类组件为mouseMove 事件定义一个处理器,为dragDrop 事件定义一个处理器来接收被拖曳的数据。在下面的例子中,..
16.9.1. 问题我想要使用不同的类型的图表来表示重叠数据集合。16.9.2. 解决办法使用列状图来装载复合图表,然后使用mx:Series标签来定义复合图表和他们的属性16.9.3. 讨论任何图表都可以在其数列数组中包含复合图表数列,每个数组可以代表不同的字段,这些字段可以由一个数据提供器控制,也可以由多个不同的数据提供器控制。在以下的例子中,是用..
16.8.1. 问题我想在程序运行期间添加或删除列状图中的数据列。16.8.2. 解决办法用ActionScript 创建数列集合,就可以在任何时间动态地添加或删除数据数列。16.8.3. 讨论在一个图表中数列可以组合成一个集合对象。每种图表类型都有不同的集合类型,如表16-3所列。例如,列状图用ColumnSeries 来组合一个列集合。图表集合有一个数列属性可以接收数..
16.7.1. 问题我需要改变图表项目的外观。16.7.2. 解决办法创建一个skin 类,该类需要继承ProgrammaticSkin 类和实现IdataRenderer 类的接口。将此类设置为图表的ChartSeries 类的渲染器。16.7.3. 讨论mx.charts.ChartItem代表图表数列中一个数据点,每个数列的数据提供器都有一个ChartItem。ChartItem 定义以下属性:currentState : StringDefin..
16.6.1.问题我想在查看图表细目表的时候添加一个效果。16.6.2. 解决办法为所选的图表项目创建一个新的数组,然后把列状图的数据提供器绑定到这个数组上。使用SeriesZoom 在总体数据集和详细数据集中转换。16.6.3.讨论查看图表的细目表是一个用户界面的概念,它允许用户在一个较大的数据选择其中一个特定的数据项目来查看。图表的明细项目效果使你..
16.5.1. 问题我想自定义图表的标签。16.5.2. 解决办法使用样式和标签函数。16.5.3. 讨论图表中包含两种类型的标签:坐标轴标签和数据标签。坐标轴标签用于显示坐标轴上的点的数值,使用标签函数能自定义坐标轴标签。数据标签用于在数据点的位置和图表元素的位置显示数据值。使用坐标轴标签可以很大程度上控制坐标轴标签的形式。例如你需要特殊的..
16.4.1. 问题我需要自定义图表的刻度线16.4.2. 解决办法使用AxisRenderer 中的样式来设置图表刻度线的外观16.4.3.讨论通过样式,Flex 提供了大量控制刻度线外观的方法。在Flex 图表中有两种类型的刻度线,分别是大刻度线和小刻度线。大刻度线与坐标轴的标签相对应,小刻度线通常用在大刻度线之间。在AxisRenderer 中可以定义图表刻度线的外观样式..
16.3.1.问题我需要在图表上选择某个区域或者某些元素。16.3.2. 解决方法首先使用图表的selectionMode 属性设置需要选择的区域类型,然后使用鼠标键盘或者程序来选择图表中的元素。16.3.3. 讨论与其他列表组件相似,图表的元素是可选的。这有利于用数据网格或二级图表显示数据点上更多的细节。要使图表可选,就要设定selectionMode 属性为single ..
16.2.1. 问题我想要为图表添加一些效果。16.2.2. 解决办法想为图表的坐标轴或数列添加效果,要使用坐标轴定义的mx:rollOverEffect 或者mx:rollOutEffect标签。16.2.3.讨论来自mx.effects 包的任何效果都能在图表上的数列或坐标轴添加的效果。一个简单的翻转效果就可以使图表的显示效果和使用效果大大提高。以下是一个简单的效果,当鼠标离开图表..
16.1.1. 问题我想在程序中添加一个图表。16.1.2. 解决办法首先要创建目标类型的图表,然后为该类型的图表添加一个合适的CharSeries 对象,最后为该图表绑定数据提供器(dataProvider)。16.1.3. 讨论图表有多种类型,在使用之前必须清楚工具箱中有哪些图表可供调用。每一种图表都有一个ChartSeries 对象与之对应。要将数据显式地表示为某个特定的图..
Flex 图表框架是一个功能强大的数据控件系列,它提供了丰富的数据支持使你可以为多种数据类型创建深入的和可交互的图表。Flex 定义了一些最常用的图表,例如柱状图、饼图和列状图,并且可以使用Flex 很大程度上改变这些图表的外观。每个图表都包含一个ChartSeries 对象,用于在图表上显示由数据提供器提供的数据。ChartSeries 对象可以作为一个数..
15.16.1 问题如果一个模式中规定, 在它的之前或之后不能存在某些字符, 应怎样匹配呢?15.16.2 解决办法可以使用负向前查找组”?!”或负向后查找组”?!”来表示那些字符是不应该存在于某个模式之前或之后。而使用正向前查找组”?=”或正向后查找组”?=”则表示这些字符是应该存在于某个模式之前或之后。15.16.3 讨论有些时候, 你想某个模式以后的表..
15.15.1 问题有些情况下, 如果你想对一个模式进行匹配及根据这个结果来找出下一个可能匹配之处。举例说, 对HTML 标签进行匹配的话, 应怎么办呢?15.15.2 解答可以在正则表达式中加入逆向引用来检查最近的匹配结果。15.15.3 讨论在Flash Player 的正则表达式处理引擎中, 逆向引用的结果会以一个列表的形式储存,最多可以储存达99 个的相配结果。在其..
15.14.1 问题如果某些模式只存在于每行的开端或结尾, 或者这个模式占据了一整行, 应该怎样进行匹配呢?15.14.2 解决办法可以在正则表达式中加入”^”和”$”记号。15.14.3 讨论当需要为一个存在于单行, 行首或行尾的模式进行匹配的时候, 可以在表达式的开头加入”^”号, 用以表示该模式一定要在行的起首。而在表达式的结尾加入”&”号的话, 则表示..
15.13.1 问题在一些情况下, 如果想对一些以正则表达式的模式进行匹配的话, 应怎么做呢?15.13.2 解决办法可以使用群组语法, 例如”.”或”+”来为不同的群组进行不同次数的匹配。15.13.3 讨论正如在章节15.12 中所见, “{}”号语法可以用来表示一个子表达式需要匹配的次数及该结果是否需要返回。举例说, 如果你想对包含0 至4 范围内的字符串进行比..
15.12.1 问题如何在一个文本中, 寻找一些有效的IP 地址呢?15.12.2 解决办法可以使用子表达式去验证IP 地址中的每个3 位数组是否有效。15.12.3 讨论根本上一章(章节15.11)所学习过的内容, 一个包含1 位和3 位数目字的IP 地址可以用”\d”标记来匹配的。\d{1,3}如果你想为3 组包含1 和4 位数的数组进行匹配, 可以这样做:(\d{1,4}){3}就如”/d{3}”..
15.11.1 问题怎样在一个正则表达式中对一些字符类型如(整数, 字符, 空格以及它们的反值)进行匹配?15.11.2 解决办法可以通过字符类型标记来实行。15.11.3 讨论通过使用字符类来进行字符匹配一种容易且非常有效的方法。首先, 我们需要建一个包含”\”号的字符类型标记, 它是用来告诉正则表达式处理引擎接下来的字符是一个字符类型而非普通字符。然..
15.10.1 问题如果你想找出一文本中包含元音的词语, 怎样通过正则表达式的指定字符来进行模式匹配呢?15.10.2 解决办法可以使用”[“和”]”来包含所需要进行匹配的字符, 例如: [aeiou]来包括所有元音字母。15.10.3 讨论如果你需要在一个文本中为不同的模式进行匹配的话, 可以在表达式中加入不同的字符标记。然后通过它们来呼叫你想进行匹配的字符..
15.9.1 问题如何创建一个正则表达式用以验证国际标准图书号码(ISBN)呢?15.9.2 解决办法根据ISBN 的特性, 它一般都是一个10 位至13 数字组成, 有时候会以”X”作为结尾, 并会以”-“号来分隔数组。我们需要根据这个特性去创建所需的正则表达式。15.9.3 讨论这条表达式中的”^”号跟”$”限制了该模式只可以存在于单行中。如果一个文本中有多个不同..
15.8.1 问题如何建立一个正则表达式, 用来证验主流的信用卡包括Visa, MasterCard, American Express,Discover 等等呢?15.8.2 解决办法根据以下的原则去创建一个正则表达式:找出起首的几个数字跟哪个信用卡公司的卡相符然后根据相对应的卡的种类, 检查输入的数字是否正确。15.8.3 讨论实际上, 所有主流信用卡号码都会存在着一些用以辨识的数字, 我..
15.7.1 问题怎样辨识任何在文本中被输入或遇到的电邮地址呢?15.7.2 解决办法首先创建一个正则表达式去找出符合name@host.com 格式的电邮地址。接着, 使用global标志来表示该表达式可以用来进行复数匹配。15.7.3 讨论我们所需的表达式就像以下这个:+展开-ActionScriptvarreg:RegExp=/\w+?@\w+?\.\w{3}/g;如果要在一大段的文字中找出相配的电邮地址..
15.6.1 问题如何在多个不同的控件焦点下, 创建及显示复数的验证错误呢?15.6.2 解决办法首先使用ToolTipManager 去创建一个新的ToolTip 类, 并把它放置在控件之上。然后创建一个Style 对象, 把它指派到刚刚创建的ToolTip 类之中, 以做出指定的字型及背景配色。15.6.3 讨论这种错误提示的方式其实是基于ToolTip 组件, 它会在validator 报错的情况被..
15.5.1 问题如何去为多个radio button 及combo box 组件加入验证功能, 以确保最少其中一个项目会被选取?15.5.2 解决办法可以使用NumberValidator 去检查radio button 组件, 再使用一个自定义的Validator 去验证combo box 组件。15.5.3 讨论如果要从radio button 组件群中返回一个ValidationResultEvent 事件, 我们可以使用NumberValidator 去检查..
15.4.1 问题怎样在一个窗体内验证复数的UPC 码呢?15.4.2 解决办法首先创建一个validator, 然后用它来检查UPC 码的检验和是否存在及正确, 否则即返回一个错误。15.4.3 讨论一般商业中使用的UPC 码, 都是由12 个数字所组成的。它包含着一个隐藏的检验和, 这个数是由每个相隔3 位数之积及它们之和相加所得出的。通过以下代码来解释会比较容易去理解..
15.3.1 问题你如何去验证一些南美洲国家的邮政编号呢?15.3.2 解决办法对于不同的国家, 我们可以创建一系列不同的正则表达式使用群组。比如说, 我们可以创建一个自定义的Validator 类用以传递一个国家值。然后, 根据这个值, 呼叫相对应的RegExp 里的doValidation 方法。如果这个值跟RegExp 相配的话, 或者该国家本来就没有邮政编号的话, 就会返回..