澳门新葡亰平台游戏网站ASP实例:计数器程序详解

ASP内置组件前三讲中,大家主要介绍了ASP提供的四大内置对象:lResponse对象:向浏览器发送信息。lRequest对象:访问从浏览器发送到服务器的信息。lSession对象:存款和储蓄、读取特定客商对话音信。lApplication对象:存款和储蓄、读取全数顾客分享的应用程序音信。别的还恐怕有Server对象和ObjectContext对象我们就要那后的实例中读书。本讲的剧情是选择ASP的ActiveXServerComponents。一、BrowserCapabilitiesComponent:大家领略,差异的浏览器只怕援助区别的法力,如有个别浏览器帮忙框架,有个别不扶植。利用这一个组件,能够检查浏览器的手艺,使您的网页争对两样的浏览器显示区别的页面。该器件的利用很简短,需注意的是,要科学行使该零零件,必需保险Browscap.ini文件是最新的,不然结果大概天壤之别,如Win98遍之版所带的IE5.0,在下例中显示为Netscape。这么些文件平时坐落于Web服务器的”/Winnt/System32/InetSrv”下,最新的版本可去或下载。例:wuf22.asphtmlBODY’注意:组件的应用与指标相仿,不过组件在利用前必需先创设,而选择内置对象前不要创造。%SetBrowsCap=Server.CreateObject(“MSWC.BrowserType”卡塔尔%请稍候……PTABLEBORubiconDEENVISION=1CELLPADDING=10TRTD浏览器类型/TDTD%=BrowsCap.Browser%/TD/TRTRTD浏览器版本/TDTD%=BrowsCap.version%/TD/TRTRTD是还是不是扶植表格/TDTD%=BrowsCap.tables%/TD/TRTRTD是或不是协助ActiveX控件/TDTD%=BrowsCap.activexcontrols%/TD/TRTRTD是不是扶助JavaApplets/TDTD%=BrowsCap.javaapplets%/TD/TRTRTD是不是帮衬JavaScript/TDTD%=BrowsCap.javascript%/TD/TRTRTD是或不是扶持Cookies/TDTD%=BrowsCap.Cookies%/TD/TRTRTD是还是不是协理Frames/TDTD%=BrowsCap.Frames%/TD/TRTRTD操作系统/TDTD%=BrowsCap.Platform%/TD/TRTRTD是不是协理VBScript/TDTD%=BrowsCap.vbscript%/TD/T中华V/TABLE%SetBrowsCap=Nothing%/BODY/HTML注意:在本例中我们也触发了Server对象的CreateObject方法,Server.CreateObject用于成立已经注册到服务器上的ActiveX组件。但是别忘了用”Set对象=Nothing”来及时放出能源,那应当改成一个习于旧贯。二、FileAccess组件FileAccess组件由FileSystemObject对象和TextStream对象组成,使用FileSystemObject对象,能够创制、检索、删除目录及文件,而TextStream对象则提供读写文件的效果。实例wuf23.asp。强调:独有经过实践展技能能加深精晓,推行和比较程序运转结果是异常快明白编制程序技能的最佳方法。%@Language=VBScript%%OptionExplicit’注意相对路线:C:/Inetpub/home/asp/wuf23.asp主页路线:C:/Inetpub/homeDimPath,File,FSO,CTF,Str,StrHTML,StrNoHTML’使用CreateObject方法创立FileSystemObject对象FSOSetFSO=Server.CreateObject(“Scripting.FileSystemObject”卡塔尔(قطر‎Path=Server.MapPath(“test”卡塔尔(قطر‎’重临test的物理目录(相对路线卡塔尔(قطر‎’就本例来说,下边这句与地点那句重回的Path完全平等’Path=Server.MapPath(“/asp/test/”卡塔尔国Response.WritePath&”Br”IfFSO.FolderExists(PathState of Qatar=falsethen’判定该公文夹是还是不是存在FSO.CreateFolder(Path卡塔尔国’新建文件夹EndIfFile=帕特h&”/asptest.txt”‘写文件操作IfFSO.FileExists(File卡塔尔=TrueThen’决断该公文是或不是留存’构建TextStream对象CTFSetCTF=FSO.OpenTextFile(File,8,False,0State of Qatar’张开文件,详见表达ElseSetCTF=FSO.CreateTextFile(File,False,False卡塔尔’新建文件EndIfCTF.Write”P第2个字符串;”‘写字符串CTF.WriteLine”第叁个字符串;”‘写字符串,并累积贰个换行符CTF.Write”第多个字符串;”CTF.Close’注意要关闭文件’读文件操作SetCTF=FSO.OpenTextFile(File,1,,0卡塔尔国DoWhileCTF.AtEndOfStreamTrue’剖断是否文件结尾Str=CTF.ReadLine’读取一行StrNoHTML=StrNoHTML&Str&”BXC90″&VbCrLfStrHTML=StrHTML&Server.HTMLEncode(StrState of Qatar&”B昂Cora”&VbCrLfLoopResponse.WriteStrNoHTMLResponse.WriteStrHTMLCTF.CloseSetCTF=Nothing’释放对象SetFSO=Nothing%CTF=FSO.OpenTextFile(File,8,False,0卡塔尔(قطر‎,括号内先是个参数为文件名;第二个参数为8,表示在原工件后扩充内容,若为1代表只读,为2则会重写原工件;第四个参数false表示,若钦定文件空中楼阁,也不新建文件,若为True,表示钦定文件不设有,则新建该文件;第多个参数0表示以ASCII文件格式展开,若为-2,则代表以本来的格式打开。CTF=FSO.CreateTextFile(File,False,FalseState of Qatar,第三个参数false表示不隐蔽原来就有文件,若为True,则意味覆盖原来就有文件;第三个参数为False表示文件格式为ASCII,为True表示文件格式为Unicode。Server对象的MapPath方法将点名的假造路线转变为真正的公文路线。Map帕特h将”/”和”/”字符视为一样。Server对象的HTMLEncode方法允许你对一定的字符串举办HTML编码,大概说使浏览器中可以正确突显特定的字符。上例中,若未编码,则”P”突显不出去,而是被浏览器作为HTML标识,你能够对照一下运维结果。实际上,FileAccess组件对文本、文件夹和驱动器的操作依旧相比强硬的,也提供了超级多的艺术,如若要求用到那方面包车型客车知识,别忘了使用它。此外,到现行反革命得了,写三个网页计数器已然是区区小事了吧,难怪那么多的网页提供免费流速计。如何?本人写一个图纸流速计试试看,想怎么作弊就怎么作弊,完全自个儿调节,爽呆!三、ADRotator以后上网,恐怕最抵触的是别人主页上的广告条,最赏识的是团结主页上的广告条,广告条就如垃圾邮件同样,不计其数,六神无主。你也得以温和动手创设那样的垃圾,ASP的ADRotator组件就可使每回张开大概另行加载网页时,随机的浮现广告。这一个例子饱含三部分:例程wuf25.asp%@Language=VBScript%%OptionExplicitDimadr’成立ADRotator对象Setadr=Server.CreateObject(“MSWC.AdRotator”卡塔尔国adr.Border=2’钦命图形文件的边框大小adr.Clickable=True’提醒显示的图片是或不是是叁个超链接adr.TargetFrame=”_blank”‘设置超链接是不是要钦点Frame名称,如:_TOP_NEW_PARENT’获取将在显示的图片及超链接设置-在文件AdrSet.txt中装置Response.Writeadr.GetAdvertisement(“AdrSet.txt”State of Qatar%AdrSet.txt内容:REDIRECTwuf26.asp点击广告后,转由wuf26.asp来拍卖WIDTH468广告图片宽度HEIGHT60广告图片中度*分隔符_1.gif广告图片所在地方,也可为本地图形文件指向链接,若未有超链接,写入三个”-“搜狐文字表达20出示该广告的相对权重,即体现频率博客园网30也能够应用本地图片,如../images/flag.gifCANON50本例中一共有多个图片及链接,每一个链接的描述占四行,实际使用时,你可有样学样,扩充更加的多的图样。%’wuf26.aspURubiconL=Request.QueryString(“url”State of QatarResponse.Redirect(U君越L卡塔尔国%wuf26.asp是一个最简便易行的管理程序,你可依照实际必要在这里边走入越多的代码。运转一下,原本这一个组件的使用也比非常粗略,你要做的就是收获和煦的AdrSet.txt文件。利用那个组件,你居然足以设计一个现行反革命已拾贰分时尚的广告沟通主页。四、ContentLinking组件明显这几个组件与链接有关系,借使想及时知道这一个组件的活灵活现用处,或许还解决问题过于急躁,无妨先援引多少个非凡的例子:倘若在网络阅读一本书,你对以下这么些链接一定不会不熟悉:第1章、第2章、…、上一章、下一章等等。我们现在要做的正是怎么着在这里些链接之间方便飞速地安装跳转。首先建一个链接列表文本文件,如urllist.txtwuf23.asp第1章:文件操作wuf28.asp第2章:ContentLinking组件使用示例wuf22.asp第3章:浏览器手艺组件链接url地址和描述之间用Tab键分隔。下边wuf27.asp用来列出urllist.txt中的全部链接。%@LANGUAGE=VBScript%%OptionExplicit%htmlheadtitleContentLinking组件使用/title/headbodyh2目录列表:注意宗旨链接是第2章,你早晚要点击它/h2ul%DimNextLink,Count’创设ContentLinking组件SetNextLink=Server.CreateObject(“MSWC.NextLink”State of Qatar’获取文件urllist.txt中链接数目Count=NextLink.GetListCount(“urllist.txt”卡塔尔国Dimurl,Dscr,IForI=1ToCounturl=NextLink.GetNthULX570L(“urllist.txt”,I卡塔尔(قطر‎’得到超链接Dscr=NextLink.GetNthDescription(“urllist.txt”,I卡塔尔(قطر‎’得到文字描述Response.Write”liahref=”””&url&””””&Dscr&”/a”&vbcrlfNext%/ul/body/html然后,以wuf28.asp为例表明如何自动完成上一章和下一章跳转。%@LANGUAGE=VBScript%%OptionExplicit%htmlheadtitle那些链接要潜心/title/headbodyp这里是第2章的正文…………/p%’每一种文件都带有上边那句,就达成了机动链接%!–#includefile=”wuf29.asp”–/body/html这里最终一句加上去就能够完结机关跳转,主题在wuf29.asp中。%DimNextLink,rankSetNextLink=Server.CreateObject(“MSWC.NextLink”卡塔尔(قطر‎’当前的链接在urllist.txt中位居第多少个rank=NextLink.GetListIndex(“urllist.txt”State of QatarResponse.Write”hr”If(rank1卡塔尔国Then’rank=1官样文章前一页Response.Write”|ahref=”””&NextLink.GetPreviousUSportageL(“urllist.txt”卡塔尔&”””上一章/a|”EndIfIf(rankNextLink.GetListCount(“urllist.txt”State of QatarState of QatarThen’rank在最后,则尚未Response.Write”|ahref=”””&NextLink.GetNextU奥迪Q5L(“urllist.txt”State of Qatar&”””下一章/a|”EndIf%运行那几个事例后,你登时能真正驾驭这么些组件的功能,不问可知,正是不必要在每页都写叁个”上一章”、”下一章”,完全通过wuf29.asp一下消除,是或不是很便利?!否则你如若手工业修正链接的话,不是太艰辛了几点吧?未来你应当了然了,英特网海大学量的无偿计数器、免费留言板、免费谈心室、广告交换网等等……,其规律都只是那样,无需崇拜。

Active Server
Pager(动态服务器主页,简单的称呼ASP卡塔尔,通过读写服务器的文件,结合script语言(VBscript或Jscript)和html码能够低价地落实页面流速計功效。现流行的ASP教材和网络上的ASP教程都谈到过ASP流速计的陈设性难题,然则都过度轻便,举个例子未有关系如何落实流速计脚本和主页面包车型客车告辞以至图象计数器的落到实处等。下边就我为单位创建NT
web站点的涉世,举实例安份守己谈谈关于ASP计数器的兼顾,希望能给ASP的初读书人和对ASP
WEB编制程序有意思味的网络亲密的朋友有的启迪。

(一)轻易的流量计

ASP内含四个放置的”Active Server
Components”(ActiveX服务器组件State of Qatar,即Database Access
component(数据库访谈组件卡塔尔国、File Access component(文件访谈组件卡塔尔(قطر‎、Ad
Rotator component(广告轮播器组件卡塔尔(قطر‎、Brower Capabilities
component(浏览器新闻组件State of Qatar、Content Linking
component(内容链接组件卡塔尔国。大家上面要两全的流量计,正是通过中间的File
Access
component(文件访谈组件卡塔尔国来读写服务器文件来落成。算法思路是:在服务器端用四个文书(ASCII卡塔尔文件贮存计数数值,每当页面被访谈时就从文件中读出数值,呈现给顾客,而且使数值加1,把增添后的数值写回到文件。

写入数据到二个服务器计数文件的ASP语句和认证如下:

CounFile=Server.MapPath(“用来存放在计数器值的公文名”卡塔尔国

Server服务器访谈方法MapPath(pathState of Qatar是将寄存在流速計值的公文所在的门道转换到物理路线

SET FileObject=Server.CreateObject(“Scripting.FileSystemObject”)

动用方法CreateObject定义对象FileSystemObject

SET OutStream=Server.CreateTextFile(FileObject,True,False)

利用对象FileSystemObject提供情势CreateTextFile爆发文书文件,个中参   数”True”表示覆盖原本的公文,”False”表示文件为ASCII类型

OutStream.WriteLine “要写入的多少”

OutStream.WriteLine为往文件写入一行数据

从三个服务器文件读取数据的ASP语法如下:

CounFile=Server.MapPath(“用来存放在流量计值的文件名”卡塔尔(قطر‎

SET FileObject=Server.CreateObject(“Scripting.FileSystemObject”)

SET InStream=Server.OpenTextFile(FileObject,1,false,false)

运用对象FileSystemObject提供格局OpenTextFile爆发文本文?此中参数”True”表示覆盖原本的文书,”False”表示文件为ASCII类型”要读取的多寡”=InStream.ReadLine,当中InStream.ReadLine为从文件中读取的一整套数据。

下边是一个用ASP完毕页面流速计成效的流速计例子(simplecounter.asp卡塔尔,作者在代码中详尽注明了言语。你能够把以下代码粘贴到你要求计数的页面代码中。当然,你的服务器必须支持ASP,且你早就在主页所在的目录下开创了三个故事情节为0的公文文件simplecounter.txt。

轻巧易行的ASP流量计simplecounter.asp代码及注释:

以下为援引的从头到尾的经过:
$#@60;%
CountFile=Server.MapPath(“simplecounter.txt”)
文件aspconter.txt是用来囤积数字的文书文件,先尼科西亚容类同是0
Set FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine

读取流速計文件中的值

Out.Close

关闭文件

以下为援引的原委:
SET FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock

方法Application.lock禁绝其他客户更正流速计的值

counter= counter + 1

计数器的值扩充1

Out.WriteLine(counter)

把新的计数器值写入文件

Application.unlock

澳门新葡亰平台游戏网站,运用方法Application.unlock后,允许别的客商更正计数器的值

以下为援引的内容:
Response.Write(“您是第”)
Response.Write(“$#@60;font color=red$#@62;”)
Response.Write(counter)

把流量计的值传送到浏览器,以红(redState of Qatar色显示给客户

以下为援引的开始和结果:
Response.Write(“$#@60;/font$#@62;”)
Response.Write(“位报事人”卡塔尔(قطر‎
Out.Close

关闭文件

%$#@62;

(二)与页面抽离的流速计

实际应用中,主页面与流速計程序是分其他,既只要在供给计数的页面中出席一句引用代码就足以兑现页面计数。大家在英特网通常报名选择的免费计数器就是那般,可是它们常常是CGI做的。这里,大家借使稍稍校正一下前边大家用ASP做的总结流速计,然后在页面参与一句JavaScript语句援引它,就落到实处了与页面抽离的流量计作用。那样,无论是作为主页面包车型地铁流速計还是为有些特定页面包车型大巴计数,都很有益于了。鲜明,你要求轻松改良一下寄放流速計值的公文名和流速計asp源代码文件名就足以完毕多少个流速计。

与页面分离的计数器txtcounter.asp代码:

以下为援引的原委:
$#@60;%
CountFile=Server.MapPath(“txtcounter.txt”)
Set FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
Out.Close
SET FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
counter= counter + 1
Out.WriteLine(counter)
Application.unlock
Response.Write”document.write(“&counter&”)”

为了在页面正确显示流速計的值,调用VBScript函数Document.write

Out.Close

%$#@62;

在要计数的页面加入如下的代码:

$#@60;p$#@62;

您是第

$#@60;font color=red$#@62;

$#@60;script language=”JavaScript”
src=”;

//引用时在乎ASP计数器所在的服务器及目录路线。

$#@60;/script$#@62;

$#@60;/font$#@62;

位来客

$#@60;/p$#@62;

(三)与页面分离的图象计数器

人人的言情是永没有边境的,恐怕你要求叁个更有本性的图纸数字流速計,并不是大致的文件数字流速計。没难点,今后咱们就来寻访用ASP是怎样来落实图形计数器作用的。要贯彻图形流速計,关键点在于如何促成把流速計文件中的数据值转换为相应的图象表示。因为十进制数有0,1,2,3,4,5,6,7,8,9共拾一个不等的数数字,大家须要有拾二个照看的图象,且图象的公文名字要与展示的数字对应起来,比方0对应的数字图象的文书名字正是0.gif,1对应的正是1.gif,…(图象本身能够用Photoshop等工具创造,只怕从网络上下载卡塔尔(قطر‎。这里大家要用到VBScript函数Len(string
|
varname卡塔尔国、Mid(string,start[,length]卡塔尔(قطر‎。由Len(counter卡塔尔可获取流量计值的位数,由Mid(counter,i,1卡塔尔(قطر‎能够拿走流速计值的第i位上的数字,大家可使用那一个值来调用相应的数字图象。用For循环语句,我们简单得出流量计值各类位上的数字并转产生对应的数字图象,那样,我们就能够促成文件数值到图象数字的转移。下边正是三个用ASP编写的图象流速計实例,因为超过三分之二代码前边都解析过,所以代码中只注释了有的口舌。

与页面分离的图象计数器imgcounter.asp代码:

$#@60;% @language=”VBScript”%$#@62;

$#@60;%

dim images(20)

概念一数组,用来贮存在突显每壹人数字图象的讲话

以下为援用的剧情:
CountFile=Server.MapPath(“imgcounter.txt”)
Set FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
Out.Close
SET FileObject=Server.CreateObject(“Scripting.FileSystemObject”)
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
counter= counter + 1
Out.WriteLine(counter)
Application.unlock
countlen=len(counter)

得到流速計值的位数

以下为引用的开始和结果:
for i=1 to countlen
images(i)=”$#@60;img
src=”&”” &
mid(counter,i,1) & “.gif$#@62;$#@60;/img$#@62;”

由循环语句获得各样位上数值对应图象的来得代码(html卡塔尔(قطر‎,并把它存在数组中,具体采纳时请注意图象的实际服务器及目录路线

response.write”document.write(“&images(i)&”);”

调用函数Document.write输出展现数字图象的html代码

next
Out.Close
%$#@62;

在要计数的页面参加如下的代码:

$#@60;p$#@62;

您是第

$#@60;script language=”JavaScript”
src=”;

//引用时只顾ASP流量计所在的服务器及目录路线。

$#@60;/script$#@62;

位来客

$#@60;/p$#@62;

附注:以上asp计数器均在Windows NT Server 4.0(汉语卡塔尔国 / IIS3.0
下测量检验通过。以下任何一种情状都可举行ASP:

一、Windows NT Server 4.0 / IIS3.0以上

二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上

三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上

中原最大的WEB开采能源网址及本领社区,

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图