在Internet上,用ASP編寫的計數器到處都是,本人覺得再在這里談ASP編寫計數器已沒有多大意義。后來想想還是有必要談一下,因為這不僅僅只是在談計數器的編寫,而是在向大家介紹ASP的知識與應用技巧。 程序原代碼如下: $#@60;%countlong=8 ′countlong定義計數器顯示位數 On Error Resume Next ′ 忽略所有的錯誤 count=server.mappath(″count.txt″) set cou = server.createobject(″scripting.filesystemobject″) set out=cou.opentextfile(count,1,false,false) counter=out.readline out.close ′以上代碼是打開文件count.txt并讀取一行,讀出目前計數器的值 if session(″in″)$#@60;$#@62;″in″ then ′判斷用戶是否已進入主頁,以確保他按刷新或再次來到此頁面時計數器不會再加1 session(″in″)=″in″ set out = cou.createtextfile(count,true,false) application.lock counter=counter+1 ′計數器加1 out.writeline(counter) application.unlock out.close ′以上代碼是建立一個新的文件count.txt并寫入一行,寫入加1后計數器的值 end if co=cstr(counter) ′cstr函數用來把數字型變量轉換成字符型 for i = 1 to countlong-len(co) response.write ″″ next ′上面的循環語句是完成計數器前面的0圖片的添加 ′len(co)函數是得到變量co的長度,countlong-len(co)就得到前面0圖片的個數 for i= 1 to len(co) response.write ″″ next ′mid(co,i,1)函數是用來從變量co的第i位開始讀一個字符%$#@62; 這個計數器做得比較成功的地方是使用session防止用戶對計數器的多次刷新; 使用了文本文件記錄計數器的值,雖然代碼寫起來比較長,但比起用application對象要好得多,因為當服務器reboot或改動global.asa時,application對象的值就會被清空; 還有就是用圖片代替了字符,看起來更美觀大方! 計數器的圖片你可以自己設計一下,0用文件名0.gif,1用1.gif,以此類推。
|