用ASP编写图片计数器

Author: 烛光 Date: 2000年 第17期

  在Internet上,用ASP编写的计数器到处都是,本人觉得再在这里谈ASP编写计数器已没有多大意义。后来想想还是有必要谈一下,因为这不仅仅只是在谈计数器的编写,而是在向大家介绍ASP的知识与应用技巧。
  程序原代码如下:
  <%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″)<>″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 ″<img src=′img/0.gif′>″
  next
  ′上面的循环语句是完成计数器前面的0图片的添加
  ′len(co)函数是得到变量co的长度,countlong-len(co)就得到前面0图片的个数
  for i= 1 to len(co)
  response.write ″<img src=′img/″& mid(co,i,1) &″.gif′>″
  next
  ′mid(co,i,1)函数是用来从变量co的第i位开始读一个字符%>
  这个计数器做得比较成功的地方是使用session防止用户对计数器的多次刷新; 使用了文本文件记录计数器的值,虽然代码写起来比较长,但比起用application对象要好得多,因为当服务器reboot或改动global.asa时 ,application对象的值就会被清空; 还有就是用图片代替了字符,看起来更美观大方!
  计数器的图片你可以自己设计一下,0用文件名0.gif,1用1.gif,以此类推。