Flex阅读器开发手册

一、Flex阅读器(FlexPaper)

Flex阅读器是一款由Devaldi开发的(Free)Flex程序库,它的功能是将服务器上的swf文件通过它生成的控件在浏览器上以类似PdfReader进行展示。可用它来制作精美的电子杂志和在线电子读物。

资源:

官方网址: https://www.360docs.net/doc/dd3105541.html,/

源码获取(SVN): https://www.360docs.net/doc/dd3105541.html,/svn/trunk/

FlexPaper for FLEX4定制编译安装(二次开发)

建立一个名为的FlexPaper_SDK4库项目;先将源码目录FlexPaper下的所有文件(包括子目录)移入项目的FlexPaper_SDK4目录,然后将源码FlexPaper_SDK4的src目录考项目的同名目录;除去'启用警告'选项;附加的编译参数设置为:-locale zh_CN -source-path=locale/{locale} -keep-all-type-selectors=true

根据你的需要对源码进行修改,程序入口: FlexPaper_SDK4=>src=>com=>devaldi=>controls=>flexpaper=>FlexPaperViewer.mxml

在你的应用项目属性=>FLEX构建路径=>库路径中添加FlexPaper_SDK4/bin目录;这样FlexPaper_SDK4.swc库将直接导入到你的应用项目

对源码进行修改例子

以下将去掉或修改原代码中所有与显示LOGO图片有关的代码

1.去掉加载页的进度条的LOGO图片

源文件:DupImage.as

找到语句:private var _skinImgl:Bitmap = new MenuIcons.LOGO_SMALL();

替换为: private var _skinImgl:Bitmap = new Bitmap();

2.去掉工具栏最右边[关于...]对话框的显示的按钮

源文件:FlexPaperViewer.mxml

将源码中所有的bttnInfo.visible = true; 替换成 bttnInfo.visible = false;

3.除去初始装载时的LOGO图标

源文件:FlexPaperViewer.mxml

将控件lblProgress和spin1的初始属性分别加入: visible="false"

4.除去加载页的LOGO图标

源文件:FlexPaperViewer.mxml

的属性最后行加入creationComplete处理:

addedToStage="bindStageEvents(event)"

xmlns:fp="com.devaldi.controls.flexpaper.*"

xmlns:ct="com.devaldi.controls.*"

xmlns:st="com.devaldi.skinning.*"

creationComplete="initApp()">

然后加入处理initApp()函数到

//---------------------------二次编程加入

public function initApp():void {

paper1.removeElementAt(2);

}

最后将源码中的函数papersLoadingHandler(event:Event)最后一行加上:paper1.removeElementAt(2);

FlexPaper 直接用原始库安装及编程

在(https://www.360docs.net/doc/dd3105541.html,/download/)下载FlexPaper SWC,将Flex4环境: FlexPaper_SDK4.swc(Flex3环境: FlexPaper.swc)拷贝到你的Flex项目libs 中即可

一个简单的测试,复制你的SWF到你的bin-debug目录,准备一个swf 文件例如man.swf,添加FlexPaper组件到你的flex代码中

Flex代码

layout="absolute"

width="800" height="500"

xmlns:flexpaper="com.devaldi.controls.flexpaper.*">

Scale="1" SwfFile="man.swf" />

如果运行正常则安装成功!

使用技巧(参见后面的实例程序段)

以下 mybook为FlexPaperViewer 的ID;二次开发时可将以下句集加入到FlexPaperViewer.mxml初始化调用中将 mybook改为this即可除去关于对话框

在初始化组件事件处理函数中加入:

https://www.360docs.net/doc/dd3105541.html,v_info.removeElement(mybook.bttnInfo);

除去打印控件图标

在初始化组件事件处理函数中加入

mybook._FlexPaperViewer_GradientImageButton1.visible=false;

也可以除去整个工具栏

mybook.removeElementAt(0);

除去LOGO图标

在初始化组件事件处理函数中且在文档加载处理函数中加入(removeElementAt(2)为LOGO组件)

var A:Object=mybook.getChildAt(1);

A.removeElementAt(2);

也可以写为(paper1为页面组件id):

mybook.paper1.removeElementAt(2);

将工具栏的位置放入页面的底部

在初始化组件事件处理函数中加入

mybook.removeElement(mybook.paper1);

mybook.addElementAt(mybook.paper1,0);

参数: (以下参数可用于FlexPaper)

SwfFile(String)

打开Swf文件

Scale(Number)

放大因子,是一个0以上的数(带小数 1 = 100%) 。

ZoomTransition(String)

光学变焦过渡,默认值是easeOut,可取值: easenone, easeout, linear, easeoutquad

ZoomTime(Number)

时间过渡让变焦达到新的放大因子,值为0或更大的数。

ZoomInterval(Number)

区间的滑动缩放。放大因子缺省值是0.1。 如同在工具栏上使用滑动条按钮的效果。

FitPageOnLoad(Boolean)

(布尔) 适合初始页大小(依高度而定)的装载页。如同在工具栏上使用fit-page按钮的效果。

FitWidthOnLoad(Boolean)

(布尔)适合初始页宽度大小的装载页。如同在工具栏上使用fit-width按钮的效果。

llocaleChain(String)

设置语言。

目前支持以下语言:

en_US(英语)

fr_FR(法国)

zh_CN(中国、简体)

es_ES(西班牙)

pt_BR(巴西葡萄牙语)

ru_RU(俄罗斯)

fi_FN芬兰

de_DE(德国)

nl_NL(荷兰)

tr_TR(土耳其)

se_SE(瑞典)

pt_PT(葡萄牙)

el_EL(希腊)

da_DN(丹麦)

cz_CS(捷克)

it_IT(意大利)

pl_PL(波兰)

pv_FN芬兰

hu_HU(匈牙利)

FullScreenAsMaxWindow(Boolean)

(布尔)以最大化方式打开一个新浏览器窗口。

ProgressiveLoading(Boolean)

(布尔) 将视本地负荷情况逐步地下载显示文档,而不是下载完后再显示。至少Flash9 以上版本的SWF生成文档MaxZoomSize(Number)

(数值) 最大允许设置缩放等级

MinZoomSize(Number)

(数值) 允许设置最小缩放等级

SearchMatchAll(Boolean)

(布尔) 当被设置为真时,可执行搜索功能。

InitViewMode(String)

(字符串) 设置启动视图模式。例如“Portrait”或“TwoPage”。

ViewModeToolsVisible(Boolean)

(布尔)显示或隐藏视图模式与工具栏

ZoomToolsVisible(Boolean)

(布尔) 从工具栏显示或隐藏变焦工具

NavToolsVisible(Boolean)

(布尔)显示或隐藏导航工具

CursorToolsVisible(Boolean)

(布尔) 显示或隐藏光标工具

SearchToolsVisible(Boolean)

(布尔)显示或隐藏的搜索工具

下面例子可以通过参数的使用预编译的flash版

var fp = new FlexPaperViewer( 'FlexPaperViewer', 'viewerPlaceHolder', { config : {

SwfFile : "Paper.swf",

Scale : 0.6,

ZoomTransition : "easeOut",

ZoomTime : 0.5,

ZoomInterval : 0.1,

FitPageOnLoad : false,

FitWidthOnLoad : false,

PrintEnabled : false,

FullScreenAsMaxWindow : true,

ProgressiveLoading : true,

MinZoomSize : 0.2,

MaxZoomSize : 5,

SearchMatchAll : false,

InitViewMode : 'Portrait',

ViewModeToolsVisible : true,

ZoomToolsVisible : true,

NavToolsVisible : true,

CursorToolsVisible : true,

SearchToolsVisible : true,

localeChain : "zh_CN" }});

函数功能

.gotoPage(Number pageNumber)

定位到你指定的页面

.fitWidth()

适合宽度设置模式

.fitHeight()

适合高度模式

.loadSwf(String swffile)

载入一个新文件

.getCurrPage()

载入一个页为当前页

.nextPage()

下一页为当前页

.prevPage()

移动到前一页

.Zoom(Number factor)

变焦到指定的大小因子

.searchText(String text)

搜索指定的文本

.switchMode(String mode)

开启观赏模式。"Portrait", "Two Page", "Tile" // “肖像模式”、“两个页面”、“平铺”

.printPaper()

文件打印

.highlight(String url)

高亮突出链接地址

.postSnapshot(String url)

网页“快照”文档指定的url

Events事件

onDocumentLoaded (no arguments)

文档完成装载时

onDocumentLoadedError (String errormessage)

文档完成装载错误发生时

onProgress (Number bytesloaded, Number bytestotal)

文档装载时的过程中(装入的字节)

onCurrentPageChanged (Number pagenumber)

当当前页面发生改变时

onExternalLinkClicked (String link)

当一个用户点击一个外部链接。

(Only works when supplying argument "-s linknameurl" in conversion with PDF2SWF)

onDocumentPrinted (no arguments)

当一个文件已完成打印时

二、服务器端的SWFTools

为了得到PlexPaper能加载的SWF文件,通常是将文件保存PDF文件后上传到服务器,而在服务器使用开源的SwfTools自动完成PDF到SWF转换, SWFTools 是一组用来处理 Flash 的 swf 文件的工具包,包括:

1. 合并工具 swfcombine

2. 抽取工具 swfextract

3. PDF/JPEG/PNG/A VI/TTF/WA V 到 SWF 的转换工具 :pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, and wav2swf

4. 文本解析工具 swfstrings

5. SWF 解析器 swfdump

6. SWF 读写库 rfxswflib

一个简单的将PDF文档转成SWF的用法:

windows C:\SWFTools\pdf2swf 源文件.pdf -o 目标文件.swf -f -T 9

linux /usr/local/bin/pdf2swf $pdfFile -o $swfFile -f -T 9 -t -s storeallcharacters > /dev/null

PDF2SWF转换文件参数

-h , --help 打印帮助短消息并退出

-V , --version 打印版本信息并退出

-o , --output file.swf 直接输出到文件。 如果文件名为(file%.swf)输出每页为单独的文件。输出文件为:file[1-n].swf

-p , --pages range 仅转换中的页面范围与范围例如 1-20 or 1,4,6,9-11

-P , --password password 使用密码破译加密的pdf文件。

-v , --verbose 显示详细信息。

-z , --zlib 使用flash 6 MX压缩和解压缩。

-i , --ignore 允许pdf2swf更改pdf的绘制顺序。

-j , --jpegquality quality 设置嵌入jpeg图片的质量,以质量。 0质量最差,100质量最佳。 缺省值:85 -s , --set param=value 设置SWF编码器的特定参数。

-w , --samewindow 在转换为pdf的超链接时,不让链接打开一个新窗口。

-t , --stop 在每页中插入停止命令。

-T , --flashversion num 设置Flash版本。

-F , --fontdir directory 添加到搜索字体的路径目录。

-b , --defaultviewer 添加到搜索路径的字体目录。

-l , --defaultloader 一个标准的预加载器swf文件的链接加载。

-B , --viewer filename 查看器文件名以swf文件的链接。

-L , --preloader filename 预加载器文件名以swf文件的链接。

-q , --quiet 取消正常的消息,也可使用-qq取消警告。

-S , --shapes 不使用SWF的字体,但一切都存储为形状。

-f , --fonts 存储完整的字体在SWF。 不减少使用的字符。

-G , --flatten 尽可能从文件中删除尽可能多的剪贴图层。

-I , --info 不做实际的转换,只显示在PDF中所有页面的列表。

-Q , --maxtime n 在n秒后,中止转换。 仅Unix可用。

下面的4个常用的参数意义:

-f 字体应该嵌入,提高可检索的文档

-T 设定目标flash版到9,提高稳定性

-t 每一帧之间插入一个停止,提高稳定性

-s storeallcharacters 存储文档中的所有字符文本的信息,提高了可搜索性

可选参数:

-G14 使文件更小、更快的渲染

-s subpixels=1.5 subpixels = 1.5 在文档中调整图像分辨率。

在某些情况下应使用文件含有丰富的大的图像。

值(1.5),可以尝试要求质量档案。

请参阅https://www.360docs.net/doc/dd3105541.html,/index.php/Pdf2swfhttps://www.360docs.net/doc/dd3105541.html,/index.php/Pdf2swffor 一个完整的PDF2SWF例子。

Linux下源码编译安装 SwfTools

安装swftools 及其编译支持库(jpegsrc,freetype)

1.安装jpegsrc.v7.tar.gz

tar -zxvf jpegsrc.v7.tar.gz

cd jpeg-7

./configure

make

make install

2.安装freetype-2.

3.12.tar.gz

tar -zxvf freetype-2.3.12.tar.gz

cd freetype-2.3.12

./configure

make

make install

3.安装swftools-2011-01-23-1815.tar.gz

tar -zxvf swftools-2011-01-23-1815.tar.gz

cd swftools-2011-01-23-1815

ldconfig /usr/local/lib

./configure

make

make install

注:为了使系统启动自动地装入动态链接库,ldconfig会先加载/etc/ld.so.conf.d目录下所有的.conf文件,可编制一个配置文件:/etc/ld.so.conf.d/myld.conf 文件的内容为:

/usr/local/lib

三、原始Paper库的编程实例

(以下的应用实例仅为参考,如要真正运行服务器端需要本人的写的flexsys_class 类库支持的运行环境)

XML定义文件: (sysbooks.xml)

</p><p><node label="服务器安装手册" key="serverMan.swf" pdfFile="服务器安装手册.pdf"/></p><p>

</p><p><node label="信贷档案操作说明" key="xdarMan.swf" pdfFile="信贷模块操作说明.pdf"/></p><!--/p12--><!--p13--><p>

</p><p><node label="信贷资料管理系统实施方案" key="xdarMan1.swf" pdfFile="信贷资料管理系统实施方案.pdf"/>

Flex程序: (sysbooks.mxml)

xmlns:s="library://https://www.360docs.net/doc/dd3105541.html,/flex/spark"

xmlns:mx="library://https://www.360docs.net/doc/dd3105541.html,/flex/mx"

layout="absolute" width="100%" height="100%"

mouseMove="vrule1_mouseMoveHandler(event)"

mouseUp="vrule1_mouseUpHandler(event)"

xmlns:flexpaper="com.devaldi.controls.flexpaper.*"

creationComplete="initApp()">

import mx.collections.*;

import mx.controls.Alert;

import mx.events.DragEvent;

import mx.events.ListEvent;

import mx.managers.CursorManager;

import mx.rpc.events.FaultEvent;

import mx.rpc.events.ResultEvent;

import mylib.*;

public var Ocookies:MyCookies;

[Bindable]

public var http_server:String;

[Bindable]

private var userKey:String;

[Bindable]

private var xmldoc:XML;

[Embed(source="images/resizeCursorH.gif")]

public var Movecus:Class;

private var cursorID:int;

private var moveCursorFlag:Boolean=false;

public var pdf_filename:String="";

public function initApp():void {

Ocookies=this.parentApplication.Ocookies;

http_server=Ocookies.ServerAddr;

userKey=https://www.360docs.net/doc/dd3105541.html,er_key;

search_xml.send();

//FlexPaper初始化------------------------------------------------

//除去打印图标等图标

//mybook._FlexPaperViewer_GradientImageButton1.visible=false;

//自定义

//mybook.toolsBT.removeElement(mybook.BT0);

//mybook.toolsBT.removeElement(mybook.BT1);

//mybook.toolsBT.removeElement(mybook.BT2);

//mybook.toolsBT.removeElement(mybook.BT3);

//mybook.toolsBT.removeElement(mybook.BT4);

//除去打印图标等图标

//mybook._FlexPaperViewer_GradientImageButton1.visible=false;

var A:Ob j ect=mybook.getChildAt(0);

A.removeElementAt(4);

A.removeElementAt(3);

A.removeElementAt(2);

A.removeElementAt(1);

A.removeElementAt(0);

mybook.spin1.visible = false;

mybook.lblProgress.visible = false;

//关于对话框

https://www.360docs.net/doc/dd3105541.html,v_info.removeElement(mybook.bttnInfo);

//https://www.360docs.net/doc/dd3105541.html,v_info.visible = false;

//除去工具栏

//mybook.removeElementAt(0);

//除去页面LOGO图标

mybook.paper1.removeElementAt(2);

//工具栏放入底部

mybook.removeElement(mybook.paper1);

mybook.addElementAt(mybook.paper1,0);

//------------------------------------------------FlexPaper初始化

}

//Cursor控制---------------------------------------------------------protected function vrule1_mouseOverHandler(event:MouseEvent):void{ cursorID = CursorManager.setCursor(Movecus,2,-10,-10);

}

protected function vrule1_mouseOutHandler(event:MouseEvent):void{ CursorManager.removeCursor(cursorID);

}

protected function vrule1_mouseDownHandler(event:MouseEvent):void{ moveCursorFlag=true;

}

protected function vrule1_mouseUpHandler(event:MouseEvent):void{

moveCursorFlag=false;

}

protected function vrule1_mouseMoveHandler(event:MouseEvent):void{ if(!moveCursorFlag) return;

myTree.width=event.stageX - 5;

if(myTree.width<100){

myTree.width=100;

moveCursorFlag=false;

}

if(myTree.width>500) myTree.width=500;

}

//---------------------------------------------------------Cursor控制

public function handleFault(event:FaultEvent):void{

Alert.show(event.fault.faultString , "通信错误");

}

//装入

public function fsearch_xml(event:ResultEvent):void{

xmldoc=XML(event.result);

myTree.validateNow();

for each(var item:XML in myTree.dataProvider) myTree.expandChildrenOf(item,true); }

protected function myTree_changeHandler(event:ListEvent):void{

var data:Object=myTree.selectedItem;

var sFile:String=data.@key;

if(sFile!=""){

var pdfFile:String=data.@pdfFile;

var sGet:String="?pdfFile="+pdfFile+"&swfFile="+sFile;

mybook.SwfFile=http_server+"/flex_root/PHP/sys/getHelpPDF.php"+sGet;

}

//除去LOGO图标---------------------------

mybook.paper1.removeElementAt(2);

//---------------------------除去LOGO图标

}

]]>

url="{http_server}/flex_root/PHP/sys/sysbooks.xml"

method="POST"

showBusyCursor="true"

result="fsearch_xml(event)"

fault="handleFault(event)"

resultFormat="e4x">

dataProvider="{xmldoc.title}" labelField="@label" change="myTree_changeHandler(event)">

mouseOver="vrule1_mouseOverHandler(event)"

mouseOut="vrule1_mouseOutHandler(event)"

mouseDown="vrule1_mouseDownHandler(event)" />

Scale="1" SwfFile="" />

服务器端程序: (getHelpPDF.php)

//获得PDF文件至swf文件的转换

function __autoload($class_name) {

require_once($class_name . '.php');

}

$oSYS=new flexsys_class();

$SysDataPath=$oSYS->BASE_data;

$name=iconv("utf-8","gb2312//IGNORE",$_GET["pdfFile"]);

$pdfFile=$SysDataPath."/pubftp/help/".$name;

$swfFile=$SysDataPath."/pubftp/help/".$_GET["swfFile"];

if(!file_exists($pdfFile)) exit;

$pdfTime=filemtime($pdfFile);

if(!file_exists($swfFile)){

$swfTime=0;

}else{

$swfTime=filemtime($swfFile);

}

if($pdfTime > $swfTime){

if(PHP_OS=="Linux"){

@system("/usr/local/bin/pdf2swf $pdfFile -o $swfFile -f -T 9 -t -s storeallcharacters > /dev/null");

}else{

@system('"c:/usr/web_root/pdf2swf.exe" $pdfFile -o $swfFile -f -T 9 -t -s storeallcharacters');

}

}

echo $oSYS->downWebFile($swfFile);

?>

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/dd3105541.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/dd3105541.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/dd3105541.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/dd3105541.html,/share/link?shareid=2291433773&uk=4247811111 1.拿到机子,请检查配件,是否完整.(one 没有胶套,只有黑色绑带) 2.最好给主机先充电,以保证正常使用. 充电时指示灯会亮,一颗灯表示20%电量.

3.将flex与手机配对(以iphone4s为例) 注: ①所有配对和数据同步,必须在有网络的情况下进行(因为有云端数据备份). ②Flex支持电脑和智能终端同步,从方便的角度来说,首选智能终端. ③在配对和同步数据之前,我们先要注册一个fitbit的用户名,您需要输入,您的年龄,体 重,身高等数据,它可以记录你的健康状况.并且数据是备份在云端,永不丢失.(也可跳过这一步,直接在手机上注册) ⑴进入官网https://www.360docs.net/doc/dd3105541.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/dd3105541.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/dd3105541.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 编译

相关文档
最新文档