本站首页 精品导航 软件下载 精品影视 版主申请 影视下载 投诉举报 转贴工具2 转贴工具1 彩字生成
发新话题
打印

使用Delphi 6实现B/S模式下的复杂程序

使用Delphi 6实现B/S模式下的复杂程序

  


                  引:开发Internet/Intranet的应用程序大约有三种不同的形式。实现B/S模式下的复杂程序,可通过选用Delphi 6,通过实现以ActiveX技术为主的Internet/Intranet应用程序来完成。


  企业中使用的管理信息系统(简称MIS)系统平台模式主要有以下4种。


  * 主机终端模式;


  * 文件服务器模式;


  * 客户机/服务器模式(Client/Server,简称C/S);


  * Web浏览器/服务器模式(Browser/Server,简称B/S)。


  主机终端模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。由于C/S模式开发软件的最大缺点是需要专门的客户端安装程序,分布功能弱。而B/S模式开发的软件无须安装,使此技术得到越来越广泛的应用。


  选择B/S模式下复杂程序的实现技术


  开发Internet/Intranet的应用程序大约有三种不同的形式:


  以HTML为主的应用程序、以Java/JavaScript为主的Internet/Intranet应用程序和以Microsoft的ActiveX技术为主的Internet/Intranet应用程序。


  Delphi 6对于以HTML和ActiveX技术为主的应用程序都有着非常强劲的支持。因此我们推荐选用Delphi 6,实现以ActiveX技术为主的Internet/Intranet应用程序,来完成B/S模式下IE中的复杂程序。


  建立使用在IE之中的ActiveForm组件


  使用Delphi ActiveForm的功能开发一个可以在浏览器中执行的Delphi应用程序。由于ActiveForm可以包含任何Delphi中的VCL组件,所以程序员可以建立一个拥有数据感知能力的ActiveForm组件,具有处理数据的能力,当它使用于IE时,就可以让IE变成能够处理数据的应用系统。


  使用Delphi ActiveForm的功能开发一个可以在浏览器中执行的Delphi应用程序时,与通常的Delphi开发应用程序并不相同。Delphi开发在C/S模式下运行的应用程序,通常选择菜单项“File”—〉“New”—〉“Application”,从而建立一个新的project来完成。


  开发在B/S模式下运行的应用程序,首先在Delphi 6中关闭所有的项目,接着选择“File”—〉“New”,在New Items对话框中选择建立Active Form。


  


                  


  编程实例


  现在我们以实现一个油藏工程方法“产量构成曲线”的ActiveForm为例,实现访问服务器端数据库,并根据数据库中有关数据生成产量构成曲线的功能。在Delphi产生了一个空白的ActiveForm之后,设计这个ActiveForm如下图所示: 


 


  此ActiveForm中可根据用户需要加入各种类型的控件。其中,TsocketConnection和TclientDataSet类型的控件提供了连接服务器端程序访问数据库的功能;TpaintBox类型的控件提供了程序画图的容器。设计完ActiveForm后,需要不断调试程序,使之编译通过。 


  一、分发ActiveForm组件


  程序编译通过后,下一步需要做的是把这个ActiveForm分发到Web Server指定的位置。ActiveX组件通常是以 .OCX为后缀的文件,还有以 .INF为后缀的安装信息文件。


  在Delphi 6中有一个Web Deploy的功能,它可以帮助程序员把制作完成的ActiveX拷贝到程序员设定的Web Server正确的目录中。具体步骤如下:


  1.在Delphi中选择“Project”—〉“Web Deployment Options…”,先设定一些基本的信息。“Target dir”是指ActiveForm要分发的目的地位置。“Target URL”指的是此ActiveX组件于HTML首页中codebase tag的位置。“HTML dir”指的是存这个HTML的首页文件的位置。


  2.在程序员正确地输入了上述的信息之后,就可以选择“Project”—〉“Web Deploy”,开始分发ActiveForm组件到Web Server之中,如图2所示。


  


  


                  





  二、编写 .asp文件调用ActiveX组件


  在组件分发的Web Server目录下编写.asp文件,通过.asp文件调用ActiveX组件。在本例中,ycgcrjb_clgc.asp文件中,codebase指出了安装信息文件YCGCRJBP.inf 。


  ycgcrjb_clgc.asp文件程序清单如下:


  <%@ Language=VBScript %>


  <!--#include file="verify.inc"-->


  <HTML>


  <body><center>


  <OBJECT


   classid="clsid:D85F42AA-02C2-434B-A8DF-5B7D4B2B9D69"


   codebase="./YCGCRJBP.inf"


   width=358


   height=187


   align=center


   hspace=0


   vspace=0


   VIEWASTEXT id=YCGCRJB1>


   <param NAME="ip" VALUE="<%=session("rdsip")%>">


  </OBJECT>


  </BODY>


  </HTML>


  安装信息文件YCGCRJBP.inf中的YCGCRJBP.ocx就是本例中的ActiveX组件文件。


  YCGCRJBP.inf文件程序清单如下:;Delphi-generated INF file for YCGCRJBP.ocx


  [Add.Code]


  YCGCRJBP.ocx=YCGCRJBP.ocx


  midas.dll=midas.dll


  


  [YCGCRJBP.ocx]


  file=./YCGCRJBP.cab


  clsid={D85F42AA-02C2-434B-A8DF-5B7D4B2B9D69}


  RegisterServer=yes


  FileVersion=1,0,71,0


  [midas.dll]


  file=./midas.cab


  FileVersion=7,0,4,453


  


  三、在IE中进行测试


  现在我们就可以在IE中测试这个ActiveForm是否可以正常工作。当用户使用IE浏览某一内含ActiveX组件的页面时,IE首先会检查客户端的机器之中是否已经注册了这个ActiveX组件,如果没有,那么IE会从Web Server上下载此ActiveX组件,注册并执行它。在本例中,用户只需要在IE的URL处输入.asp文件的地址如下:


  10.188.52.36/divs/ycgcrjb_clgc.asp">http://10.188.52.36/divs/ycgcrjb_clgc.asp


  则显示“产量构成曲线”程序运行窗口,用户可以反复交互使用。程序运行后显示图3所示界面。


TOP

发新话题