台灣最大程式設計社群網站
線上人數
2758
 
會員總數:246224
討論主題:189786
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 示範如何建立 COM Finance 元件
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
示範如何建立 COM Finance 元件
價值 : 0 QP  點閱數:1800 回應數:0
樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員
建立 COM Finance 元件

假定您要建立一個 Web 應用程式,以便使用 VBScript 所沒有的功能。
由於 VBScript 不提供財務函數。您必須明確定義並建立一個含有這種功能的指令程序。
然後視需要從應用程式中的指令檔呼叫這個程序。

一般來說,這種作法是納入自訂功能的恰當解決方式。
不過,您要建立一個為數以千計的使用者服務的 Web 應用程式,而且您的邏輯要包含專用的函數,您能想像嗎?
在這種案例中,將您的功能包裝在元件中,是一種絕佳的解決方式。
元件的安全性和效能都比指令檔好。

在這一課中,您要學習如何建立一個函數,並納入為一個元件,以便根據固定的利率,和定期定額的付款,計算一項投資的將來的價值。


啟動 Visual Basic

按一下 [開始],指向 [程式集],然後指向 [Microsoft Visual Basic 5.0]

按一下子功能表中的 [Visual Basic 5.0],以便執行設計環境。

開始一個專案並為其命名

在 [新專案] 對話方塊中,連按兩下 ActiveX DLL。

在 [專案] 功能表上,按一下 [專案內容]。

在 [一般] 內容表的 [內容名稱] 方塊中,鍵入 MS。

選取 [自動執行]。

注意事項 您選取這個選項,所以專案會在不需要使用者互動的情況下執行,而且沒有使用者介面。

按一下 [確定]。

現在這個專案叫做 MS。以後您要從一個 ASP 指令參照 Finance 伺服器元件,其名稱為 MS.Finance。

新增 Finance 類別到專案

在 Visual Basic 中,如果要用一套您能呼叫的功能建立元件,就要定義一個類別。一個類別會將方法和內容分類成群組。在您的專案中,這就是您要指定您的 finance 方法的地方。

按 F4 為類別模組開啟 [內容] 視窗,然後連按兩下 [名稱] 內容,並鍵入 Function,然後按 Enter。

連按兩下 [例項化]。

按一下箭號,然後選取 5 - MultiUse。

進一步學習 Visual Basic Finance 函數

Visual Basic 的「說明」系統會描述可以使用的財務函數。

按一下 [說明]。

選取 [Microsoft Visual Basic 說明主題]。

選取 [索引] 標籤,然後鍵入「財務函數」作為要尋找的字。

連按兩下 [財務函數] 索引項目。

按一下 [FV 函數] 以便多瞭解這個函數。

檢視完財務函數之後,關閉 [Visual Basic 說明] 對話方塊。

新增 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 程序。

在 [專案] 功能表中,選取 [新增模組] 。

在 [模組] 對話方塊中,連按兩下模組圖示。

在 [模組 1] 程式碼視窗中,鍵入 Sub Main。

按 Enter。

這樣可以自動輸入下列程式碼:



Sub Main()

End Sub

儲存 Finance 專案

儲存工作時,必須將 Visual Basic 專案的三個部分全都儲存起來。 包括專案的檔案、類別模組以及程式碼模組。



開啟 [檔案] 功能表。

選取 [儲存專案]。

在 [檔案名稱] 文字方塊中,鍵入 Finance。
選取 localhost Web 伺服器上的下列路徑: DriveLetter:\Winnt\System32\Inetsrv\ 其中的 DriveLetter 是對應到適當磁碟機的字母。(如果您沒接受預設的安裝目錄,請以您的安裝目錄取代 \Winnt\System32。)

按一下 [儲存] 按鈕。

如果已經有其他使用者完成這個課程的這一部分,便會有一個訊息表示檔案已經存在。請儲存您的檔案以取代舊版檔案。



連按兩下 [檔案名稱] 文字方塊中的數值 Project1 加以選取。

鍵入 Finance 作為專案檔 (.vbp) 的名稱。

按一下 [儲存] 將專案儲存起來。

如果已經有其他使用者完成這個課程的這一部分,便會有一個訊息表示檔案已經存在。請儲存您的檔案以取代舊版的檔案。



使元件成為作業範圍內的元件

Visual Basic 可以讓您建立作業範圍內的 COM 元件 (先前叫做 OLE 自動伺服器) 和作業範圍外的 COM 元件。
作業範圍內 COM 元件是一個會被呼叫作業載入的動態連結程式庫 (副檔名是 .dll)。
作業範圍外 COM 元件則是一個獨立於呼叫應用程式的作業之外執行的執行檔 (副檔名是 .exe)。
作業範圍內元件的作業空間跟呼叫程式的一樣,因此效能比作業範圍外的元件好。



使 Finance 伺服器元件成為作業範圍內的 COM 元件



開啟 [檔案] 功能表。

選取 [製作 Finance.dll]。

按一下 [選項] 按鈕。

選取 [自動增量] 核取方塊。

按一下 [確定]。

鍵入 DriveLetter:\localhost\Winnt\System32\Inetsrv\Finance 其中的 DriveLetter 是對應到您的電腦上的適當磁碟機的代號。(如果您沒接受預設的安裝目錄,請以您的安裝目錄取代 \Winnt\System32。)

如果已經有其他使用者完成這個課程的這一部分,便會有一個訊息表示檔案已經存在。請儲存您的檔案以取代舊版的檔案。

結束 Visual Basic。

登錄 Finance 伺服器元件

所有的伺服器元件都必須登錄。Windows 會利用系統登錄追蹤可以使用的伺服器元件。
登錄 Finance 伺服器元件之後,這個元件便可以供 VBScript 以及您的電腦上其他與 OLE 相容的所有語言呼叫。



開啟一個指令提示字元視窗。

在指令提示字元處鍵入 cd DriveLetter:\localhost\Winnt\System32\Inetsrv ,其中的 DriveLetter 是對應到您的電腦上的適當磁碟機的字母。(如果您沒接受預設的安裝目錄,請以您的安裝目錄取代 \Winnt\System32。)

按 Enter。

鍵入 regsvr32 Finance.dll。

按 Enter。

當出現的對話方塊表示 DllRegisterServer in finance.dll succeeded時,按一下 [確定]。

關閉指令提示字元視窗。

--------------------------------------------------------------------------------

第二課:從指令檔呼叫 Finance 元件

如果要測試元件,您可以從 Active Server Pages (ASP)、Visual Basic、用 Visual Basic 編寫應用程式的 Microsoft® Office 產品或者其他 OLE 自動控制器呼叫元件。

如果要利用 VBScript 從 Active Server Pages 呼叫 Finance 伺服器元件,您可以利用一個 HTML 表單作為輸入,以計算個人儲蓄計劃的未來價值。

HTML 表單

HTML 表單會被用來收集描述儲蓄計劃的數值。這些數值會被指定給變數,以便供作為 Request 物件一部分的 ASP 指令檔使用。
您可以參照來自 HTML 表單的一個數值。例如,輸入表單的年百分比可以被一個使用 Request("APR") 的指令檔參照。
HTML 標記 <INPUT TYPE=TEXT NAME=APR> 提供輸入數值所需的輸入欄位。

如果要將表單傳送給執行 ASP 的 Microsoft Web 伺服器,使用者要按一下 [傳送] 按鈕。
[傳送] 按鈕會呼叫 HTML 表單標記的 ACTION 內容指定的網頁。[傳送] 按鈕的 HTML 標記 (<INPUT TYPE=SUBMIT VALUE="計算未來價值">) 會從 HTML 表單標記 (<FORM METHOD=POST ACTION="Finance.asp">) 呼叫 ASP 網頁 Finance.asp。

我們已經為您建立了表單。請用您的文字編輯器開啟 localhost Web 伺服器的 Tutorial 目錄(c:\winnt\help\iishelp\iis\htm\tutorial)中的 FVform.asp。



指令檔

您要用 VBScript 呼叫您的 Finance 伺服器元件。指令檔會先驗證 HTML 表單的輸入,並為表單上未輸入的數值指定預設值。 VBScript IsNumeric 函數會測試 HTML 表單的各個方塊輸入的是否是數字 (有效的) 值。



Server.CreateObject 後面的指令行會為您的名為 MS.Finance的 Finance 元件建立一個例項 (也就是說,使它變成可以使用)。建立元件的例項之後,您便可以使用它的方法和內容。 Server.CreateObject 後面的指令行會利用 CalcFV 方法計算儲蓄計劃未來的價值。計算的結果會出現在要求資訊的使用者的瀏覽器上。

如果要檢視指令檔,請用文字編輯器開啟在 Tutorial 目錄 (c:\winnt\help\iishelp\iis\htm\tutorial) 中的檔案 Finance.asp 。

用您的瀏覽器進行測試

如果要執行 Finance ASP 網頁,請開啟 FVform.asp 檔案,這個檔案會產生一個表單,然後呼叫 Finance.asp 指令檔來計算表單中指定的儲蓄計劃的未來價值。

開啟 FVform.htm,方法是將您的瀏覽器指向 http://localhost/iishelp/iis/htm/tutorial/FVform.asp。

在儲蓄計劃表單中輸入數值。

按一下 [計算未來價值] 按鈕,您的儲蓄計劃的價值就會出現。

您已經在一段很短的時間裡建立了有用的 COM 元件。如果您需要存取其他財務函數,可以內建於 Visual Basic 中作為您的 Finance 伺服器元件的附屬方法,以便使用其他財務函數。我們建議您進行各種試驗,以便以富於創意的方式利用您自己的 COM 元件。您很快就會發現,您可以用元件開發出來的 Web 應用程式幾乎是沒有限制的。

本篇文章發表於2001-01-15 00:00
目前尚無任何回覆
   

回覆
如要回應,請先登入.