使用ActiveX組件_第1頁
使用ActiveX組件_第2頁
使用ActiveX組件_第3頁
使用ActiveX組件_第4頁
使用ActiveX組件_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第8章章 使用使用ActiveX組件組件8.1 什么是什么是ActiveX組件組件8.2 廣告輪顯組件廣告輪顯組件8.3 瀏覽器性能組件瀏覽器性能組件8.4 文件超鏈接組件文件超鏈接組件8.5 文件存取組件文件存取組件8.6 計(jì)數(shù)器組件計(jì)數(shù)器組件習(xí)題習(xí)題8.1 什么是什么是ActiveX組件組件 ActiveX組件是一個(gè)存在于組件是一個(gè)存在于 Web服務(wù)器上的文件,該服務(wù)器上的文件,該文件包含執(zhí)行某項(xiàng)或某一組任務(wù)的代碼,組件可以文件包含執(zhí)行某項(xiàng)或某一組任務(wù)的代碼,組件可以執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。一句話,是他人已經(jīng)設(shè)計(jì)編

2、寫好的一些務(wù)的代碼。一句話,是他人已經(jīng)設(shè)計(jì)編寫好的一些程序。例如,廣告輪顯組件可以在程序。例如,廣告輪顯組件可以在Web頁上輪流顯頁上輪流顯示廣告。在示廣告。在Web服務(wù)器上安裝完服務(wù)器上安裝完ASP 環(huán)境后,就可環(huán)境后,就可以直接使用它自帶的幾個(gè)常用組件了,你可以利用以直接使用它自帶的幾個(gè)常用組件了,你可以利用組件作為腳本和基于組件作為腳本和基于Web應(yīng)用程序的基本構(gòu)造塊,應(yīng)用程序的基本構(gòu)造塊,只要知道如何訪問組件提供的對(duì)象就行了??偠灾灰廊绾卧L問組件提供的對(duì)象就行了??偠灾?,之,ActiveX組件可以使你不用學(xué)習(xí)復(fù)雜的編程就能組件可以使你不用學(xué)習(xí)復(fù)雜的編程就能夠?qū)懗龉δ軓?qiáng)大的程序。

3、夠?qū)懗龉δ軓?qiáng)大的程序。 組件可以提供一個(gè)或多個(gè)對(duì)象以及對(duì)象的方法組件可以提供一個(gè)或多個(gè)對(duì)象以及對(duì)象的方法和屬性。調(diào)用組件就是要使用組件提供的對(duì)象,和屬性。調(diào)用組件就是要使用組件提供的對(duì)象,首先要?jiǎng)?chuàng)建對(duì)象的實(shí)例并將這個(gè)新的實(shí)例分配首先要?jiǎng)?chuàng)建對(duì)象的實(shí)例并將這個(gè)新的實(shí)例分配變量名。使用變量名。使用ASP的的Server.CreateObject方法可方法可以創(chuàng)建對(duì)象的實(shí)例。實(shí)例是一個(gè)對(duì)象的具體例以創(chuàng)建對(duì)象的實(shí)例。實(shí)例是一個(gè)對(duì)象的具體例子,它具有原對(duì)象的一切功能、屬性和方法。子,它具有原對(duì)象的一切功能、屬性和方法。可用下面的方式創(chuàng)建一個(gè)對(duì)象的實(shí)例:可用下面的方式創(chuàng)建一個(gè)對(duì)象的實(shí)例:Set 對(duì)象實(shí)例名稱

4、對(duì)象實(shí)例名稱= Server.CreateObject(PROGID字符串字符串) 其中其中PROGID 字符串為該對(duì)象于操作系統(tǒng)上字符串為該對(duì)象于操作系統(tǒng)上注冊(cè)表的識(shí)別字。例如下面就是一個(gè)定義對(duì)象注冊(cè)表的識(shí)別字。例如下面就是一個(gè)定義對(duì)象實(shí)例的語句:實(shí)例的語句:注意必須使用注意必須使用ASP的的Server.CreateObject方法方法來創(chuàng)建對(duì)象實(shí)例,否則來創(chuàng)建對(duì)象實(shí)例,否則ASP無法跟蹤程序中的無法跟蹤程序中的對(duì)象。對(duì)象。8.2 廣告輪顯組件廣告輪顯組件 現(xiàn)在現(xiàn)在Web廣告幾乎充斥了整個(gè)網(wǎng)絡(luò),那么能廣告幾乎充斥了整個(gè)網(wǎng)絡(luò),那么能不能編寫一個(gè)符合廣告領(lǐng)域標(biāo)準(zhǔn)功能的廣告不能編寫一個(gè)符合廣告領(lǐng)

5、域標(biāo)準(zhǔn)功能的廣告程序呢?答案是完全可以,只要你使用程序呢?答案是完全可以,只要你使用ASP的的AD Rotator組件。它允許在每次訪問組件。它允許在每次訪問ASP頁面時(shí)在頁面上顯示新的廣告,并且提供了頁面時(shí)在頁面上顯示新的廣告,并且提供了很強(qiáng)的功能,例如:旋轉(zhuǎn)顯示在頁面上的廣很強(qiáng)的功能,例如:旋轉(zhuǎn)顯示在頁面上的廣告圖像的能力、跟蹤特定廣告顯示次數(shù)的能告圖像的能力、跟蹤特定廣告顯示次數(shù)的能力以及跟蹤客戶端在廣告上單擊次數(shù)的能力。力以及跟蹤客戶端在廣告上單擊次數(shù)的能力。建立廣告輪顯的步驟如下:建立廣告輪顯的步驟如下:(1) 先準(zhǔn)備先準(zhǔn)備4個(gè)個(gè).gif圖像文件,如例圖像文件,如例8.1中的中的1.

6、gif、2.gif、3.gif、4.gif,將其存放在當(dāng)前執(zhí)行文件的目錄下。將其存放在當(dāng)前執(zhí)行文件的目錄下。(2) 建立一個(gè)顯示廣告的計(jì)劃文件,要把它保存為后綴名建立一個(gè)顯示廣告的計(jì)劃文件,要把它保存為后綴名為為.txt的文本文件,如的文本文件,如8.1.txt也存放在當(dāng)前執(zhí)行文件的也存放在當(dāng)前執(zhí)行文件的目錄下。目錄下。例例8.1下面是一個(gè)標(biāo)準(zhǔn)格式的計(jì)劃文件,文件名為下面是一個(gè)標(biāo)準(zhǔn)格式的計(jì)劃文件,文件名為8-1.txt。REDIRECT 8.2.aspWIDTH 240 HEIGHT 60 BORDER 1 *1.gif http:/ http:/ http:/ 北方交通大學(xué)北方交通大學(xué)34.

7、gif http:/ 2計(jì)劃文件格式:計(jì)劃文件格式:REDIRECT 單擊廣告后執(zhí)行的文件單擊廣告后執(zhí)行的文件WIDTH 廣告圖片的寬度廣告圖片的寬度 HEIGHT廣告圖片的高度廣告圖片的高度BORDER 廣告圖片的邊框大小廣告圖片的邊框大小 *廣告圖片名稱廣告圖片名稱超鏈接網(wǎng)址超鏈接網(wǎng)址廣告說明廣告說明廣告出現(xiàn)的比例廣告出現(xiàn)的比例 . 注意:注意: 因?yàn)橐驗(yàn)锳D Rotator 組件的工作是通過讀取組件的工作是通過讀取AD Rotator計(jì)劃文件來完成的,所以計(jì)劃文件是按固定計(jì)劃文件來完成的,所以計(jì)劃文件是按固定格式編寫的。計(jì)劃文件的前格式編寫的。計(jì)劃文件的前5行不可以省略,所有的行不可以省

8、略,所有的廣告數(shù)據(jù)放在廣告數(shù)據(jù)放在*符號(hào)下面,每個(gè)廣告信息包括符號(hào)下面,每個(gè)廣告信息包括4個(gè)信息個(gè)信息也不可以省略。也不可以省略。計(jì)劃文件的前計(jì)劃文件的前4行包含廣告的全局設(shè)置。行包含廣告的全局設(shè)置。第第1行指出廣告將成為其熱鏈接的行指出廣告將成為其熱鏈接的URL。注意,這里注意,這里不是為廣告本身指定的不是為廣告本身指定的URL,而是將調(diào)用的頁面的而是將調(diào)用的頁面的URL,這樣你就可以通過這個(gè)頁面跟蹤單擊廣告的這樣你就可以通過這個(gè)頁面跟蹤單擊廣告的次數(shù)。該次數(shù)。該 URL 將與包含兩個(gè)參數(shù)的查詢字符串一起將與包含兩個(gè)參數(shù)的查詢字符串一起調(diào)用:特定廣告主頁的調(diào)用:特定廣告主頁的URL和圖像文件

9、的和圖像文件的URL。其其余余3行簡單說明如何顯示廣告。行簡單說明如何顯示廣告。第第2和第和第4行以像素為單位指定網(wǎng)頁上廣告的寬度和高行以像素為單位指定網(wǎng)頁上廣告的寬度和高度,默認(rèn)值是度,默認(rèn)值是440和和60個(gè)像素。個(gè)像素。第第4行以像素為單位指定廣告四周的邊框?qū)挾?,默認(rèn)行以像素為單位指定廣告四周的邊框?qū)挾?,默認(rèn)值是值是1個(gè)像素。如果將該參數(shù)設(shè)置為個(gè)像素。如果將該參數(shù)設(shè)置為 0,則沒有邊框。,則沒有邊框。星號(hào)星號(hào)(*)下面以每下面以每4行為一個(gè)單位描述每個(gè)廣告的細(xì)節(jié)。行為一個(gè)單位描述每個(gè)廣告的細(xì)節(jié)。在此例中共有在此例中共有16行,描述行,描述4個(gè)廣告。每個(gè)廣告的描述個(gè)廣告。每個(gè)廣告的描述包含

10、圖像文件的包含圖像文件的URL、廣告的主頁廣告的主頁URL(如果廣告客如果廣告客戶沒有主頁,請(qǐng)?jiān)谠撔袑懮弦粋€(gè)連字符戶沒有主頁,請(qǐng)?jiān)谠撔袑懮弦粋€(gè)連字符,指出,指出該廣告沒有鏈接該廣告沒有鏈接)和圖像的替代文字以及指定該頁與和圖像的替代文字以及指定該頁與其他頁交替顯示頻率的數(shù)值。其他頁交替顯示頻率的數(shù)值。圖像是重定向頁面的熱鏈接,要確定廣告顯示的頻率,圖像是重定向頁面的熱鏈接,要確定廣告顯示的頻率,可以將計(jì)劃文件中所有廣告的權(quán)值相加,在該例中總可以將計(jì)劃文件中所有廣告的權(quán)值相加,在該例中總數(shù)是數(shù)是10,那么搜狐的主頁的廣告權(quán)值為,那么搜狐的主頁的廣告權(quán)值為2,這意味著,這意味著 AD Rotato

11、r 組件每調(diào)用組件每調(diào)用10次,它則顯示次,它則顯示3次。次。圖圖8.1使用廣告輪顯使用廣告輪顯AD Rotator組件的步驟小結(jié):組件的步驟小結(jié):(1) 準(zhǔn)備廣告中使用的圖片文件,并確定保存的路徑;準(zhǔn)備廣告中使用的圖片文件,并確定保存的路徑;(2) 編寫廣告輪顯的計(jì)劃文件,并保存為文本文件;編寫廣告輪顯的計(jì)劃文件,并保存為文本文件;(3) 編寫插入廣告的編寫插入廣告的ASP文件和單擊廣告后轉(zhuǎn)向的頁文件和單擊廣告后轉(zhuǎn)向的頁面文件面文件(可省略可省略)。AD Rotator 組件支持的惟一方法是組件支持的惟一方法是GetAdvertisement,它只有一個(gè)參數(shù),即它只有一個(gè)參數(shù),即AD Rot

12、ator計(jì)劃文件的名稱。計(jì)劃文件的名稱。GetAdvertisement 方法從方法從Rotator計(jì)劃文件中獲取下計(jì)劃文件中獲取下一個(gè)計(jì)劃廣告的詳細(xì)說明并將其格式化為一個(gè)計(jì)劃廣告的詳細(xì)說明并將其格式化為HTML格式。格式。注意:注意: 指向文件的路徑是從當(dāng)前虛擬目錄的相對(duì)路指向文件的路徑是從當(dāng)前虛擬目錄的相對(duì)路徑,物理路徑是不允許的。徑,物理路徑是不允許的。 例例8.3單擊廣告后可打開的頁面文件,文件名為單擊廣告后可打開的頁面文件,文件名為8-2.asp。這里顯示的是當(dāng)前廣告的地址這里顯示的是當(dāng)前廣告的地址%url=Request.Querystring(url)if url then Re

13、sponse.Write url%單擊廣告時(shí)可看到圖單擊廣告時(shí)可看到圖8.2所示的頁面。通過更改所示的頁面。通過更改8.1.txt可改變單擊廣告后鏈接的頁面??梢宰鲆豢筛淖儐螕魪V告后鏈接的頁面。可以做一個(gè)公司產(chǎn)品介紹的頁面。還可以加上計(jì)數(shù)器,記個(gè)公司產(chǎn)品介紹的頁面。還可以加上計(jì)數(shù)器,記下單擊該廣告的次數(shù)。請(qǐng)你修改這個(gè)程序,加上下單擊該廣告的次數(shù)。請(qǐng)你修改這個(gè)程序,加上圖片、頁面的介紹和計(jì)數(shù)器。注意,添加計(jì)數(shù)器圖片、頁面的介紹和計(jì)數(shù)器。注意,添加計(jì)數(shù)器可是有技巧的,要好好動(dòng)動(dòng)腦子??墒怯屑记傻?,要好好動(dòng)動(dòng)腦子。圖圖8.28.3 瀏覽器性能組件瀏覽器性能組件 如今瀏覽器的種類很多,但并不是所有瀏覽

14、如今瀏覽器的種類很多,但并不是所有瀏覽器都支持現(xiàn)今器都支持現(xiàn)今Internet技術(shù)的方方面面。有一技術(shù)的方方面面。有一些特性,某些瀏覽器支持而另一些瀏覽器卻些特性,某些瀏覽器支持而另一些瀏覽器卻不支持,如:不支持,如:ActiveX組件、影像流、動(dòng)態(tài)組件、影像流、動(dòng)態(tài) HTML、Flash以及腳本程序等。使用以及腳本程序等。使用ASP的的Browser Capabilities組件,可了解瀏覽器的組件,可了解瀏覽器的性能。性能。 例例8.4看看瀏覽器都有什么性能。該程序文看看瀏覽器都有什么性能。該程序文件名為件名為8-3.asp。用用ASP提供的瀏覽器性能組件來辨別客戶瀏覽器提供的瀏覽器性能組

15、件來辨別客戶瀏覽器用用ASP提供的瀏覽器性能組件來辨別客戶瀏覽器提供的瀏覽器性能組件來辨別客戶瀏覽器瀏覽器的名稱瀏覽器的名稱 瀏覽器的版本瀏覽器的版本 Major Version Minor Version Frame 支持支持 表格支持表格支持 Cookie 支持支持 背景音樂支持背景音樂支持 VBScript 支持支持 JavaScript 支持支持用用http方式瀏覽該文件,根據(jù)使用的瀏覽器的不同,你會(huì)方式瀏覽該文件,根據(jù)使用的瀏覽器的不同,你會(huì)看到如圖看到如圖8.3所示的頁面。所示的頁面。圖圖8.3語法格式:語法格式:Set bc = Server.CreateObject(MSWC.

16、BrowserType)bc.屬性屬性 功能:建立功能:建立Browser Type對(duì)象的實(shí)例對(duì)象的實(shí)例bc,然后利用其屬性然后利用其屬性反映客戶端瀏覽器的性能。反映客戶端瀏覽器的性能。Browser: Type對(duì)象的屬性。對(duì)象的屬性。Browser: 指定該瀏覽器的名稱。指定該瀏覽器的名稱。Version: 指定該瀏覽器的版本號(hào)。指定該瀏覽器的版本號(hào)。majorver: 指定主版本號(hào)。指定主版本號(hào)。minorver: 指定副版本號(hào)。指定副版本號(hào)。frames=TRUE/FALSE: 指定該瀏覽器是否支持框架。指定該瀏覽器是否支持框架。tables=TRUE/FALSE: 指定該瀏覽器是否支持

17、表格。指定該瀏覽器是否支持表格。cookies=TRUE/FALSE: 指定該瀏覽器是否支持指定該瀏覽器是否支持cookies。backgroundsounds=TRUE/FALSE: 指定該瀏覽器是否支指定該瀏覽器是否支持背景音樂。持背景音樂。vbscript=TRUE/FALSE: 指定該瀏覽器是否支持指定該瀏覽器是否支持VBScript。javascript=TRUE/FALSE: 指定該瀏覽器是否支持指定該瀏覽器是否支持JScript。javaapplets=TRUE/FALSE: 指定該瀏覽器是否支持指定該瀏覽器是否支持 Java程序。程序。ActiveXControls=TRUE/

18、FALSE: 指定該瀏覽器是否支持指定該瀏覽器是否支持 ActiveX 控件??丶?。Win16=False: 指定該瀏覽器是否支持指定該瀏覽器是否支持Win16。beta=TRUE/FALSE: 指定該瀏覽器是否為測(cè)試版。指定該瀏覽器是否為測(cè)試版。cdf=True: 指定該瀏覽器是否支持用于指定該瀏覽器是否支持用于Web 預(yù)測(cè)預(yù)測(cè)的的 Channel Definition Format。8.4 文件超鏈接組件文件超鏈接組件例例8.5用文件超鏈接組件做出一個(gè)用文件超鏈接組件做出一個(gè)“向前向后超鏈接向前向后超鏈接點(diǎn)點(diǎn)”的的Web頁面。該程序文件名為頁面。該程序文件名為8-4.asp。這是一個(gè)文件超

19、鏈接組件的實(shí)例這是一個(gè)文件超鏈接組件的實(shí)例1) then%a href=上一頁上一頁a href=下一頁下一頁本頁在文本文件中的索引號(hào)為本頁在文本文件中的索引號(hào)為 在瀏覽器中該程序的運(yùn)行結(jié)果如圖在瀏覽器中該程序的運(yùn)行結(jié)果如圖8.4所示。所示。圖圖8.4這個(gè)例子的第一行用來聲明一個(gè)文件鏈接組件的實(shí)例為這個(gè)例子的第一行用來聲明一個(gè)文件鏈接組件的實(shí)例為NextLink,第二行則使用第二行則使用GetListIndex方法來判斷方法來判斷8.4.txt文本文件內(nèi)是否有超過一行的數(shù)據(jù),判斷結(jié)果為真,則顯文本文件內(nèi)是否有超過一行的數(shù)據(jù),判斷結(jié)果為真,則顯示當(dāng)前頁面示當(dāng)前頁面(8.4.asp)在在8.4.t

20、xt文本文件中的文本文件中的“上一頁上一頁”和和“下一頁下一頁”的超鏈接點(diǎn)。順序是由的超鏈接點(diǎn)。順序是由8.4.txt文本文件所確定文本文件所確定的。程序中使用文件鏈接組件的的。程序中使用文件鏈接組件的GetListIndex方法顯示了方法顯示了本頁在文本文件中的索引號(hào)。本頁在文本文件中的索引號(hào)。例例8.6這是這是8.4.asp文件中使用的文本文件,文件名為文件中使用的文本文件,文件名為8-4.txt。北方交通大學(xué)北方交通大學(xué)http:/ do while (i a href=在瀏覽器中程序的運(yùn)行結(jié)果如圖在瀏覽器中程序的運(yùn)行結(jié)果如圖8.5所示。所示。上面的上面的ASP文件通過運(yùn)用文件通過運(yùn)用d

21、o while循環(huán)語句來顯示文本文循環(huán)語句來顯示文本文件中所有的超鏈接點(diǎn)。件中所有的超鏈接點(diǎn)。例例8.8這是在這是在8.5.asp文件中使用的文件中使用的超鏈接列表的一個(gè)文本文件,文件名為超鏈接列表的一個(gè)文本文件,文件名為8-5.txt。圖圖 中國人的主頁中國人的主頁 北方交通大學(xué)北方交通大學(xué)和訊金融資訊網(wǎng)和訊金融資訊網(wǎng) 搜狐網(wǎng)搜狐網(wǎng)網(wǎng)易網(wǎng)易8.4.asp返回主頁返回主頁文件超鏈接組件引用了一個(gè)超鏈接列表文本文件,此文本文件超鏈接組件引用了一個(gè)超鏈接列表文本文件,此文本文件包含了所鏈接到的所有文件包含了所鏈接到的所有Web頁面的列表,此文本文件頁面的列表,此文本文件也存儲(chǔ)在也存儲(chǔ)在Web服務(wù)器

22、上。服務(wù)器上。超鏈接列表文件包含兩列,第一列是超鏈接列表文件包含兩列,第一列是URL地址地址(寫寫URL地地址時(shí)不要加上址時(shí)不要加上“http:/”符號(hào)符號(hào));第二列是;第二列是URL地址的地址的(中文中文)描述。描述。注意:注意: 每一行記錄數(shù)據(jù)必須使用回車鍵跳行分開,同一每一行記錄數(shù)據(jù)必須使用回車鍵跳行分開,同一行的數(shù)據(jù)要用行的數(shù)據(jù)要用Tab鍵分開。鍵分開。由上面的兩個(gè)例子可以總結(jié)出以下結(jié)論。由上面的兩個(gè)例子可以總結(jié)出以下結(jié)論。語法格式:語法格式:Set 實(shí)例名稱實(shí)例名稱= Server.CreateObject(MSWC.Nextlink) 參數(shù):參數(shù):實(shí)例名稱:指定了被實(shí)例名稱:指定了

23、被Server.CreateObject方法所創(chuàng)建的實(shí)方法所創(chuàng)建的實(shí)例的名字,可隨意選取,如例的名字,可隨意選取,如L,Nextlink。方法:方法:GetListCount(文本文件名文本文件名): 統(tǒng)計(jì)文本文件鏈接列表?xiàng)l統(tǒng)計(jì)文本文件鏈接列表?xiàng)l目的總數(shù)。目的總數(shù)。GetNextURL(文本文件名文本文件名): 讀取文本文件鏈接列表中讀取文本文件鏈接列表中的下一行的下一行URL地址。地址。GetPreviousDescription(文本文件名文本文件名): 讀取文讀取文本文件鏈接列表中上一行的超鏈接描述。本文件鏈接列表中上一行的超鏈接描述。GetListIndex(文本文件名文本文件名):

24、返回文本文件在返回文本文件在鏈接列表中的索引號(hào)碼。鏈接列表中的索引號(hào)碼。GetNthDescription(文本文件名文本文件名,N): 讀取文本讀取文本文件鏈接列表中連接的第文件鏈接列表中連接的第N個(gè)頁面的描述。個(gè)頁面的描述。GetPreviousURL(文本文件名文本文件名): 讀取文本文件讀取文本文件鏈接列表的上一行的鏈接列表的上一行的URL地址。地址。GetNextDescription(文本文件名文本文件名): 讀取文本讀取文本文件鏈接列表下一行數(shù)據(jù)的超鏈接描述。文件鏈接列表下一行數(shù)據(jù)的超鏈接描述。GetNthURL(文本文件名文本文件名,N): 讀取文本文件鏈讀取文本文件鏈接列表的

25、第接列表的第N個(gè)頁面的個(gè)頁面的URL地址。地址。8.5 文件存取組件文件存取組件 這里要介紹以下組件:這里要介紹以下組件: FileSystemObject: 這個(gè)對(duì)象包括了一些基這個(gè)對(duì)象包括了一些基本的對(duì)文件系統(tǒng)進(jìn)行操作的方法,比如說,本的對(duì)文件系統(tǒng)進(jìn)行操作的方法,比如說,復(fù)制和刪除文件夾或者文件。復(fù)制和刪除文件夾或者文件。 TextStream: 這個(gè)對(duì)象用來讀寫文件。這個(gè)對(duì)象用來讀寫文件。 File: 它的方法和屬性用來處理單獨(dú)的文件。它的方法和屬性用來處理單獨(dú)的文件。 Folder: 它的方法和屬性被用來處理文件夾。它的方法和屬性被用來處理文件夾。 下面分別介紹上述組件在對(duì)文件進(jìn)行操作

26、中下面分別介紹上述組件在對(duì)文件進(jìn)行操作中具體的使用方法。具體的使用方法。8.5.1 使用使用ASP程序動(dòng)態(tài)創(chuàng)建一個(gè)文本文件程序動(dòng)態(tài)創(chuàng)建一個(gè)文本文件可以使用可以使用FileSystemObject和和TextStream 對(duì)象來對(duì)象來創(chuàng)建一個(gè)文本文件并在其中寫入文字。創(chuàng)建一個(gè)文本文件并在其中寫入文字。方法是首先創(chuàng)建一個(gè)方法是首先創(chuàng)建一個(gè)FileSystemObject對(duì)象的實(shí)對(duì)象的實(shí)例,然后,再利用例,然后,再利用CreateTextFile()以該實(shí)例創(chuàng)建以該實(shí)例創(chuàng)建一個(gè)一個(gè)TextStream對(duì)象的實(shí)例,最后利用對(duì)象的實(shí)例,最后利用TextStream對(duì)象的對(duì)象的WriteLine()方法來

27、寫入文字到方法來寫入文字到文件中。還是用下面的例子來說明吧。文件中。還是用下面的例子來說明吧。例例8.9創(chuàng)建一個(gè)文本文件的程序,文件名為創(chuàng)建一個(gè)文本文件的程序,文件名為8-6.asp。這是一個(gè)創(chuàng)建文本文件的例子!這是一個(gè)創(chuàng)建文本文件的例子!在瀏覽器中程序的運(yùn)行結(jié)果如圖在瀏覽器中程序的運(yùn)行結(jié)果如圖8.6所示,同時(shí)你所示,同時(shí)你可在可在Word中打開中打開8.6.txt文件看到有一行文件看到有一行“這是一這是一個(gè)創(chuàng)建文本文件的例子個(gè)創(chuàng)建文本文件的例子”的文字。的文字。圖圖8.6這個(gè)例子創(chuàng)建了一個(gè)名字為這個(gè)例子創(chuàng)建了一個(gè)名字為8.6.txt的文件,該文件所在計(jì)的文件,該文件所在計(jì)算機(jī)中的位置是算機(jī)中

28、的位置是f:asp目錄下。目錄下。如果你的計(jì)算機(jī)中沒有如果你的計(jì)算機(jī)中沒有f:asp這個(gè)目錄,程序?qū)?bào)錯(cuò)。這個(gè)目錄,程序?qū)?bào)錯(cuò)。你可先建立一個(gè)目錄。你可先建立一個(gè)目錄。WriteLine()方法被用來將方法被用來將“這是一個(gè)創(chuàng)建文本文件的例這是一個(gè)創(chuàng)建文本文件的例子子”這句話寫入這句話寫入8.6.txt文件。文件。最后,用最后,用“a.Close”命令將命令將TextStream對(duì)象的實(shí)例關(guān)閉并對(duì)象的實(shí)例關(guān)閉并且釋放所有資源。且釋放所有資源。例例8.10在創(chuàng)建的文本文件中寫入新的文字或字符。這個(gè)程序在創(chuàng)建的文本文件中寫入新的文字或字符。這個(gè)程序?qū)⑾蚵窂綖閷⑾蚵窂綖镈:lpshao下的下的8.6

29、.txt文本文件中輸入文本文件中輸入5個(gè)字個(gè)字符串符串“你好你好”。你可以在機(jī)器上試一試!本程序文件名為。你可以在機(jī)器上試一試!本程序文件名為8-7.asp。這是一個(gè)在創(chuàng)建的文本文件寫字的這是一個(gè)在創(chuàng)建的文本文件寫字的例子!例子!在瀏覽器中程序的運(yùn)行結(jié)果如圖在瀏覽器中程序的運(yùn)行結(jié)果如圖8.7所示,同時(shí)可在所示,同時(shí)可在Word中打開中打開8.6.txt文件看到有文件看到有5行的行的“你好!你好!”。CreateTextFile()方法用來創(chuàng)建一個(gè)新的文本文件,當(dāng)方法用來創(chuàng)建一個(gè)新的文本文件,當(dāng)這個(gè)方法被調(diào)用,就返回一個(gè)這個(gè)方法被調(diào)用,就返回一個(gè)TextStream對(duì)象。切記:對(duì)象。切記: 使用

30、這個(gè)方法有一個(gè)必須選擇的參數(shù)和兩個(gè)可以選擇使用這個(gè)方法有一個(gè)必須選擇的參數(shù)和兩個(gè)可以選擇的參數(shù)。的參數(shù)。(1) FileName: 指定要?jiǎng)?chuàng)建的文件名稱及文件所在的路徑,指定要?jiǎng)?chuàng)建的文件名稱及文件所在的路徑,如果沒有這個(gè)參數(shù),程序無法執(zhí)行。如果沒有這個(gè)參數(shù),程序無法執(zhí)行。(2) OverWrite: 這是一個(gè)可選擇的參數(shù),如果存在與之這是一個(gè)可選擇的參數(shù),如果存在與之同名的文件,就可以根據(jù)這個(gè)參數(shù)來決定是否進(jìn)行覆同名的文件,就可以根據(jù)這個(gè)參數(shù)來決定是否進(jìn)行覆蓋操作。如果值為蓋操作。如果值為True,表示存在同名文件時(shí)可以進(jìn)表示存在同名文件時(shí)可以進(jìn)行覆蓋操作;如果值為行覆蓋操作;如果值為Fals

31、e,那么存在同名文件時(shí)那么存在同名文件時(shí)就會(huì)返回錯(cuò)誤信息。其默認(rèn)值為就會(huì)返回錯(cuò)誤信息。其默認(rèn)值為False。圖圖8.7(3) Unicode: 這也是一個(gè)可以選擇的參數(shù),默認(rèn)值為這也是一個(gè)可以選擇的參數(shù),默認(rèn)值為False。它用來指示該文件是否用它用來指示該文件是否用ASCII 碼形式進(jìn)行碼形式進(jìn)行創(chuàng)建和保存。如果你選擇創(chuàng)建和保存。如果你選擇True,系統(tǒng)會(huì)以系統(tǒng)會(huì)以Unicode 方方式進(jìn)行文件的創(chuàng)建。式進(jìn)行文件的創(chuàng)建。當(dāng)你已經(jīng)用上述方法建立一個(gè)文本文件之后,就可以當(dāng)你已經(jīng)用上述方法建立一個(gè)文本文件之后,就可以使用使用TextStream 對(duì)象來對(duì)文件進(jìn)行讀寫操作。在進(jìn)對(duì)象來對(duì)文件進(jìn)行讀寫操

32、作。在進(jìn)行寫操作時(shí),你可以使用下面的方法。行寫操作時(shí),你可以使用下面的方法。(1) Write(String):將一個(gè)字符串寫入文本文件。將一個(gè)字符串寫入文本文件。(2) WriteLine(String):在文件中添加字符串和一個(gè)分行在文件中添加字符串和一個(gè)分行符。符。(3) WriteBlankLines(lines):允許用戶在文件中指定數(shù)個(gè)允許用戶在文件中指定數(shù)個(gè)分行符。分行符。(4) Close:關(guān)閉打開的文本文件并釋放所占用的資源。關(guān)閉打開的文本文件并釋放所占用的資源。8.5.2 在文本文件中讀取和追加數(shù)據(jù)在文本文件中讀取和追加數(shù)據(jù)上面的例子將原來文件中的內(nèi)容覆蓋掉了,能不上面的例

33、子將原來文件中的內(nèi)容覆蓋掉了,能不能不被替換掉,只是將新寫的內(nèi)容添加在后面呢?能不被替換掉,只是將新寫的內(nèi)容添加在后面呢?并顯示出文件的內(nèi)容呢?這些都可以辦到。并顯示出文件的內(nèi)容呢?這些都可以辦到。方法依然是創(chuàng)建一個(gè)方法依然是創(chuàng)建一個(gè)FileSystemObject對(duì)象的實(shí)對(duì)象的實(shí)例,之后,利用例,之后,利用OpenTextFile()來創(chuàng)建一個(gè)來創(chuàng)建一個(gè)TextStream對(duì)象的實(shí)例,最后,用對(duì)象的實(shí)例,最后,用TextStream對(duì)對(duì)象的象的ReadLine()方法來讀取文件。方法來讀取文件。例例8.11(a)通過文本框向通過文本框向8.6.txt文本文件內(nèi)寫文字,文本文件內(nèi)寫文字,文件名

34、為文件名為8-8(a).asp。如圖如圖8.8(a)所示。所示。通過下面的文本框?qū)⑽淖謱懭胪ㄟ^下面的文本框?qū)⑽淖謱懭?.6.txt文件內(nèi)文件內(nèi) 例例8.11(b)將將8.6.txt文件讀出來并在瀏覽器上顯示出文件讀出來并在瀏覽器上顯示出來。該程序文件名為來。該程序文件名為8-8(b).asp。你看文本文件的字顯示出來了!你看文本文件的字顯示出來了!在瀏覽器中在瀏覽器中8-8(b).asp的運(yùn)行結(jié)果如圖的運(yùn)行結(jié)果如圖8.8(b)所示,所示,你可看到你可看到8.6.txt文件中的文字被顯示出來了。文件中的文字被顯示出來了。圖圖8.8(b)在讀取文件時(shí),經(jīng)常會(huì)遇到在讀取文件時(shí),經(jīng)常會(huì)遇到TextSt

35、ream對(duì)象的下對(duì)象的下列屬性。列屬性。(1) AtEndOfLine: 這個(gè)屬性用于判斷是否到了文件這個(gè)屬性用于判斷是否到了文件中一個(gè)特定行的末尾,如果是則為真中一個(gè)特定行的末尾,如果是則為真(TRUE),反反之為假之為假(FALSE)。(2) AtEndOfStream: 用于判斷是否到了文件的結(jié)尾用于判斷是否到了文件的結(jié)尾并依此返回并依此返回True和和False。(3) Column: 這個(gè)屬性判斷當(dāng)前字符在該行的位置,這個(gè)屬性判斷當(dāng)前字符在該行的位置,返回一個(gè)整數(shù)值。返回一個(gè)整數(shù)值。(4) Line: 用于判斷當(dāng)前行在文件中的行數(shù),返回一用于判斷當(dāng)前行在文件中的行數(shù),返回一個(gè)整數(shù)值。

36、個(gè)整數(shù)值。8.5.3 創(chuàng)建留言板創(chuàng)建留言板使用上面介紹的知識(shí),可以建立我們?cè)诰W(wǎng)站里經(jīng)使用上面介紹的知識(shí),可以建立我們?cè)诰W(wǎng)站里經(jīng)??吹降牧粞园?。留言板就是向文本文件寫入文??吹降牧粞园?。留言板就是向文本文件寫入文字并同時(shí)將寫的文字顯示在瀏覽器上。字并同時(shí)將寫的文字顯示在瀏覽器上。例例8.12這個(gè)例子是一個(gè)非常簡單的留言板,將它放這個(gè)例子是一個(gè)非常簡單的留言板,將它放到你的個(gè)人主頁上試一試吧!到你的個(gè)人主頁上試一試吧! 一個(gè)簡單實(shí)用的留言板一個(gè)簡單實(shí)用的留言板  留言板留言板  %set fs=CreateObject(Scripting.FileSystemObject)se

37、t a=fs.OpenTextFile(d:lpshao8.7.txt)while not a.AtEndOfStreamResponse.Write(a.ReadLine &)wenda.Close% 您的意見,是我們的寶貴財(cái)富,謝謝!您的意見,是我們的寶貴財(cái)富,謝謝!在瀏覽器中程序的運(yùn)行結(jié)果如圖在瀏覽器中程序的運(yùn)行結(jié)果如圖8.9(a)所示。所示。說明:說明: 這個(gè)留言板可以在輸入框中輸入文字,單這個(gè)留言板可以在輸入框中輸入文字,單擊擊“提交提交”按鈕后將立即顯示輸入的內(nèi)容,如圖按鈕后將立即顯示輸入的內(nèi)容,如圖8.9(b)所示,而且會(huì)將輸入的內(nèi)容保存在文本文所示,而且會(huì)將輸入的內(nèi)容保存在文本

38、文件件8.7.txt文件中。文件中。圖圖8.9(a)圖圖8.9(b)8.5.4 檢測(cè)文件的存在檢測(cè)文件的存在你要想知道一個(gè)特定的文件是否存在于計(jì)算機(jī)的某個(gè)你要想知道一個(gè)特定的文件是否存在于計(jì)算機(jī)的某個(gè)位置,可以使用位置,可以使用FileSystemObject對(duì)象的對(duì)象的FileExists()方法。只要傳遞其物理地址就可以從返回值是方法。只要傳遞其物理地址就可以從返回值是TRUE或或FALSE來判斷其是否存在。來判斷其是否存在。例例8.13檢測(cè)文件是否存在的程序,該程序名為檢測(cè)文件是否存在的程序,該程序名為8-10.asp。檢測(cè)文件是否存在的小例子檢測(cè)文件是否存在的小例子在瀏覽器中在瀏覽器中

39、8.10.asp的運(yùn)行結(jié)果如圖的運(yùn)行結(jié)果如圖8.10所示。所示。圖圖 接收文件屬性接收文件屬性在處理文件時(shí),有時(shí)需要了解文件的屬性,下面在處理文件時(shí),有時(shí)需要了解文件的屬性,下面是關(guān)于是關(guān)于File對(duì)象的屬性列表。對(duì)象的屬性列表。(1) Attributes: 該屬性用于顯示當(dāng)前文件的系統(tǒng)屬性。該屬性用于顯示當(dāng)前文件的系統(tǒng)屬性。例如只讀、隱藏、系統(tǒng)等屬性。例如只讀、隱藏、系統(tǒng)等屬性。(2) DataCreated: 它可以返回文件創(chuàng)建的時(shí)間和日期。它可以返回文件創(chuàng)建的時(shí)間和日期。(3) DataLastModified: 該屬性返回該文件上一次被該屬性返回該文件上一次被修改的

40、日期和時(shí)間。修改的日期和時(shí)間。(4) Drive: 該屬性返回值為該文件所在的驅(qū)動(dòng)器。該屬性返回值為該文件所在的驅(qū)動(dòng)器。(5) Name: 它可以返回該文件的文件名。它可以返回該文件的文件名。(6) ParentFolder: 這個(gè)屬性返回值為該文件所處的這個(gè)屬性返回值為該文件所處的文件夾。文件夾。(7) Path: 返回該文件的全路徑。返回該文件的全路徑。(8) Size: 返回文件的大小,以字節(jié)為單位。返回文件的大小,以字節(jié)為單位。(9) Type: 返回文件的類型,例如文本文件、返回文件的類型,例如文本文件、ASP文文件或者件或者HTML文件。文件。注意:注意: 你在使用這些屬性之前,首

41、先需要?jiǎng)?chuàng)建一你在使用這些屬性之前,首先需要?jiǎng)?chuàng)建一個(gè)個(gè)File對(duì)象的實(shí)例。還記得在前面創(chuàng)建的文件對(duì)象的實(shí)例。還記得在前面創(chuàng)建的文件8.6.txt嗎?來看看它的屬性。嗎?來看看它的屬性。例例8.14檢查文件的屬性。檢查文件的屬性。顯示文件屬性的小例子顯示文件屬性的小例子文件名稱:文件名稱: 路徑:路徑: 驅(qū)動(dòng)器:驅(qū)動(dòng)器: 文件大?。何募笮。?文件類型:文件類型: 文件屬性:文件屬性: 上次修改日期:上次修改日期: 程序執(zhí)行結(jié)果如圖程序執(zhí)行結(jié)果如圖8.11所示。所示。圖圖8.118.6 計(jì)數(shù)器組件計(jì)數(shù)器組件 下面介紹的三個(gè)組件不是微軟的公用組件,不過下面介紹的三個(gè)組件不是微軟的公用組件,不過最新的

42、最新的IIS版本已經(jīng)包括了它。如果你手中沒有版本已經(jīng)包括了它。如果你手中沒有該組件,不妨去該組件,不妨去 在在Active Server Pages中提供了兩個(gè)新組件中提供了兩個(gè)新組件(Counters組件和組件和Page Counter組件組件)可進(jìn)行頁面可進(jìn)行頁面的計(jì)數(shù)統(tǒng)計(jì)。使用該組件可以了解每一個(gè)頁面的的計(jì)數(shù)統(tǒng)計(jì)。使用該組件可以了解每一個(gè)頁面的訪問情況,也可以在這個(gè)頁面上直接統(tǒng)計(jì),或者訪問情況,也可以在這個(gè)頁面上直接統(tǒng)計(jì),或者根據(jù)自己的需要進(jìn)行各種統(tǒng)計(jì)。根據(jù)自己的需要進(jìn)行各種統(tǒng)計(jì)。1. Counters組件組件Counteres(計(jì)數(shù)器計(jì)數(shù)器)組件用來統(tǒng)計(jì)一個(gè)頁面被請(qǐng)求組件用來統(tǒng)計(jì)一個(gè)頁

43、面被請(qǐng)求的次數(shù)。當(dāng)然也可以用來統(tǒng)計(jì)站點(diǎn)訪問者,統(tǒng)計(jì)的次數(shù)。當(dāng)然也可以用來統(tǒng)計(jì)站點(diǎn)訪問者,統(tǒng)計(jì)廣告被點(diǎn)擊的次數(shù)廣告被點(diǎn)擊的次數(shù)當(dāng)你看到與日俱增的訪問當(dāng)你看到與日俱增的訪問次數(shù),會(huì)是多么的令人激動(dòng)?。∏懊孀屇阕龅挠?jì)次數(shù),會(huì)是多么的令人激動(dòng)?。∏懊孀屇阕龅挠?jì)數(shù)器做出來了嗎?現(xiàn)在看看下面的解決方法。數(shù)器做出來了嗎?現(xiàn)在看看下面的解決方法。只需要?jiǎng)?chuàng)建一個(gè)實(shí)例,而且這個(gè)實(shí)例可以提供很只需要?jiǎng)?chuàng)建一個(gè)實(shí)例,而且這個(gè)實(shí)例可以提供很多個(gè)單獨(dú)的計(jì)數(shù)器,這種劃分是按照計(jì)數(shù)器名稱多個(gè)單獨(dú)的計(jì)數(shù)器,這種劃分是按照計(jì)數(shù)器名稱進(jìn)行的。由于只需創(chuàng)建一個(gè)計(jì)數(shù)器組件,所以可進(jìn)行的。由于只需創(chuàng)建一個(gè)計(jì)數(shù)器組件,所以可在在Global

44、.asa中進(jìn)行這種創(chuàng)建,當(dāng)你的網(wǎng)站開始中進(jìn)行這種創(chuàng)建,當(dāng)你的網(wǎng)站開始運(yùn)行時(shí)就只有一個(gè)計(jì)數(shù)器對(duì)象的實(shí)例。運(yùn)行時(shí)就只有一個(gè)計(jì)數(shù)器對(duì)象的實(shí)例。下面是在下面是在Global.asa中進(jìn)行這個(gè)實(shí)例創(chuàng)建的腳本。中進(jìn)行這個(gè)實(shí)例創(chuàng)建的腳本。現(xiàn)在的現(xiàn)在的Global.asa文件變?yōu)橐韵聝?nèi)容了:文件變?yōu)橐韵聝?nèi)容了:sub ApplicationOnStartApplication(VN) = 0Application(ly) = 歡迎你來到歡樂聊天室!歡迎你來到歡樂聊天室!end subsub sessionOnStartend subsub sessionOnEndend sub計(jì)數(shù)器組件的使用有下面計(jì)數(shù)器組件

45、的使用有下面4種方法,每個(gè)方法的具體使用種方法,每個(gè)方法的具體使用說明如下。說明如下。(1) Get(Counter Name): 這個(gè)方法返回當(dāng)前的計(jì)數(shù)器值,如果這個(gè)方法返回當(dāng)前的計(jì)數(shù)器值,如果計(jì)數(shù)器不存在,則進(jìn)行創(chuàng)建并且賦值為計(jì)數(shù)器不存在,則進(jìn)行創(chuàng)建并且賦值為0。(2) Increment(Counter Name): 對(duì)計(jì)數(shù)器進(jìn)行加對(duì)計(jì)數(shù)器進(jìn)行加1操作,如果操作,如果計(jì)數(shù)器不存在,則創(chuàng)建并且賦值為計(jì)數(shù)器不存在,則創(chuàng)建并且賦值為1。(3) Remove(Counter Name): 消除指定的計(jì)數(shù)器。消除指定的計(jì)數(shù)器。(4) Set(Counter Name,integer): 這個(gè)方法有

46、兩個(gè)參數(shù),這個(gè)方法有兩個(gè)參數(shù),第一個(gè)是計(jì)數(shù)器的名稱,第二個(gè)是一個(gè)整數(shù),你第一個(gè)是計(jì)數(shù)器的名稱,第二個(gè)是一個(gè)整數(shù),你可以將當(dāng)前計(jì)數(shù)器的值設(shè)定為該整數(shù),同樣對(duì)于可以將當(dāng)前計(jì)數(shù)器的值設(shè)定為該整數(shù),同樣對(duì)于不存在的計(jì)數(shù)器也可以進(jìn)行創(chuàng)建和賦值。不存在的計(jì)數(shù)器也可以進(jìn)行創(chuàng)建和賦值。這個(gè)計(jì)數(shù)器對(duì)象在這個(gè)計(jì)數(shù)器對(duì)象在Global.asa中創(chuàng)建以后,你就中創(chuàng)建以后,你就可以在自己的可以在自己的ASP文件中添加和減少獨(dú)立的計(jì)數(shù)文件中添加和減少獨(dú)立的計(jì)數(shù)器了,注意在一個(gè)頁面中創(chuàng)建的計(jì)數(shù)器可以增加、器了,注意在一個(gè)頁面中創(chuàng)建的計(jì)數(shù)器可以增加、減少,甚至轉(zhuǎn)移到另一個(gè)頁面上去。減少,甚至轉(zhuǎn)移到另一個(gè)頁面上去。例例8.15是使用計(jì)數(shù)器組件進(jìn)行訪問次數(shù)統(tǒng)計(jì)的一是使用計(jì)數(shù)器組件進(jìn)行訪問次數(shù)統(tǒng)計(jì)的一個(gè)小例子,特別簡單、實(shí)用。個(gè)小例子,特別簡單、實(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論