- 打印本文 关闭窗口
- ASP中文简明教程
- 作者:佚名 文章来源:网络 点击数: 更新时间:2005/9/18 18:18:51
- ---------------------------
模块 3:编写自己的组件
请选择本课的脚本语言。
在模块 2 中,您已经熟悉了 ASP 提供的组件,现在该创建自己的组件来满足自己的特殊需要了。
假设您需要创建一个 ASP 程序,以便通过 Web 节点提供特定的财务功能。ASP 没有直接提供这样的功能,不过您可以通过创建自己的 Java 或 ActiveX 组件来解决问题。您将在本模块中学会这些。
如果要学习如何创建并使用组件,首先使用下面的表格进行选择:
--------------------------------------------------------------------------------
选择本课要创建的组件类型:
Visual Basic 5.0 ActiveX 组件
Visual J++ 1.1 Java? 组件
--------------------------------------------------------------------------------
要点
若要保存并查看您在本模块中的工作结果,需要:
对 localhost Web 服务器上的 /iishelp/iis/htm/tutorial 虚拟目录具有“写 (Write)”和“改编 Web 服务器 (Script Web server)”权限。详细信息,请参阅 设置 Web 服务器权限。
您的 Windows NT 帐号,必须在 DriveLetter:\Winnt\System32\Inetsrv\ 目录及其子目录上具有 Windows NT File System (NTFS) 的读、写和运行程序权限(此处的 DriveLetter 代表 localhost Web 服务器的适当的驱动器号,如果您没有安装到默认目录下,请用您的安装目录代替 \Winnt\System32)。
要完成本模块,必须在 localhost Web 服务器上安装:
Microsoft? Visual Basic 5.0 专业版的 32 位版本或 Visual Basic 5.0 企业版开发系统。
如果已经禁止了 Web 浏览器运行 Java 程序功能,请在开始教程以前启用该功能。
第一课:创建 ActiveX 财务组件
组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的功能。由于 VBScript 不提供财务函数,所以您必须通过自己的 Finance 服务器组件来提供对 Visual Basic 财务函数的使用能力。该服务器组件能提供所有的 Visual Basic 财务函数,包括 DDB 函数(双倍余额递减法)、FV 函数(未来值)、IPmt 函数(支付利息)、IRR 函数(内部回报率)以及其他函数。不过,在本教程中,您将只使用 FV 函数,基于固定利率及等额定期支付方式,返回一笔年金。
启动 Visual Basic
单击“开始”按钮,指向“程序”,然后指向“Microsoft Visual Basic 5.0”
单击子菜单中的“Visual Basic 5.0”,运行编程环境。
开始并命名一个工程
在“New Project”对话框中,双击“ActiveX DLL”。
在“Project”菜单上,单击“Project1 Properties”。
在“General”属性页的“Project Name” 框中,键入“MS”。
选择“Unattended Execution”。
注意 选择该选项表明这个工程运行时不需要用户交互,并且将不具有用户交互的基础。
单击“OK”。
现在工程被命名为“MS”。以后,您将从 ASP 脚本中以 MS.Finance 的形式引用 Finance 服务器组件。
将 Finance Class 添加到工程中
在 Visual Basic 中,若要创建具有一组可以调用的函数组件,必须定义一个 类。一个类包含一组方法和属性。在您的工程中,类就是您说明财务方法的地方。
按下 F4 键打开类模块的“Properties”窗口,双击“Name”属性并键入“Function”,然后按 Enter。
双击“Instancing”。
单击箭头,然后选择“5 - MultiUse”。
进一步学习 Visual Basic 财务函数
Visual Basic 的帮助系统描述了可以使用的财务函数。
单击“Help”。
选择“Microsoft Visual Basic Help Topics”。
选择“Index”选项卡,然后键入“financial functions”作为查找的文字。
双击“financial functions”索引条。
单击“FV Function”,学习该函数。
学习完财务函数后,关闭“Visual Basic Help”对话框。
将 CalcFV 函数添加到 Finance 类
Finance 服务器组件需要一些代码。这些代码让使用您组件的语言可以调用 Visual Basic 内建的未来值函数。
将下列行复制并粘贴到 Finance 类的代码窗口中:
Public Function CalcFV(rate, nper, pmt, Optional pv, Optional whendue)
CalcFV = FV(rate, nper, pmt, pv, whendue)
End Function
添加组件的入口点
所有服务器组件都需要一个入口(起始)点。这是当对象第一次可用于一种语言时,将被调用的代码。在 VBScript 中,当您使用 Server.CreateObject 时,将创建对象的一个实例。当执行 Server.CreateObject 语句时,(由 Visual Basic 创建的)服务器组件上的 Sub Main 过程将被调用。
当您的财务组件被调用时,它不需要任何特殊代码来初始化自身。因此,需要提供一个空的(没有 Visual Basic 语句的)Sub Main 过程。
选择“Project”菜单中的“Add Module”。
在“Module 1”对话框中,双击模块图标。
在 Module 1 代码窗口中,键入 Sub Main。
按下 Enter 键。
将自动进入如下代码:
Sub Main()
End Sub
保存 Finance 工程
当保存所作的工作时,将询问您是否保存 Visual Basic 工程的全部 3 部分。其中包括工程文件、类模块和代码模块。
打开“File”菜单。
选择“Save Project”。
在“File name”文本框中,键入“Finance”。选择 localhost Web 服务器上的如下路径:DriveLetter:\Winnt\System32\Inetsrv\,其中 DriveLetter 是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 \Winnt\System32。)
单击“Save”按钮。
如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消息,提示文件已经存在。请用您的文件覆盖旧文件。
双击“File name”文本框中的值 “Project1”,选中它。
为工程文件键入名称“Finance” (.vbp)。
单击“Save”按钮保存工程。
如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。
成为“进程内 (In-Process)”组件
Visual Basic 允许您创建进程内 ActiveX 组件(通常称为 OLE 自动服务器)和进程外 ActiveX 组件。一个进程内 ActiveX 组件是一个动态链接库(带 .dll 后缀),由调用它的进程进行加载。一个进程外 ActiveX 组件是一个可执行文件(带 .exe 后缀),当它被应用程序调用后,以独立进程的状态运行。由于进程内组件与调用它的程序在同一个进程空间,所以性能比进程外组件要佳。
使 Finance 服务器组件成为进程内 ActiveX 组件
打开“File”菜单。
选定“Make Finance.dll”。
单击“Options”按钮。
选定“Auto Increment”复选框。
单击“OK”。
键入 DriveLetter:\localhost\Winnt\System32\Inetsrv\Finance,其中 DriveLetter 是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 \Winnt\System32。)
如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。
退出 Visual Basic。
注册 Finance 服务器组件
所有服务器组件都必须注册。Windows NT 和 Windows 95 用系统注册表来追踪哪个服务器组件是可用的。在您的计算机上将 Finance 服务器组件注册后,就可以在 VBScript 和所有兼容 OLE 的语言中调用它了。
打开一个命令提示符窗口。
在命令提示符后键入 cd Drive Letter:\localhost\Winnt\System32\Inetsrv,其中 DriveLetter 是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 \Winnt\System32。)
按下 Enter 键。
键入 regsvr32 Finance.dll。
按下 Enter 键。
当出现一个对话框显示“DllRegisterServer in finance.dll succeeded”时,请单击“OK”按钮。
关闭命令提示符窗口。
第二课:从脚本调用 Finance 组件
要测试组件,可以从 ASP、Visual Basic、Microsoft? Office 产品的 Visual Basic for Applications 或任何 OLE 自动控件来调用组件。
要使用 VBScript 从 ASP 调用 Finance 组件,可以使用一个 HTML 表格作为输入来计算某人存款计划的未来值。
所需的 HTML 表格
我们将使用一个 HTML 表格后,就能用 Request("APR") 的方式引用。HTML 标记 提供了输入数值所需的字段。
要将表格标记的 ACTION 属性指定的网页。“Submit”按钮的 HTML 标记 () 使用 ACTION 的值,从 HTML 表格标记 () 来调用 ASP 页 Finance.asp。
我们已经为您创建好了表格。用文本编辑器打开 localhost Web 服务器上 Tutorial 目录 (C:\WINNT\Help\iis\htm\tutorial) 中的 FVform.asp 文件即可。
脚本
我们使用 VBScript 来调用您的 Finance 服务器组件。脚本首先确认来自 HTML 表格中任何没有输入的变量赋默认值。
Server.CreateObject 创建一个 Finance 组件的实例(也就是使组件可用),名为 MS.Finance。为组件创建实例以后,就可以使用组件的方法和属性了。在脚本中紧随 Server.CreateObject 之后,使用了 CalcFV 方法来计算存款计划的未来值。计算结果将出现在请求这个信息的浏览器中。
要查看脚本,请用文本编辑器打开 Tutorial 目录 (C:\WINNT\Help\iis\htm\tutorial) 中的 Finance.asp 文件。
用浏览器进行测试
要运行 Finance.asp ASP 页,请打开 FVform.asp 文件,该文件将绘制一个表格并调用 Finance.asp 脚本来计算表格中描述的存款计划的未来值。
要打开 FVform.htm,请将浏览器导向 http://localhost/iishelp/iis/htm/tutorial/FVform.asp。
在“Savings Plan”表格中输入数值。
单击“Calculate Future Value”按钮。存款计划的结果将会出现。
经过不长时间的学习,您已经创建了一个有用的 ActiveX 服务器 组件。如果需要使用其他财务函数,只要通过 Visual Basic 将其他方法添加到 Finance 服务器组件中,就可以执行其他财务函数了。我们鼓励您进行尝试并提出创造性的方法来利用自己的 ActiveX 组件。您很快将会发现,用组件来开发 Web 应用程序几乎没有任何限制。
上一页 [1] [2] [3] [4] [5] [6] [7] [8]
- 打印本文 关闭窗口