Authware高级编程.doc_第1页
Authware高级编程.doc_第2页
Authware高级编程.doc_第3页
Authware高级编程.doc_第4页
Authware高级编程.doc_第5页
免费预览已结束,剩余107页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Authware高级编程第一章 系统变量第一节、变量、函数、表达式和脚本语句的使用的位置1、在计算图标中使用:(图1-1)origx:=320 origy:=240resizewindow(origx,origy)(图1-1) 2、在图标的附加的计算窗口中使用(图1-2)选择要附加计算图标的图标-Modify/Icon/calculation(ctrl+=) 注:计算图标与该图标一起执行。(图1-2)3、在图标的属性对话框中使用(图1-3)如将显示图标的图形放在用户最后单击的位置,可设置显示图标的属性:nitiia: clickx clicky(图1-3)4、嵌入到显示文件使用(图1-4、1-5)如:现在的时间是:FullTime 今天的日期是date注:在显示图标属性框中“updete Disleyed varibles”首项,可不断刷新变量的值。 (图1-4)(图1-5)第二节、变量的基本介绍和分类Authorware有两种变量:系统变量和用户自定义变量 每个变量都有一个唯一名称,有些变量可以跟“”+图标名,称作引用变量,可以找文件中任意一个图标中相关信息。一、系统变量的分类AW提供了11类约220多个系统变量,通过菜单windosVariables(变量),单击工具栏上在出现的对对话框中Category下拉列表按纽可见11个类型系统变量。(图2-1)(图2-1)1 、CMI类:跟踪教学管理的一组信息,如CMIscore,纪录课程的数字得分。 2、Decision类:反映分支结构的一些登信息,如PathCount存储最近分支结构所有分支数。 3、File类:反映文件操作的信息,如Filesize,存储当前文件的字节数。4、 FrameWork类:反映框架结构的一些信息,如CurrenPageNum返回当前框架结构的最后一个被显示的页数。5、 Ceneral:反映对当前鼠标、键盘等系统状态信息,如clickx、clicky。 6、Graphics类:图形处理状态信息。如Layer(层)7、Iocns类:跟踪图标中对象的位置和移动信息。 8、Interaction:反映交互的一些状态和结果,如EntryText: 文本交互字符 。9、Network.与网络相关的信息, NetBorowseName:当前文件的浏览器名称。10、Time: 反映系统当前时间、日期与时间相关的信息 。Video: 反映视频播放的信息,如VideoFrame:返回当前播放的帧数。第三节变量的输入方法与赋值一、变量输入方法1、使用键盘直接输入 如在热区响应中Response对话框的Actike if文本输入框中使用中AltDown系统变量(图)(图)2、使用variables变量对话框粘贴系统变量,步骤如下:将光标定位到要输入变量的位置上 选择菜单windowvariables,出现变量对话框 选择变量的类型及变量名“paste”按钮 二、.引用变量与查询指定图标中变量的值变量值随着程序的执行而变化的,引用特定图标中变量的值:“变量名”“图标名”(图3-2)(图3-2)在“文本回显”图标内输入文字:您输入的文字是: EntryText文本输入响应单击这里下载实例三、变量的赋值,格式如下:“变量名”=“初始值” 如: pause=True userText=EntryText userText=UpperCase(EntryText) 第四节自定义变量的使用自定义变量:由用户定义变量的名称及变量值1、先使用再定义在计算图标,属性窗口,文件输入了自定义变量系统会自动检测是否存在这个变量,若无则弹出 New Variable 对话框。(图4-1)(图4-1)Name:变量名Initial Value :变量初始值 Description:自定义变量描述,来说明变量的作用,时间长之后容易记起。 2、先定义后使用WindosVariables打开Variables对话框。 (图4-2)(图4-2) 在Categgory下拉列表中选择当前的文件名。 单击“New”按钮,可建立自定义变量 (图4-3) (图4-3) Rename按钮,可改变变量名称(不可改变系统变量名称) Delete删除按钮:删除自定义变量,不可删除系统变量第五节变量的存储类型、数值变量:整形50,-30 实型:3.445,-5.654 2、字符型变量:定量符为双引号码 “55”553、 逻辑变量:True与False, 都作为一个判断条件。4、列表变量:线型表:1.2.3. “a” “b” 每个元素都是单一值 属性表:#firestname:“harrg” .#phone:555/3/3 其中#firestname表示属性名,harrg表示属性值线形表和属性表可以用来排序,适用于记录和数据的更新、符号变量类似字符串,并以号打头的数据类型,处理速度比字符串快、rect(矩形)变量:是rect系统函数返回的数据类型,对定义矩形像素区很有用、point(点)变量:是point系统变量返回的数据类型,用于设置像素的位置第六节 实例演示显示变量的技术一、实例中相关系统变量的介绍1、IconTitle:存储当前设计图标的标题2、FullTime:当前的系统时间3、CurrentPageNum:当前框架结构下活动页的序号,若是CurrentPageNumTitle则是指定Title框架下的活动页的序号。4、PageCount:当前框架下的总页数。5、LicenseInfo:当前Authorware软件注册信息。6、SessionTime:打开应用程序的总时间7、EntryText:交互设计图标中最后一个响应的文本信息。8、IconID:当前图标的唯一数字标识符。9、IconNext(IconIDtitle):群组或框架图标中的下个图标,如果当前已是最后一个则返回。二、实例的制作步骤和效果图(单击这里下载源程序)、按流程图(图)所示引入各图标。(图)、window计算图标用来改变窗口的大小,内容如下:ResizeWindow(480,320)、题目显示图标用来设计程序的界面,如下:(图)(图)题目显示图标上附的计算图标是防止程序界面在程序运行中的移动,内容如下:Movable题目:=FALSE4、设置框架图标的属性:双击框架图标,删去多余的按钮,最后剩下前进和后退图标。(图)(图)、双击Previous page(后退)按钮,设置属性如(图)(图) 条件CurrentPageNum1是为了页面的回绕,即在第一页时此按钮无效。、双击Next page(后退)按钮,设置属性如(图5)(图5)条件CurrentPageNum 系统函数第一节 系统函数的分类和使用系统函数是指由自身提供的一系列函数,可以对图形、文本、图标、网络、学习管理等进行直接操作。函数一般由函数名和参数组成。如JumpFile(filename),这里的JumpFile是函数名,filename是参数。每个函数都有自己特有的语法,我们在使用时必须遵循这些语法。一、系统函数的分类通过菜单window - Functions - 可以打开Functions对话框(如图)所示(图)1、Character:字符管理函数2、CMI:计算机学习管理函数3、File:文件管理函数4、Framework:框架管理函数5、Ceneral:一般目的函数6、Graphic:绘图函数7、Icons:图标管理函数8、Jump:跳转函数9、Language:编程语言函数10、List:列表、排序、索引函数11、Math:数学运算函数12、Network:网络管理函数13、OLE:管理函数14、Platform:平台管理函数15、Target:目标函数,控制图标的属性16、Time:时间管理函数17、Video:视频管理函数18、Xtras: 使用、控制Xtras文件,取得Xtras文件信息。Xtras根据功用分以下几类:Xtras ActiveX:控件函数 Xtras Fileio:Xtras文件输入输出函数 Xtras MUi:多种管理控件 Xtras Quicktimesupport:支持Quicktime格式的文件 二、系统函数使用通过菜单window - Functions - 可以打开Functions对话框(如图)所示,下面对Functions对话框作详细的介绍:(图)、Category:函数类型的下拉列表、在Category列表的下方是函数名称列表,罗列了某一类型函数具体所包含的函数,如图中所示Jump(跳转函数)包含了Goto、JumpFile、JumpFileRetrun.等函数、Referenced By:显示了所有引用指定图标的图标名称,如(图)中引用JumpFileRetrun函数的是一个名为“跳转”的计算图标。、Show Icon:使用用户所选择的函数图标在流程上会高亮显示。、Description:具体描写了函数的语法的使用和参数的含义。、Load.按钮:用来装载外部函数(dll、ucd、cm)、Rename.按钮:更换函数的名称,对系统函数无效。、Unload按钮:将指定的函数从当前文件中卸载掉。、 Paste按钮:将选定的函数粘贴的指定的区域。、Done 按钮:完成按钮第二节常用函数的介绍与使用一、用Line()函数动态画线、相关函数的介绍RGB(R,G,B):此函数用来设置颜色,颜色值的取值范围是,它可以为box(),drawbox,drawcirclea()等设置颜色,使用时必须放在这些函数之前。SetFill(flag.color):用color设置的颜色值来填充由box(),drawbox,drawcirclea()函数绘制的几何图形。当flag为true时填充,flag为false时不填充。SetFrame(flag,color):设置图形边框线的颜色。flag的设置同上。 SetLine(type):设置线条的样式。type时为无箭头;type时直线起点处有箭头;type是直线的终点处有箭头;type直线的两端都有箭头; 、模拟进度条的制作,效果图如(图)所示(单击这里下载源程序)(图)程序的流程图如(图2-2)所示 (图2-2)window和“题目”图标是用来制作程序的界面,这和上面的例子是一样的,在这里就不再介绍。 “百分比”显示图标是用来显示进度条的百分比的如(图3-1)所示。其中显示图标中的自定义变量“i”是进度条的总长度,为了能使在程序运行过程中变量能不断得到刷新,必须设置 “百分比”显示图标的属性,选中“Update Displayed Variables”复选框。 (图3-1)“演示”群组图标一共包含四个计算图标,其结构如(图2-4)所示 (图2-4)“设置线的颜色”的计算图标,内容如(图2-5),其功用是将下面要画的线的颜色设置成兰色。 (图2-5) “画线”的计算图标,内容如(图2-6),其功用是画一条线宽为16的直线,其线的长度是随自定义变量“i”的变化而变化的。 (图2-6)“延时”的计算图标,内容如(图2-7),其功用实现线的长度每增加两个像素,延时1800个单位,延时的时间由变量“j”来控制。 (图2-7)“动态画线”的计算图标,内容如(图2-8),其功用是控制线的长度不断的增加,增加的最终长度是由条件“if200”来控制的,“if”语句实现了程序的循环,使程序不断执行四个计算图标,直到条件不成立为止。 (图2-8)二、绘图函数的使用1、基本绘图函数介绍 Circle(pensize,x1,y1,x2,y2):其功用是在给定的矩形框内画一个圆。(图2-9)(图2-9)参数介绍如下:pensize: 圆周的线宽 x1,y1:圆所在方框左上角坐标 x2,y2:圆所在方框右下角坐标 Box(pensize,x1,y1,x2,y2)功能简介:用pensize所指定的线宽在屏幕上从(x1,y1)点到(x2,y2)点画一个矩形。 DrawBox(pensizex1,y1,x2,y2)DrawCircle(pensizex1,y1,x2,y2)DrawLine(pensizex1,y1,x2,y2)功能简介:在指定区域画矩形、圆、直线。x1,y1,x2,y2为可选项,若选用了这组参数,则相当于限定了绘制图形的范围。这组函数只能在热区响应类型中使用,且用鼠标单击热区中的点才能确定绘图的起点。 SetMode(mode)功能简介:设置绘制图形的模式。参数介绍如下:mode=0:Matted模式 mode=1:Transparent模式 mode=2:Inverse模式 mode=3:Erase模式 mode=4:Opaque模式 mose=5:Alpha模式 二、中实现简单几何作图工具(单击这里下载源程序)此程序的制作过程比较繁杂,大家可以下载源程序后慢慢去研究。这里给出画圆的流程图和效果图:第三节在Authorware中使用表达式一、基本定义表达式:由函数、变量、运算符、数字、字符串、常数、注解组成的式子。如:Number=Number+1-数字累加器PhoneNumber=GetLine(contacInfo,6)将 contacInfo字符变量中的第五行取出赋给PhoneNumber二、运算符:不同值之间的连接符。1、赋值运算符“:=”“:=” 将右边的值赋给左边的变量如:a:=124.6list=1,2,4list1=list2、关系运算符指对两个值进行比较,然后返回一个逻辑类型的结果(True或False)。一共有以下几种:=,=3、算术操作符、(乘方)如4、连接操作符:用于字符串之间的连接。city=Beijing China 相当于:city=Beijing China5、逻辑操作符:比较两个逻辑值。返回的结果是True或False, 有以下几种:(逻辑非)、&(逻辑与)、|(逻辑或)三、运算符的优先级优先级高( )、*、*或、+或-、=或=或或、&、:=、优先级低注:其中()优先级最高,:优先级最低举例说明:number=4x:=number1&number1结果为True - number number1&number x:=True(赋值运算)三、使用注释语句 -注释语句的主要作用是为了增强程序的可读性,在程序执行中并不 被执行,即“-”后的语句只是起到说明作用。如:PopupHandle:=tmsCreatePopupList(WindowHandle) 取得window的句柄第三章 脚本语句第一节条件语句Authorware一共提供三种结构的程序语句:顺序语句:按先后顺序执行操作 选择语句:按给定的条件进行判断,再执行响应的语句(分支) 循环语句:在某个条件范围内,反复执行某些表达式 一、条件语句(if-then)第一种基本形式基本形式变形举例说明if thenelseend ifif thenend ifif thenGoto(IconID跟我学)elseGoto(IconID选择题)end if 功能简介:首先验证“条件”,若“条件”为真(True)则执行“语句序列”,若为假(False)则执行“语句序列” 功能简介:首先验证“条件”,若“条件”为真(True)则执行“语句序列”,若为假(False)则什么也不做,直接执行“end if”下面的语句。 功能简介:首先检查交互是否被完全匹配,如果未完全匹配,则跳转到“跟我学”,如果完全匹配则跳转到“选择题”,这种结构一般用在强制学习的作品中与条件语句相雷同的测试函数:Test(condition,true expression,false expression)功能:先判断“condition,为真返回“true expression”的值,否则返回“false expression”的值。test()函数与if-then语句的区别:test()函数有函数值,可以用在图标属性的对话框中。而“if-then”语句没有返回值,一般在计算图标中使用。二、条件语句(if-then)第二种基本形式:多重条件选择语句,基本格式如下if thenelseif then. .else end if功能:先验证“条件”,如“条件”为真则执行“语句序列”,如为假则验证“条件”是为真,若为真则执行“语句序列”,按这样的顺序逐个验证下去,若所有的的条件都为假,则执行“语句序列n. 第二节循环语句一、循环语句的两种基本形式repeat while end repeatrepeat while to end repeat功能:先检验”条件“是否为真,为真则执行”语句序列“,执行完毕后再返回检验“条件”是否还为真,如为真则循环执行语句序列,直到条件为假是退出循环。 功能:循环执行指定的”语句序列“,直到“循环变量”的值由“初值”变为“终值时退出循环。注意,每执行一次循环,”循环变量“的值就会自动累加。这种结构一般用在已知循环次数结构中。 二、举例说明例一:LineNumber:=1 自定义变量赋初值repeat while GetLine(TestString,LineNumber)判断TestString中第LineNumber是否为空LineNumber=LineNumber=LineNumber+1若不为空则LineNumber变量自我累加end repeat此程序的功用是获得TestString中的总行数:LineNumber1例二:repeat with c:=1 to 10Line(c,80+20*c,100,80+20*c,300)end repeat程序效果:在屏幕上画条垂直方向的平行线,而且宽度依次增加。大家可以把上面的程序复制到计算图标中执行一下,看看效果。第三节Jump函数的使用Jump函数主要用来实现在中调用其它外部程序(*.exe),下面介绍最常用的几类函数: 1、JumpOutRetrun(program,document,creator type)program:被调用的程序名称 document:被调用的文件名称,为可选项 creator type:文件的类型,为可选项 功用:将document文件用指定的程序(program)打开.举例如下:JumpOutReturn(e:winampwinamp.exe,FileLocationpeace.mp3)使用winamp播放peace.mp3文件JumpOutReturn(Explorer,) 使用浏览器浏览指定的网页JumpOutRetrun(e:Adobephotoshop.exe) 打开photoshop程序注:用JumpOutReturn语句也可以调用自己编写的文件(*.exe格式),如调用自己编写的帮助文件,在调用时不会把原程序窗口关闭2、JumpOut(program,document)功用:参数的含义同上,此函数用于打开由program指定的应用程序,并退出调用它的程序即原程序被关闭,在屏幕上出现的仅是被调用的程序窗口3、JumpFileReturn(filename,variable1,variable2.,folder)功用:实现AW文件之间的相互使用,调用时会把原调用程序的窗口关闭.如可以在a.a6p中调用b.a6p可以这样写:JumpFileReturm(FileLocationb.a6p)注:当a.a6p和b.a6p两个程序都被打包后,两者的调用关系仍然存在.4 、JumpPrintReturn(program,documentcreator)功用:用指定的应用程序program打印指定的文档document,当Program缺省时,则用默认的打印程序打印.第四节AW动态显示函数一、抛物线图象的实现(单击这里下载源程序)1、首先我们来看一下程序执行后的效果(图4-1),大家可以看到程序中的抛物线并不圆滑,这其实也说明了程序的制作原理,实际上这段抛物线是有若干段直线拼接而成的.(图4-1)2、(图4-2)是本程序的流程图,此程序的关键是流程图中坐标系和开始画抛物线两个计算图标的设计.(图4-2)3、坐标系计算图标的内容(图4-3)(图4-3)4、开始画抛物线计算图标的内容(图4-4)(图4-4)从计算图标中可以看出,抛物线其实是由(x1,y1)到(x2,y2)的直线首尾连接而成.二、正弦函数y=sin(x)图象的实现实现的原理和抛物线相似,这里不再作详细的介绍,下面给出程序的效果图(图4-5)和流程图(图4-6)(图4-5)(图4-6)三、利用函数制作复合按钮1、程序的效果图如下(图4-7):这里大家只可看到“播放”按钮,其实还有一个“暂停”按钮和播放按钮是重叠的,只是现在“暂停”按钮此时处于无效的状态,被隐藏起来了。这也是本程序实现的技术要点。(图4-7)2、程序的流程图如下(图4-8),结构比较简单。(图4-8)3、“初始化”计算图标的内容如(图4-9),各语句的解释参考“注释”语句。(图4-9)4、“暂停”和“播放”计算图标的内容如(图4-10)和(图4-11),各语句的解释参考“注释”语句。(图4-10)(图4-11)5、下面设置播放按钮的属性,这也是本程序的关键。在Response选项卡中(图4-12),设置按钮的响应条件为play=0(红框部分),即表示“播放”按钮在play=0时有效。(图4-12)6、在Button选项卡中(图4-13),选中Hide When Inactive复选框。即表示按钮在无效状态是隐藏。(图4-13)7、“暂停”按钮的属性设置与“播放“按钮相似,其在Reaponse选项卡中的响应条件Active if :play=1,同样在Button选项卡中,选中Hide When Inactive复选框。从上面的设置不难看出,当play01时,“播放”按钮有效(显示),而“暂停”按钮无效(隐藏)。 第四章 外部函数UCD第一节自定义函数的引入UCD(User Code Dll)是用户自定义函数的缩写。包括AW自带的UCD函数和用户用VB、VC、Delphi编写的UCD函数。UCD函数又称为外部函数,在使用之前必须先引入到当前文件中,当外部函数被正确引入后,我们就可以象使用系统函数一样使用它了。UCD函数的后缀一般为U32(32位)或UCD(16位,在windows3.x中使用)。用户自定义函数引入的步骤,以装载cover.u32为例:1、用AW新建一个文件,并命名为cover.a6p.2、选择window菜单 - 选择functions菜单项 - 弹出函数对话框(图1-1)所示。(图1-1)3、在函数对话框的Category下拉列表中选择当前的文件cover.a6p - 单击Load.按钮(图1-2)。(图1-2)4、弹出Load Function对话框(图1-3) - 在对话框中选择要加载的外部函数,这里选cover.u32 - 单击“打开”按钮(图1-3)5、弹出(图1-4)对话框,在name项下面显示的是cover.u32所包含的两个函数cover()和Uncover(),按住ctrl键,再分别单击着两个函数就可以选中它们。 - 单击Load按钮装载这两个被选中的函数。图(1-4)6、如果出现(图1-5),说明函数已经加载成功,红框中显示的是函数的名称和居具体的使用方法。(图1-5)7、将外部函数引入到计算图标或指定的区域,只要打开计算图标,双击(图1-5)中的函数名即可,效果如(图1-6)所示。(图1-6)第二节 Authorware部分自带的UCD函数祥解一、APWKEYS.U32:控制按键的响应范围,一共有两个函数,介绍如下:InstallApwkeys():扩大程序的按键范围,使用户可以使用ctrl、caps lock、Num Lock等键。 RemoveApwkeys():将扩展的按键范围卸载,此时ctrl、caps lock、Num Lock等键无效,防止系统锁死。 对按键范围的测试实例,程序流程图如下:(图2-1)(图2-1)二、copyfile.u32:复制文件函数,只有一个函数,其语法如下:result:=CopyFile(源文件路径及文件名,目标文件及文件名)功用:对源文件进行拷贝,如果目标文件存在,则对其进行覆盖。拷贝成功后,将所拷贝的字节数赋给result,发生错误则result返回负值。三、Cover.u32:覆盖桌面的函数,一共包含两个函数,介绍如下:Cover():以黑色覆盖整个桌面,一般在程序的开头时使用。 Uncover():恢复被覆盖的捉名,一般在程序退出时使用。 四、Edit.u32:文本编辑函数,一共包含八个函数来实现对文本的编辑,介绍如下:1、result:=EditboxDisplay(string,x_coord,y_coord,height,width)功能:创建一个滚动编辑框,用于显示和编辑文本.string为放置于编辑框中的文;,x_coord,y_coord为编辑框左顶角的坐标;height,width为编辑框的高度和宽度.2、EditboxClear( ):将编辑框中选取的文本删除.3、cut_string:=EditboxGetText( ):将编辑框中的全部内容赋给变量cut_string.4 、EditboxUndo():撤消对编辑框的最后一次操作.5、EditboxErase():将函数EidtboxDisplay()创建的编辑框擦除.6、Cut_String:=EditboxCut():将编辑框中选取的部分剪切,赋给变量Cut_String,同时保存于WINDOW的剪切板上7、Cut_String:=EditboxCopy():对编辑框中选定的内容进行复制.8、EditboaPaste():将剪切或复制到剪切板上内容粘贴到编辑框中光标所在的位置上.五、A5wmme.u32(多媒体设备控制函数)功能:一共具备波形(WAVE)文件控制、MIDI控制、CD控制、动画控制、MIC(媒体界面控制)五大类函数,下面介绍最为常用的前三类函数.1、波形控制函数:支持以WAVE格式存放的数字化声音文件.具体的函数如下: 函数名及使用语法函数功能errorCode:=WavePlay(filename,wait)播放指定的WAVE文件,参数wait是用来确定播放模式的.当wait为True时,只有当播放完WAVE文件是才执行下面的图标,当wait为False时,WAVE文件和下面的图标同步执行.errorCode := WavePlaySegment(fileName, fromSeconds, forSeconds, wait)从指定的起始位置(fromseconds)播放指定的播放(forseconds)的WAVE文件.参数介绍如下:fromseconds:以秒为单位指定文件的起始播放位置forseconds:以秒为单位指定文件播放的长度wait: 含义和方法同上errorCode := WaveStop()停止播放当前的声音文件,同时返回MCI错误代码,无错时返回0errorCode := WavePause()暂停播放当前的声音文件,同时返回MCI错误代码,无错时返回0errorCode := WaveResume()继续播放当前的声音文件,同时返回MCI错误代码,无错时返回0result := WavePlaying()监控WAVE文件的播放状态,如正在播放,返回True值,否则返回False值2、MIDI控制函数,具体函数介绍如下:函数名及使用语法函数功能errorCode:=MIDIPlay(filename,tempo,wait)以参数tempo指定的速度播放指定的MIDI文件.参数wait的作用与WavePlay()函数一致;参数tempo:指定MIDI文件的播放速度,当tempo=100是时以默认的速度播放;errorCode := WavePlaySegment(fileName,tempo, fromSeconds, forSeconds, wait)从指定的起始位置(fromseconds)开始播放指定播放长度(forseconds)的MIDI文件.参数介绍如下:fromseconds:以秒为单位指定文件的起始播放位置forseconds:以秒为单位指定文件播放的长度参数wait的作用与WavePlay()函数一致;参数tempo:指定MIDI文件的播放速度,当tempo=100是时以默认的速度播放errorCode := MIDIStop()停止播放当前的MIDI文件,同时返回MCI错误代码,无错时返回0errorCode := MIDIPause()暂停播放当前的MIDI文件,同时返回MCI错误代码,无错时返回0errorCode := MIDIResume()继续播放当前的MIDI文件,同时返回MCI错误代码,无错时返回0result := MIDIPlaying()监控MIDI文件的播放状态,如正在播放,返回True值,否则返回False值3、CD控制函数函数名及使用语法函数功能errorCode:=CDPlay(track,wait)从头到尾播放track指定音轨上的内容参数wait的作用与WavePlay()函数一致;errorCode := CDPlaySegment(track, fromSeconds, forSeconds, wait)从指定的起始位置(fromseconds)开始播放指定播放长度(forseconds)的CD音轨.参数介绍如下:fromseconds:以秒为单位指定文件的起始播放位置forseconds:以秒为单位指定文件播放的长度参数wait的作用与WavePlay()函数一致; errorCode := CDStop()停止播放当前的音轨,同时返回MCI错误代码,无错时返回0errorCode := CDPause()暂停播放当前的音轨,同时返回MCI错误代码,无错时返回0errorCode := CDResume()继续播放当前的音轨,同时返回MCI错误代码,无错时返回0result := CDPlaying()监控CD音轨的播放状态,如正在播放,返回True值,否则返回False值result := CDCurrentPosition()以字符串的形式返回CD的当前位置,返回的格式是tt:mm:ss:fftt为音轨号;mm为分钟数;ss为秒数;ff为帧号; errorCode := CDEject() 将CD片退出光驱errorCode := CDRetract()将CD片移回光驱Condition:=CDDiscpresent()检测光驱中是否有CD盘片,如有返回TRUE,没有返回FALSEresult := CDLength()以秒为单位返回当前CD的总长度,如果出错返回0result := CDTracks()返回当前CD盘片上的总轨数result := CDTrackLength(track)以秒为单位返回当前CD中指定音轨的长度 第三节 利用外部函数制作实例一、利用tMsControls.u32制作子菜单和右键快捷菜单tMsControls.u32函数的主要功能有以下几种:制作下拉列表 制作弹出式菜单 调用文件选择对话框 字体下拉列表 调用带预览功能的图形文件打开对话框 调用文件保存对话框 这里只介绍tMsControls.u32中制作弹出式菜单的三个函数,其功用和函数语法如下表:函数语法pupupHandle:=tMsCreatePopupList(windowHandle)函数功能和参数取得windows句柄,并把它赋给自定义变量pupupHandle函数语法Result:=tMsAddItem(ControlHandle, menuItemNo, submenuItemNo, menuText)函数功能和参数设置各菜单的名称、级数等内容,参数介绍如下:ContdrolHandle:控制句柄的变量名,这里应是“pupupHandle”menuItemNo:设置菜单项的排列顺序,用“1、2、3.”表示,其中“1”表示第一个菜单项。 submenuItrmNo:设置子菜单的奇数,如“0”表示一级菜单,“1、2、3.”表示二级菜单。 menuText:设置菜单项的名称,其中菜单项之间的分隔线用“-”表示。 函数语法Result:=tMsDisplayControl(ControlHandle, X, Y, Width, Height, Return)函数功能和参数设置菜单的位置和尺寸,参数如下:ContdrolHandle:控制句柄的变量名,这里应是“pupupHandle”。X,Y:设置菜单出现的水平和垂直位置。 Width,Height:设置菜单的宽度和高度。 Return:用户选择某一菜单想后返回的值,程序会根据不同的返回值作出响应的处理。如:if (result=退出) then quit(0)则表示当用户选择“退出”菜单后程序将执行“quit(0)”语句 下面介绍具体的制作步骤: 1、下拉菜单和右键快捷菜单的效果图如(图3-1)和(图3-2)所示(图3-1)(图3-2)2、程序的流程图如(图3-3)所示,其中交互图标中包括条件响应和按钮响应(图3-3)3、引入tMsControls.u32中的tMsSddItem()、tMsCreatePopupList()、tMsDisplayControl()三个函数(图3-4)(图3-4)4、右键快捷菜单的制作,属性设置如(图3-5),条件响应为“RightMouseDown=TRUE”,即表示当鼠标右键按下时响应。(图3-5)5、(图3-6)为“RightMouseDown=TRUE”交互下的计算图标的内容,这里是实现菜单响应的关键(图3-6)5、(图3-7)为“主菜单”交互下的计算图标的内容,其语句与“RightMouseDown=TRUE”交互下的计算图标的内容相似(图3-7)第五章 访问Windows API第一节Windows API介绍和载入一、Windows API简介Windows API是应用程序编程接口(Application Programing Interface)的缩写,它是一系列复杂的函数、消息的集合,为高级语言提供了大量可扩充的功能强劲的函数。二、Windows API函数的载入AW中可以利用动态链接库(DLL)文件,直接使用Windows API函数库的功能。一个DLL文件就是一个函数库,包含若干个函数。调用DLL文件时,必须明确函数的调用协议,包括函数的名称、参数的数目、参数的类型、返回值的类型。1、Windows函数库主要的几个文件GDI32.DLL:屏幕显示及打印功能的函数集 USER32.DLL:鼠标、键盘、通信端口、声音、时钟功能的函数集 KERNEL32.DLL:文件及内存管理(核心部分)功能的函数集 MPR.DLL:Windows32网络接口库 ADVAPI32.DLL:Windows32、ADVAPI32核心部件 2、DLL文件的载入过程与调用外部函数相似,DLL函数集在使用之前必须事先载入和声明,其载入的过程要比调用UCD函数更加复杂。以装载WindowSystemshell.dll文件为例,具体的载入过程介绍如下:打开Window菜单,选择Function菜单项,出现Function对话框,在Category下拉列表中选择当前的文件about.a6p(图1-1)红框所示。 (图1-1)单击(图1-1)中的Load.按钮,出现load function(图1-2)对话框,选择C:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论