程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 使用Delphi 6實現B/S模式下的復雜程序

使用Delphi 6實現B/S模式下的復雜程序

編輯:Delphi

引:開發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文件的地址如下:

  http://10.188.52.36/divs/ycgcrjb_clgc.asp

  則顯示“產量構成曲線”程序運行窗口,用戶可以反復交互使用。程序運行後顯示圖3所示界面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved