学海荡舟手机网

主页 > 实用文摘 > 教育文摘_07 > > 详细内容

用户自定义函数的应用_课件制作

 

1 概述

1.1 什么是用户自定义函数

ucd的全名是user code dll,是用户自定义函数的缩写。目前任何一种软件都难以满足用户各方面的需要,windows的功能实在是太强大了,authorware所提供的系统函数不可能将windows下所能实现的功能都包括在内,因为它只是一个基于操作系统的多媒体开发平台,而且authorware又是定位在非程序员的使用上,本身不必包罗万象。windows 的主要优势和特点是共享资源,我们可以直接利用操作系统本身的功能来达到这个目的,因此authorware采用开放式结构(moa),提供一个通用的接口标准,给用户留下一个充分发挥能力的空间,让用户自己编写一些外部函数,以满足特殊功能的需要,从而实现对计算机更深层次、更广泛的控制。

 

利用c语言,程序员可以设计出能够为authorware使用的dll文件,但windows的dll是为专业编程人员创建的,标准的dll格式和调用规则通常需要用户参考程序员的文档和windows的api(application program interface,应用程序接口)调用,对非程序员来说建立和使用都不方便。为避开这些,authorware支持对于普通dll的透明的扩充,这种方式就是ucd。编写authorware中使用的dll的c程序员,可以使用ucd来自动载入authorware需要的,.包括函数名、参数、返回值的类型、语法模块和联机描述等,以便authorware识别和链接dll,而这些附加的自动载入的信息可以存储在dll中,或分开存储,并且这些信息对于其他程序来说仍是透明的。这样就可以像调用系统函数那样,在authorware的应用程序中调用外部函数,而无须去了解函数文件的底层。

 

我们常用的ucd一般有两个文件名相同而后缀名不同的文件,其后缀名分别是ucd和u32。实际上ucd和u32是相互对应的,后缀名为ucd的文件用在windows3.x这样的16位操作系统环境下,而以u32为后缀名的文件则适用在windows95/98/nt这样的32位操作系统环境下。

 

1.2 如何调用自定义函数

在使用自定义函数之前,首先要载入这个自定义函数。之所以要加载自定义函数,目的是使authorware能知道存放该函数的地点,从而能够直接从磁盘上读取该函数。当一个自定义函数被加载后,就可以像使用authorware所提供的系统一样来使用自定义函数了。调用自定义函数有两种方法:

 

(1)在计算图标中直接输入使用该函数的语句,在关闭计算图标时authorware会弹出查找相应函数的对话框,通过该对话框来查找对应的ucd文件。(在第9章中已有介绍)

 

(2)先加载自定义函数,然后在需要时再将自定义函数插入到需要使用的地方(和系统函数一样使用)。

 

下面主要介绍在authorware应用程序中加载自定义函数的操作步骤:

 

1.在authorware中打开函数列表框,选择category项中当前authorware应用程序的程序名,比如untitled.a6p,如图1所示。

 

 

图1  authorware的函数列表框

2.这时左下角的load按钮变得可以使用了。单击load按钮,弹出选择ucd文件对话框,如图2所示。

 

 

图2  选择ucd文件对话框

在authorware的安装目录下有一些authorware自带的ucd,如winapi.u32等。在对话框中的“搜寻”列表中找到authorware的安装目录,选中ucd文件,如winapi.u32。单击“打开”按钮后,会弹出如图3所示的对话框,该ucd文件包含的用户函数的列表显示在左边的name域。当选中某个函数后,在右边的description域中就会列出相应的使用说明。

 

图3  ucd文件包含的用户函数的列表及其使用说明

3.如windows中的操作一样,.按住shift键或ctrl键,可以一次选择多个要加载的用户函数。选中所需函数后,单击load按钮,这样就可以将这些用户函数加载到当前的authorware应用程序中,并且可以在函数列表框中看到引入的函数,如图4所示。

 

图4  引入了外部函数后的函数列表框

4.这时,加载到函数列表框中的ucd函数就像authorware提供的系统函数一样,下方的description域同样也有该函数的使用说明、参数说明等,这些信息就是authorware可以识别的信息。有了这些之后,用户就能够在authorware应用程序中“透明”地使用这些函数了。

 

1.3 在使用ucd时要注意的问题

在authorware 6.0程序中使用某个ucd文件,最好将该文件拷贝到authorware应用程序所在目录下或拷贝到authorware的安装目录下,然后通过调用自定义函数的方式来使用它们。另外,在发布authorware应用程序时,必须将这些ucd函数文件放到该应用程序可以查找到的目录中(比如打包后的exe文件所在目录),同时设置好应用程序的搜索路径。

 

1.4 在authorware 6.0中使用dll

在实际应用中,可以使用vc++,delphi等编程工具编写自定义函数。编写完毕并调试之后,将之编译成dll(动态链接库)文件以供authorware或其他应用程序调用。和ucd不同的是,authorware无法自动识别dll文件中的函数,必须对调用的dll非常了解。不过,这些需要windows程序员的水平才可以做到。

 

在authorware中调用dll中函数的步骤如下:

 

1.在authorware中打开函数列表框,在category域中选择当前authorware应用程序的文件名,比如untitled.a6p,如图1所示。

 

2.单击load按钮后,弹出选择源文件对话框,如图2所示。选择相应的dll文件,然后单击“打开”按钮。

 

3.这时弹出调用dll函数的对话框,要求输入要调用的函数名、.参数及返回值类型等,并给出注释,如图5所示。

 

图5 设置dll中的函数的对话框

4.在对话框中正确输入之后,单击load按钮就可以将此dll中的指定函数加载到authorware应用程序中使用了。

 

5.和ucd一样,如果在authorware应用程序中使用了某个dll中的函数,则在发布该authorware程序时,也必须将使用了的dll文件放到能够查找到的目录中。