当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP 3.0高级编程(二十五)

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP 3.0高级编程(二十五)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 137 ::
收藏到网摘: n/a

  6.2.4 Counters组件
       Counters组件能用于创建、存储、递增和检索每个计数器的值。不要把它和本章后面将要介绍的Page Counter组件混淆,Counters组件能用于支持任何种类数据的统计。
       一个计数器含有一个整数值,能通过Counters组件的方法进行运算。使用Set方法设置计数器的指定值,用Get方法检索计数器中的值,使用Increment方法使计数器的值加1,使用Remove方法删除一个计数器。所有的计数器的值存储在一个名为Counters.txt的文本文件中,可在Counters.dll组件所在的目录中找到该文件。
1.  Counters组件的成员
Counters组件提供了用于维护每个计数器组件中数值的四个方法,如表6-4所示:
表6-4  Counters组件方法及说明
方 法
说 明

Get(counter_name)
返回指定计数器的当前值,如果此计数器先前没有创建,道德创建并设置成0,其返回值为0

Increment(counter_name)
增加指定计数器的当前值,如果此计数器先前没有创建,首先创建并设置为1

Remove(counter_name)
删除指定的计数器

Ser(counter_name,value)
把指定计数器的值设置成参数value提供的整数值,如果此计数器先前没有创建,先创建并设定为指定值

2.  使用Counters组件
由于Counters.txt文件仅有一个所有组件实例都能访问的拷贝。因此,应该只创建单个的Counters组件实例,并且使之对Web网站的所有页面都是可用的,实现这一点的常用方法是在缺省Web站点根目录下的global.asa文件中创建一个应用程序范围的实例。
采用下面程序:
<!-- declare instance of the ASP Counters component with application-level scope
-->
<OBJECT ID="objCounters" RUNAT="Server" SCOPE="Application"
PROGID="MSWC.Counters">
</OBJECT>
可以使用Counters组件对需要完成的任务创建一个新的计数器。在下面的程序中,给出了有三项选择的调查问题,并对每一种选择的回答次数进行了统计,当使用者提交包含三项选择的窗体后,将调入这个页面。假设选项通过点击SUBMIT按钮的cmdYes、cmdNo和cmdMaybe来选择,其对应值分别是“是”、“否”和“可能”。
<% 'in VBScript”
If Request.Form("cmdYes") = "Yes" Then objCounter.Increment("Response_Yes")
If Request.Form("cmdNo") = "No" Then objCounter.Increment("Response_No")
If Request.Form("cmdMaybe") = "Maybe" Then
       objCounter.Increment("Response_Maybe")
%>
如果这是第一次收到一个指定的响应,程序将创建一个新的计数器并自动初始化为1。
计数器在使用范围上没有限制,因为Counters对象创建在文件global.asa中,这意味着在虚拟应用程序或Web网站中创建的任何一个页面中都是可用的,所以这个“调查计数器”可用在应用程序的任何页面上,记住单个的Counters对象能提供所需的许多独立计数器,不需要创建很多Counters对象实例。
在前面的Ad Rotator组件页面示例中,研究了如何使用Counters组件存储每个广告主的点击次数,也可以在页面中使用Counters组件的Get方法显示当前值。
Wrox Press: <B><% = objCounters.Get("wrox") %></B><BR>
Stonebroom: <B><% = objCounters.Get("stonebroom") %></B><BR>
Xtras: <B><% = objCounters.Get("xtras") %></B><BR>
ComponentSource: <B><% = objCounters.Get("compsrc") %></B><BR>
Four CDs: <B><% = objCounters.Get("fourcds") %></B><BR>
Lunar: <B><% = objCounters.Get("lunar") %></B><BR>
每次加载页面时,都自动更新计数器的当前值。然而页面也包含有一些控件能调用Counters组件的其他两个方法,即删除一个计数器(相当于将其设置为0)和将计数器设置成一个指定数值,如图6-6所示:

图6-6  Counters组件的使用演示
这些控件在一个<FORM>上,点击任何一个小的空白按钮时,此窗体便提交给同一个页面,方法与本章中的所有页面所用的几乎一样。下面的程序是为Remove方法创建控件的HTML代码。
<FORM ACTION="<% = Request.ServerVariables("SCRIPT_NAME") %>" METHOD="POST">

<INPUT TYPE="SUBMIT" NAME="cmdRemove" VALUE="&nbsp;&nbsp;&nbsp;">
&nbsp; Counter.Remove ("
<SELECT