回首页

后一页
前一页
创建财务组件

组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的功能。由于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 ,其中Drive Letter是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换\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”按钮。关闭命令提示符窗口。

后一页
前一页

回首页