|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。计数器|计划|详解ActiveServerPager(静态服务器主页,简称ASP),经由过程读写服务器的文件,分离script言语(VBscript或Jscript)和html码能够便利地完成页面计数器功效。现盛行的ASP课本和收集上的ASP教程都谈到过ASP计数器的计划成绩,可是都过于复杂,好比没有提到如何完成计数器剧本和主页面的分别和图像计数器的完成等。上面就作者为单元制造NTweb站点的履历,举实例循规蹈矩谈谈关于ASP计数器的计划,但愿能给ASP的初学者和对ASPWEB编程有乐趣的网友一些启示。
(一)复杂的计数器
ASP内含五个内置的"ActiveServerComponents"(ActiveX服务器组件),即DatabaseAccesscomponent(数据库会见组件)、FileAccesscomponent(文件会见组件)、AdRotatorcomponent(告白轮播器组件)、BrowerCapabilitiescomponent(扫瞄器信息组件)、ContentLinkingcomponent(内容链接组件)。我们上面要计划的计数器,就是经由过程个中的FileAccesscomponent(文件会见组件)来读写服务器文件来完成。算法思绪是:在服务器端用一个文本(ASCII)文件寄存计数数值,每当页面被会见时就从文件中读出数值,显现给用户,而且使数值加1,把增添后的数值写回到文件。
写进数据到一个服务器计数文件的ASP语句和申明以下:
CounFile=Server.MapPath("用来寄存计数器值的文件名")
Server服务器会见办法MapPath(path)是将寄存计数器值的文件地点的路径 转换成物理路径
SETFileObject=Server.CreateObject("Scripting.FileSystemObject")
利用办法CreateObject界说工具FileSystemObject
SETOutStream=Server.CreateTextFile(FileObject,True,False)
利用工具FileSystemObject供应办法CreateTextFile发生文本文件,个中参 数"True"暗示掩盖本来的文件,"False"暗示文件为ASCII范例
OutStream.WriteLine"要写进的数据"
OutStream.WriteLine为往文件写进一行数据
从一个服务器文件读取数据的ASP语法以下:
CounFile=Server.MapPath("用来寄存计数器值的文件名")
SETFileObject=Server.CreateObject("Scripting.FileSystemObject")
SETInStream=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代码及正文:
<%
CountFile=Server.MapPath("simplecounter.txt")
文件aspconter.txt是用来贮存数字的文本文件,初始内容通常为0
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
读取计数器文件中的值
Out.Close
封闭文件
SETFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
办法Application.lock克制其余用户变动计数器的值
counter=counter+1
计数器的值增添1
Out.WriteLine(counter)
把新的计数器值写进文件
Application.unlock
利用办法Application.unlock后,同意其余用户变动计数器的值
Response.Write("您是第")
Response.Write("<fontcolor=red>")
Response.Write(counter)
把计数器的值传送到扫瞄器,以红(red)色显现给用户
Response.Write("</font>")
Response.Write("位会见者")
Out.Close
封闭文件
%>
(二)与页面分别的计数器
实践使用中,主页面与计数器程序是分别的,既只需在必要计数的页面中到场一句援用代码就能够完成页面计数。我们在网上常常请求利用的收费计数器就是如许,不外它们通常为CGI做的。这里,我们只需略微修正一下后面我们用ASP做的复杂计数器,然后在页面到场一句JavaScript语句援用它,就完成了与页面分别的计数器功效。如许,不管是作为主页面的计数器仍是为某个特定页面的计数,都很便利了。明显,你必要复杂变动一下寄存计数器值的文件名和计数器asp源代码文件名就能够完成多个计数器。
与页面分别的计数器txtcounter.asp代码:
<%
CountFile=Server.MapPath("txtcounter.txt")
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
Out.Close
SETFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=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
%>
在要计数的页面到场以下的代码:
<p>
您是第
<fontcolor=red>
<scriptlanguage="JavaScript"src=,...(图像本人能够用Photoshop等工具制造,大概从收集高低载)。这里我们要用到VBScript函数Len(string|varname)、Mid(string,start[,length])。由Len(counter)可失掉计数器值的位数,由Mid(counter,i,1)能够失掉计数器值的第i位上的数字,我们可使用这个值来挪用响应的数字图像。用For轮回语句,我们不可贵出计数器值各个位上的数字并转化成对应的数字图像,如许,我们就可以完成文本数值到图像数字的变化。上面就是一个用ASP编写的图像计数器</p>写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) |
|