明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ActiveX 組件

[摘要]當(dāng)你用 ASP 編寫服務(wù)器端應(yīng)用程序時(shí),必須依靠 ActiveX 組件來(lái)強(qiáng)大 Web 應(yīng)用程序的功能,譬如:你需要連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行在線操作等等,本文從本篇開始將陸續(xù)給大家介紹 ASP ActiveX 組件的使用方法。 從今天開始我們將正式學(xué)習(xí) ASP 的精華部分 --ActiveX 組件...

當(dāng)你用 ASP 編寫服務(wù)器端應(yīng)用程序時(shí),必須依靠 ActiveX
組件來(lái)強(qiáng)大 Web
應(yīng)用程序的功能,譬如:你需要連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行在線操作等等,本文從本篇開始將陸續(xù)給大家介紹
ASP ActiveX 組件的使用方法。


從今天開始我們將正式學(xué)習(xí) ASP 的精華部分 --ActiveX
組件。事實(shí)上,當(dāng)你用 ASP 編寫服務(wù)器端應(yīng)用程序時(shí),必須依靠
ActiveX 組件來(lái)強(qiáng)大 Web
應(yīng)用程序的功能,譬如:你需要連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行在線操作或者對(duì)
WEB 服務(wù)器上的文件系統(tǒng)進(jìn)行操作,亦或你需要一個(gè) WEB
廣告交換程序,所有這一切你都必須通過(guò)調(diào)用 ASP 內(nèi)建的 ActiveX
組件或自己編寫所需的組件來(lái)完成。


那么,究竟什么是 ActiveX 組件呢?它又是如何運(yùn)作的呢?其實(shí)
ActiveX 組件是一個(gè)存在于 WEB
服務(wù)器上的文件,該文件包含執(zhí)行某項(xiàng)或一組任務(wù)的代碼,組件可以執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。例如,股票行情收?qǐng)?bào)機(jī)組件可以在
Web 頁(yè)上顯示最新的股票報(bào)價(jià)。當(dāng)你在 WEB 服務(wù)器上安裝完 ASP
環(huán)境后,就可以直接使用它自帶的幾個(gè)常用組件,如 Database Access
組件。當(dāng)然你也可以從第三方開發(fā)者處獲得可選的組件 ,
也可以編寫自己的組件。你可以利用組件作為腳本和基于 Web
應(yīng)用程序的基本構(gòu)造塊,只要知道如何訪問(wèn)組件提供的對(duì)象,即使你是位編寫腳本的新手,也可以在不了解組件運(yùn)作方式的情況下編寫
ASP 程序?偠灾, ActiveX
組件使您不用學(xué)習(xí)復(fù)雜的編程就能夠?qū)懗鰪?qiáng)大的 WEB
服務(wù)器端腳本。如果您是位 Web
應(yīng)用程序的開發(fā)者,可以使用任何支持組件對(duì)象模型(COM)的語(yǔ)言來(lái)編寫組件,如,
C、 C++、 Java 或 Visual Basic。如果你熟悉 COM 編程, ActiveX 組件就是
Automation 服務(wù)器。但是要在 Web 服務(wù)器上運(yùn)行, ActiveX
組件不能有圖形用戶接口元素,如 Visual Basic 的 MsgBox
函數(shù)。組件是可以重復(fù)使用的。在 Web
服務(wù)器上安裝了組件后,就可以從 ASP 腳本、 ISAPI
應(yīng)用程序、服務(wù)器上的其他組件或由另一種 COM
兼容語(yǔ)言編寫的程序中調(diào)用該組件。


那么我們?cè)?ASP
中應(yīng)該如何調(diào)用組件呢?如前所述,組件是包含在動(dòng)態(tài)鏈接庫(kù) (.dll)
或可執(zhí)行文件 (.exe)
中的可執(zhí)行代碼。組件可以提供一個(gè)或多個(gè)對(duì)象以及對(duì)象的方法和屬性。要使用組件提供的對(duì)象,我們首先要?jiǎng)?chuàng)建對(duì)象的實(shí)例并將這個(gè)新的實(shí)例分配變量名。使用
ASP 的 Server.CreateObject
方法可以創(chuàng)建對(duì)象的實(shí)例。接著,使用腳本語(yǔ)言的變量分配指令為對(duì)象實(shí)例命名。創(chuàng)建對(duì)象實(shí)例時(shí),必須提供實(shí)例的注冊(cè)名稱“PROGID”。如下要?jiǎng)?chuàng)建一個(gè)
Ad Rotator 對(duì)象的實(shí)例 :



< % Set MyAds = Server.CreateObject("MSWC.AdRotator") %>



我們必須使用 ASP 的 Server.CreateObject
方法來(lái)創(chuàng)建對(duì)象實(shí)例,否者 ASP 無(wú)法跟蹤腳本語(yǔ)言中對(duì)象的使用。



使用 HTML< OBJECT> 標(biāo)簽同樣可以創(chuàng)建對(duì)象實(shí)例,但必須為
RUNAT
屬性提供服務(wù)器值,同時(shí)也要為將在腳本語(yǔ)言中使用的變量名提供 ID
屬性組。使用注冊(cè)名 (PROGID) 或注冊(cè)號(hào)碼 (CLSID)
可以識(shí)別該對(duì)象。下面的例子使用注冊(cè)名 (PROGID) 創(chuàng)建 Ad Rotator
對(duì)象的實(shí)例:



< OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator"><
/OBJECT>



下面列出了 ASP 可安裝的常用組件。





Ad Rotator
創(chuàng)建一個(gè) AdRotator
對(duì)象,該對(duì)象可按指定計(jì)劃在同一頁(yè)上自動(dòng)輪換顯示廣告。



Browser Capabilities
創(chuàng)建一個(gè) BrowserType 對(duì)象,該對(duì)象決定訪問(wèn) Web
站點(diǎn)的每個(gè)瀏覽器的性能、類型及版本。



Database Access
提供用 ActiveX Data Objects (ADO) 對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。



Content Linking
創(chuàng)建一個(gè) NextLink 對(duì)象,該對(duì)象可生成 Web
頁(yè)內(nèi)容列表,并象書一樣將各頁(yè)順續(xù)連接。



File Access 組件
提供文件的輸入輸出訪問(wèn)。



Collaboration Data Objects for NTS 組件
可以快速、簡(jiǎn)便的在 Web 頁(yè)上添加收發(fā)郵件功能。該組件只適用于
Internet Information Server for Windows NT&reg; Server 。



MyInfo
創(chuàng)建一個(gè) MyInfo
對(duì)象,該對(duì)象追蹤個(gè)人信息,例如站點(diǎn)管理員的姓名、地址及顯示選擇。




Counters
創(chuàng)建一個(gè) Counters
對(duì)象,該對(duì)象可以創(chuàng)建、保存、增加或檢索任意數(shù)量的獨(dú)立計(jì)數(shù)器。




Content Rotator
自動(dòng)翻轉(zhuǎn) Web 主頁(yè)上的 HTML 內(nèi)容字符串。



Page Counter
記錄并顯示 Web 頁(yè)被打開的次數(shù)。






現(xiàn)在 WEB
廣告幾乎充斥了整個(gè)網(wǎng)絡(luò),那么究竟如何在你自己的網(wǎng)站上建立一個(gè)符合廣告領(lǐng)域標(biāo)準(zhǔn)功能的廣告系統(tǒng)呢?答案是利用
ASP AD Rotator 組件 ! 它允許在每次訪問(wèn) ASP
頁(yè)面時(shí)在頁(yè)面上顯示新的廣告,并且提供了很強(qiáng)的功能,例如 :
旋轉(zhuǎn)顯示在頁(yè)面上的廣告圖象的能力、跟蹤特定廣告顯示次數(shù)的能力以及跟蹤客戶端在廣告上單擊次數(shù)的能力。
AD Rotator 組件的工作是通過(guò)讀取 AD Rotator
計(jì)劃文件來(lái)完成的,該文件包括與要顯示的圖象文件的地點(diǎn)有關(guān)的信息以及每個(gè)圖象的不同屬性,下面就是一個(gè)標(biāo)準(zhǔn)的
AD Rotator 計(jì)劃文件 :

---ADROT.TXT---

REDIRECT /scripts/adredir.asp

WIDTH 440

HEIGHT 60

BORDER 1

*

ads/homepage/chinabyte.gif

http://www.chinabyte.com/

Check out the IT site

2

ads/homepage/gamichlg.gif

-

Sponsored by Flyteworks

3

ads/homepage/asp.gif

http:// www.aspallian.com/

Good ASP site on net

3

ads/homepage/spranklg.gif

http://www.clocktower.com/

The #1 Sports site on the net

2


該段代碼的前四行包含廣告的全局設(shè)置。 Redirect
行指出廣告將成為其熱連接的 URL, 注意這里不是為廣告本身指定的
URL,而是將調(diào)用的中間頁(yè)面的 URL,這樣我們就可以通過(guò)這個(gè)中間頁(yè)面跟蹤單擊廣告的次數(shù)。該
Redirect URL 將與包含兩個(gè)參數(shù)的查詢字符串一起調(diào)用 :
特定廣告主頁(yè)的 URL 和圖象文件的 URL。星號(hào)上面的其余三行簡(jiǎn)單說(shuō)明如何顯示廣告。前兩行以像素為單位指定網(wǎng)頁(yè)上廣告的寬度和高度,默認(rèn)值是
440 和 60
個(gè)像素。后一行,同樣是以像素為單位指定廣告四周超鏈接的邊框?qū)挾?
, 默認(rèn)值是 1 個(gè)像素。如果將該參數(shù)設(shè)置為 0,則將沒(méi)有邊框。



星號(hào)下面的行以每四行為一個(gè)單位描述每個(gè)廣告的細(xì)節(jié)。在此例中共有
16 行,描述四個(gè)廣告。每個(gè)廣告的描述包含圖象文件的 URL、廣告的主頁(yè)
URL(如果廣告客戶沒(méi)有主頁(yè),請(qǐng)?jiān)谠撔袑懮弦粋(gè)連字符“-”,指出該廣告沒(méi)有鏈接)和圖象的替代文字以及指定該頁(yè)與其他頁(yè)交替顯示頻率的數(shù)值。



圖象是重定向頁(yè)面的熱連接,它在查詢字符串中設(shè)置了兩個(gè)值,
url=/scripts/adredir.asp 以及 image=/ads/homepage/asp.gif。要確定廣告顯示的頻率,可以將計(jì)劃文件中所有廣告的權(quán)值相加,在該例中總數(shù)是
10,那么 aspallian 的廣告權(quán)值為 3,這意味著 AdRotator
組件每調(diào)用十次,它則顯示 3 次。


重定向文件是用戶創(chuàng)建的文件。它通常包含用來(lái)解析由 AdRotator
對(duì)象發(fā)送的查詢字符串的腳本并將用戶重定向到與用戶所單擊的廣告所相關(guān)的
URL。用戶也可以將腳本包含進(jìn)重定向文件中,以便統(tǒng)計(jì)單擊某一特定廣告的用戶的數(shù)目并將這一信息保存到服務(wù)器上的某一文件中。增加計(jì)數(shù)器和重定向用戶是通過(guò)下面兩行
ASP 腳本來(lái)實(shí)現(xiàn)的 :

< %

Counter.Increment(request.querystring("url"))

response.redirect(request.querystring("url"))

%>




現(xiàn)在我們看一下 Ad Rotator
組件是如何在頁(yè)面中使用的,首先必須使用 Server.CreateObject
方法實(shí)例化 Ad Rotator 對(duì)象。 Ad Rotator 組件的 PROGID 屬性是 MSWC.AdRotator。完整的代碼如下
:

< % Set ad = Server.CreateObject("MSWC.AdRotator") %>

< %= ad.GetAdvertisement("/ads/adrot.txt") %>



Ad Rotator 組件支持的唯一方法是 GetAdvertisement,它只有一個(gè)參數(shù)
:AdRotator
計(jì)劃文件的名稱。注意指向文件的路徑是從當(dāng)前虛擬目錄的相對(duì)路徑,物理路徑是不允許的。
GetAdvertisement 方法從 Rotator
計(jì)劃文件中獲取下一個(gè)計(jì)劃廣告的詳細(xì)說(shuō)明并將其格式化為 HTML
格式。下面的 HTML 由GetAdvertisement
方法生成且被添加到網(wǎng)頁(yè)的輸出中,以便顯示 Rotator
計(jì)劃文件中的下一個(gè)廣告。

< A
><
IMG

SRC="http://www.chinabyte.com/ads/homepage/asp.gif" ALT="Good ASP site on
net" WIDTH=440 HEIGHT=60 BORDER=1>< /A>




使用 AdRotator
組件我們可以直接通過(guò)對(duì)象屬性而不是計(jì)劃文件中的設(shè)置來(lái)直接控制某些廣告特性,其可用屬性如下
:



Border 指定廣告邊框的大小。



Clickable 指定廣告是否為超鏈接。



TargetFrame 指定顯示廣告的框架的名稱。

< %

Set ad = Server.CreateObject("MSWC.AdRotator")

ad.Border = 0

ad.Clickable = true

ad.TargetFrame = AdFrame

ad.GetAdvertisement("/ads/adrot.txt")

%>


通過(guò)上面的學(xué)習(xí),相信你已經(jīng)能夠熟練運(yùn)用 ASP 的內(nèi)建 AdRotator
組件為自己的網(wǎng)站建立一個(gè)標(biāo)準(zhǔn)的廣告顯示程序了。你是否難以相信一切竟是如此的簡(jiǎn)單?其實(shí)真正能令你震驚的還在后頭呢,敬請(qǐng)關(guān)注下一篇
ASP ActiveX 組件大揭密。ǔ鎏帲簾狳c(diǎn)網(wǎng)絡(luò))


標(biāo)簽:ActiveX 組件