📄 page19.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>第一课</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="Microsoft Border" content="none">
</head>
<body background="../../images/exptextb.jpg">
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<p><font FACE="宋体" size="3"><strong>第一课:创建 ActiveX 财务组件</strong></p>
</font>
<p><font FACE="宋体" SIZE="2">组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的功能。由于
VBScript 不提供财务函数,所以您必须通过自己的 Finance
服务器组件来提供对 Visual Basic
财务函数的使用能力。该服务器组件能提供所有的 Visual Basic
财务函数,包括 DDB 函数(双倍余额递减法)、FV 函数(未来值)、IPmt
函数(支付利息)、IRR
函数(内部回报率)以及其他函数。不过,在本教程中,您将只使用
FV 函数,基于固定利率及等额定期支付方式,返回一笔年金。 </p>
<p> </p>
<p><strong>启动 Visual Basic</strong></p>
<p>单击“开始”按钮,指向“程序”,然后指向“Microsoft Visual Basic
5.0” </p>
<p>单击子菜单中的“Visual Basic 5.0”,运行编程环境。 </p>
<p><strong>开始并命名一个工程</strong></p>
<p>在“New Project”对话框中,双击“ActiveX DLL”。 </p>
<p>在“Project”菜单上,单击“Project1 Properties”。 </p>
<p>在“General”属性页的“Project Name” 框中,键入“MS”。 </p>
<p>选择“Unattended Execution”。 </p>
<p>注意
选择该选项表明这个工程运行时不需要用户交互,并且将不具有用户交互的基础。</p>
<p> </p>
<p>单击“OK”。 </p>
<p>现在工程被命名为“MS”。以后,您将从 ASP 脚本中以 MS.Finance
的形式引用 Finance 服务器组件。 </p>
<p> </p>
<p><strong>将 Finance Class 添加到工程中</strong></p>
<p>在 Visual Basic
中,若要创建具有一组可以调用的函数组件,必须定义一个
类。一个类包含一组方法和属性。在您的工程中,类就是您说明财务方法的地方。</p>
<p> </p>
<p>按下 F4 键打开类模块的“Properties”窗口,双击“Name”属性并键入“Function”,然后按
Enter。 </p>
<p>双击“Instancing”。 </p>
<p>单击箭头,然后选择“5 - MultiUse”。 </p>
<p>进一步学习 Visual Basic 财务函数</p>
<p>Visual Basic 的帮助系统描述了可以使用的财务函数。</p>
<p> </p>
<p>单击“Help”。 </p>
<p>选择“Microsoft Visual Basic Help Topics”。 </p>
<p>选择“Index”选项卡,然后键入“financial functions”作为查找的文字。
</p>
<p>双击“financial functions”索引条。 </p>
<p>单击“FV Function”,学习该函数。 </p>
<p>学习完财务函数后,关闭“Visual Basic Help”对话框。 </p>
<p><strong>将 CalcFV 函数添加到 Finance 类</strong></p>
<p>Finance
服务器组件需要一些代码。这些代码让使用您组件的语言可以调用
Visual Basic 内建的未来值函数。 </p>
<p> </p>
<p>将下列行复制并粘贴到 Finance 类的代码窗口中:</p>
<p> </p>
<p>Public Function CalcFV(rate, nper, pmt, Optional pv, Optional whendue) </p>
<p>CalcFV = FV(rate, nper, pmt, pv, whendue)</p>
<p>End Function</p>
<p><strong>添加组件的入口点</strong></p>
<p>所有服务器组件都需要一个入口(起始)点。这是当对象第一次可用于一种语言时,将被调用的代码。在
VBScript 中,当您使用 Server.CreateObject
时,将创建对象的一个实例。当执行 Server.CreateObject 语句时,(由
Visual Basic 创建的)服务器组件上的 Sub Main 过程将被调用。</p>
<p>当您的财务组件被调用时,它不需要任何特殊代码来初始化自身。因此,需要提供一个空的(没有
Visual Basic 语句的)Sub Main 过程。 </p>
<p> </p>
<p>选择“Project”菜单中的“Add Module”。 </p>
<p>在“Module 1”对话框中,双击模块图标。 </p>
<p>在 Module 1 代码窗口中,键入 Sub Main。 </p>
<p>按下 Enter 键。 </p>
<p>将自动进入如下代码:</p>
<p> </p>
<p>Sub Main()</p>
<p>End Sub</p>
<p>保存 Finance 工程</p>
<p>当保存所作的工作时,将询问您是否保存 Visual Basic 工程的全部 3
部分。其中包括工程文件、类模块和代码模块。</p>
<p> </p>
<p>打开“File”菜单。 </p>
<p>选择“Save Project”。 </p>
<p>在“File name”文本框中,键入“Finance”。选择 localhost Web
服务器上的如下路径:DriveLetter:\Winnt\System32\Inetsrv\,其中 DriveLetter
是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换
\Winnt\System32。) </p>
<p>单击“Save”按钮。 </p>
<p>如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消息,提示文件已经存在。请用您的文件覆盖旧文件。</p>
<p> </p>
<p>双击“File name”文本框中的值 “Project1”,选中它。 </p>
<p>为工程文件键入名称“Finance” (.vbp)。 </p>
<p>单击“Save”按钮保存工程。 </p>
<p>如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。</p>
<p> </p>
<p><strong>成为“进程内 (In-Process)”组件</strong></p>
<p>Visual Basic 允许您创建进程内 ActiveX 组件(通常称为 OLE
自动服务器)和进程外 ActiveX 组件。一个进程内 ActiveX
组件是一个动态链接库(带 .dll
后缀),由调用它的进程进行加载。一个进程外 ActiveX
组件是一个可执行文件(带 .exe
后缀),当它被应用程序调用后,以独立进程的状态运行。由于进程内组件与调用它的程序在同一个进程空间,所以性能比进程外组件要佳。</p>
<p><strong>使 Finance 服务器组件成为进程内 ActiveX 组件</strong></p>
<p>打开“File”菜单。 </p>
<p>选定“Make Finance.dll”。 </p>
<p>单击“Options”按钮。 </p>
<p>选定“Auto Increment”复选框。 </p>
<p>单击“OK”。 </p>
<p>键入 DriveLetter:\localhost\Winnt\System32\Inetsrv\Finance,其中 DriveLetter
是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换
\Winnt\System32。)</p>
<p>如果在此以前,另一个用户已经学完了教程的这一部分,将出现一条消信息,提示文件已经存在。请用您的文件覆盖旧文件。
</p>
<p>退出 Visual Basic。 </p>
<p><strong>注册 Finance 服务器组件</strong></p>
<p>所有服务器组件都必须注册。Windows NT 和 Windows 95
用系统注册表来追踪哪个服务器组件是可用的。在您的计算机上将
Finance 服务器组件注册后,就可以在 VBScript 和所有兼容 OLE
的语言中调用它了。</p>
<p>打开一个命令提示符窗口。 </p>
<p>在命令提示符后键入 cd Drive Letter:\localhost\Winnt\System32\Inetsrv,其中
DriveLetter
是适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换
\Winnt\System32。) </p>
<p>按下 Enter 键。 </p>
<p>键入 regsvr32 Finance.dll。 </p>
<p>按下 Enter 键。 </p>
<p>当出现一个对话框显示“DllRegisterServer in finance.dll succeeded”时,请单击“OK”按钮。
</p>
<p>关闭命令提示符窗口。 </font></p>
<layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility=hidden id=a1 width=600 onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -