当前位置:编程学习 > asp >>

编写自己的组件

答案:

您已经熟悉了 ASP 提供的组件,现在该创建自己的组件来满足自己的特殊需要了。

假设您需要创建一个 ASP 程序,以便通过 Web 节点提供特定的财务功能。ASP 没有直接提供这样的功能,不过您可以通过创建自己的 Java 或 ActiveX 组件来解决问题。您将在本模块中学会这些。

如果要学习如何创建并使用组件,首先使用下面的表格进行选择:

要点   


若要保存并查看您在本模块中的工作结果,需要:
对 Web 服务器上的虚拟目录具有“写 (Write)”和“改编 Web 服务器 (Script Web server)”权限。详细信息,请参阅设置 Web 服务器权限帮助iishelp。
您的 Windows NT 帐号,必须在 DriveLetter:\Winnt\Java 目录及其子目录上具有 Windows NT File System (NTFS) 的读、写和运行程序权限(此处的 DriveLetter 代表 Web 服务器上适当的驱动器号)。
DriveLetter:\Winnt\System32\Inetsrv\ 目录及其子目录上具有 Windows NT File System (NTFS) 的读、写和运行程序权限(此处的 DriveLetter 代表 Web 服务器的适当的驱动器号,如果您没有安装到默认目录下,请用您的安装目录代替 \Winnt\System32)。


要完成本模块,必须在 Web 服务器上安装:


o        Microsoft® Visual J++™ 1.1. Microsoft® Visual Basic 5.0 专业版的 32 位版本或 Visual Basic 5.0 企业版开发系统。


如果已经禁止了 Web 浏览器运行 Java 程序功能,请在开始教程以前启用该功能。


第一课:创建 Java ActiveX 财务组件
组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的函数。由于不提供财务函数,所以您必须在外部创建一个财务函数。在本教程中您将学习如何创建一个函数,这个函数在固定利率及等额定期支付的方式下,计算一笔投资的未来价值(也就是年金)。

 

启动 Visual J++


单击“开始”按钮,指向“程序”,然后指向 Microsoft Visual J++ 1.1
单击子目录中的“Microsoft Developer Studio”,启动编程环境。


开始并命名一个工程


单击“File”。
选择“New”。
单击“Project”选项卡。
选择“Java Project”。
在“Project Name”框中,键入“Finance”,然后单击 “OK”。


将 Finance Class 添加到工程中


选择“Insert”菜单中的“New Class”。
在“Name”框中,键入“Finance”,然后单击 “OK”。在文本编辑器中
将出现下列文字:


class Finance {


}

注意   类的名称必须与 Java 服务器组件的工程名相同。

 

将 CalcFV Function 添加到 Finance Class 中


选择“ClassView”选项卡(默认)。
在树型控件中展开“Finance Classes”工程。
右键单击“Finance”类,然后选择“Add Method”。
在“Return Type”框中,键入“public double”。
在“Method declaration”框中,复制并粘贴下列文字:


CalcFV(double dblRate, double dblNPer, double dblPMT,

 

double dblPv, boolean bType)

在这一声明中,您定义了一个财务函数,它属于 Finance 类,用于计算一笔投资的未来价值。


单击“OK”。下列文字将出现在 Visual J++ 的文本编辑器中:


class Finance {

 

 public double CalcFV(double dblRate,

 

                 double dblNPer,


                 double dblPMT,


                 double dblPv,


                 boolean bType) {    


 }


    }

 


在文本编辑器中,将下列 Java 代码复制并粘贴到上面最内层的括号中:


  double     dblRet, dblTemp, dblTemp2, dblTemp3;


 if (dblRate == 0.0) {

            dblRet = -dblPv - dblPMT * dblNPer;


} else {


              dblTemp = (bType ? 1.0 + dblRate : 1.0);


  dblTemp3 = 1.0 + dblRate;


 dblTemp2 = Math.pow(dblTemp3, dblNPer); 


dblRet = -dblPv * dblTemp2 - dblPMT * dblTemp *
(dblTemp2 - 1.0) / dblRate;


}


return dblRet;
不要被这些代码所吓倒,它们不过是定义了计算投资未来价值的数学公式而已,当然使用的是 Java 语法。如果您感兴趣,可以在任何一本讲解财务计算或会计知识的书本上找到这个常用公式。

注意   Java 是大小写敏感的,所以如果您决定将上述代码行键入文本编辑器,请确保键入的文字与显示的内容完全一致。

 

构造 Finance 组件


选择“Build”菜单中的“Build Finance”。
确保在 Build 窗口中(位于 ClassView 和文本编辑窗口之下),构
造过程没有产生任何错误或警告。


将 Finance 组件复制到 Trustlib 目录中


单击 Windows 的“开始”按钮,指向“程序”,然后单击“Windows 资源管理器”。
将 Finance.class 组件从 Program Files\DevStudio\MyProjects\Finance\  目录复制到 Web 服务器的 Winnt\Java\Trustlib 目录中。


注册 Finance Java 类
您必须在计算机中注册 Finance Java 类,才能在 JScript 以及任何兼容 OLE 的语言中调用它。


打开“命令提示符”(“MS-DOS 方式”)窗口。
在命令提示符后键入 cd DriveLetter:\\Program Files\DevStudio\VJ\Bin\,其中,DriveLetter 是您的计算机上适当的驱动器号。(如果您没有接受默认的安装目录,请用您的安装目录替换 \Program Files\DevStudio\VJ\Bin\
按下Enter 键。
键入 javareg /register /class:Finance /progid:MS.Finance.Java。
按下 Enter 键
当出现一个对话框显示“Successfully Registered Java class "Finance" as CLSID”时,单击“OK”按钮。
关闭“命令提示符”窗口。
组件将包含一组相关的方法(函数),用来提供脚本语言所不具有的功能。由于不提供财务函数,所以您必须通过自己的 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 时,将创建对象的一个实例。当执行  Se

上一个:加密你的ASP页面
下一个:不通过数据源完全控制MDB数据库

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,