仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 511|回复: 9
打印 上一主题 下一主题

[学习教程] ASP教程之ASP计数器计划详解(转载)

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:36:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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.(一般企业里,跟你们交付软件接触得最多的是她们)
再现理想 该用户已被删除
沙发
发表于 2015-1-20 10:18:47 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:14:14 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
若天明 该用户已被删除
地板
发表于 2015-1-26 22:36:35 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-1-30 21:56:56 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
再见西城 该用户已被删除
6#
发表于 2015-2-7 02:26:51 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
莫相离 该用户已被删除
7#
发表于 2015-2-19 21:07:00 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
不帅 该用户已被删除
8#
发表于 2015-3-6 15:23:47 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
活着的死人 该用户已被删除
9#
发表于 2015-3-13 03:09:53 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
乐观 该用户已被删除
10#
发表于 2015-3-20 11:12:50 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 10:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表