当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP SCRIPT: 计数器(使用GrapShot组件)

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP SCRIPT: 计数器(使用GrapShot组件)


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

这个程序将记数器的数字放在ACCESS数据库中,当然你也能用你希望其它的ODBC数据源.这个程序从URL中读取记数信息.如下:

< IMG src="id=MYTEST&seq=default&cells=7" >

参数
id

客户网页的标致(即用户名).每次你用一个新的ID,那么就会有一个新的记录插入数据库中.如果这个ID是原来就存在,那么它的count就增加1.如果你不想让客户自动启动一个ID,而需要注册,那么你就将"自动插入"的值,赋为False.

seq

可选项.用于选择计数器图片的式样,在客户端所显示的图片的名字就为.gif.缺省值"defalut.gif",而且这个"defalut.gif"必须放在当前工作的目录中!

cells

可选项.计数结果显示的位数,缺省是5位(这个值你在程序中,也可以调节) 怎样运行这个程序
把这段程序拷贝到服务器中你想要的地方.

创建一个数据源"Webcounter".这个数据源中必须有个表名字为"main",以下是这个表中的字段:

以下为引用的内容:

< table border="1" cellpadding="3" cellspacing="1" >
< tr >
< th >Field< /th >
< th >Type< /th >
< th >Indexed< /th >
< th >Means< /th >
< /tr >
< tr >
< td >ident< /td >
< td >AutoNumber< /td >
< td >Yes< /td >
< td >For your needs< /td >
< /tr >
< tr >
< td >id< /td >
< td >Text< /td >
< td >Yes< /td >
< td >用户名< /td >
< /tr >
< tr >
< td >count< /td >
< td >Number< /td >
< td >No< /td >
< td >计数数字< /td >
< /tr >
< /table >

需要时给数据库赋一个的权限

建立一个存放GIF图形的目录,在这个目录中至少要放一个default.gif的图形组.适当时给这个文件以权限.

给这个目录中放一些能被10整除的数字图形.

以下为引用的内容:

< table width="100%" border="1" cellspacing="1" cellpadding="2" >
< tr >
< td bgcolor="#ccffff" >File < b >counter.asp< /b > < /td >
< /tr >
< tr >
< td bgcolor="#ffffcc" >< pre >
< %
Response.ContentType="image/gif"
Response.Expires=0
'The directory where GIF bars are placed. Ends with \
workdir="c:\gifbars\"
'Set this to False if you want to disable auto inserting
'new counter records to database on every hit with unique
'id string
auto_insert=True
id=Trim(Request.QueryString("id"))
seq=Trim(Request.QueryString("seq"))
if seq="" then seq="default"
cells=Trim(Request.QueryString("cells"))
if cells="" then cells=5 else cells=cells*1
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Webcounter"
sql="select count,ident from main where id='" & id & "'"
set rs=conn.Execute(sql)
if not rs.EOF then
count=rs("count")+1
ident=rs("ident")
rs.close()
conn.Execute("update main set count=count+1 where ident=" & ident)
conn.close()
ShowNumbers()
else
rs.close()
if auto_insert=True and id< >"" then
conn.Execute("insert into main (id,count) values ('" & id & "',1)")
count=1
ShowNumbers()
end if
conn.close()
end if

Sub ShowNumbers()
set g=CreateObject("shotgraph.image")
filename=workdir & seq & ".gif"
if g.GetFileDimensions(filename,xsize,ysize,pal)< >1 then Exit Sub
xdigit=xsize\10
g.CreateImage xdigit*cells,ysize,UBound(pal)+1
g.InitClipboard xsize,ysize
g.SelectClipboard True
for i=0 to UBound(pal)
g.SetColor i,pal(i,0),pal(i,1),pal(i,2)
next
g.ReadImage filename,pal,0,0
for i=1 to cells
k=GetDigit(count,cells-i)
g.Copy (i-1)*xdigit,0,xdigit,ysize,k*xdigit,0,"SRCCOPY"
next
Response.BinaryWrite g.GifImage(-1,1,"")
End Sub

Function GetDigit(number,position)
number1=number\(10^position)
tmp=number1\10
GetDigit=number1-tmp*10
End Function

% >
< xmp >
< /pre >
< /td >
< /tr >
< /table >

< hr >< /span >< /td >
< /tr >
< tr >
< td width="50%" > < /td >
< td width="50%" >< br >< /td >
< /tr >
< tr >
< td colspan=2 align="right" >
< img border="0" src="images/bbstitle.gif" >< a id="hlkAddMsg" href="/AddMsg.aspx?id=234" style="color:red" >发表评论< /a >
< img border="0" src="images/mail.gif" >< a id="hlkMailTo" href="/MailTo.aspx?id=234" >邮寄本页< /a >
< img border="0" src="images/print.gif" >< a href="javascript:window.print()" >打印本页< /a >
< img border="0" src="images/profile.gif" >< a href="javascript:void(null)" onclick="if(!document.execCommand('SaveAs','show.aspx',1)) return false;" >保存本页< /a >
< img border="0" src="images/ask.gif" >< a href="bbs/index.asp" >您有疑问< /a >
< /td >
< /tr >
< tr bgcolor="#97B9FF" >
< td width="50%" >< b >< font color="#FFFFFF" >相关文章< /font >< /b >< /td >
< td width="50%" >< b >< font color="#FFFFFF" >相关评论< /font >< /b >< /td >
< /tr >
< tr >
< td width="50%" valign="top" >

< /td >
< td width="50%" valign="top" >

< /td >
< /tr >
< tr >
< td width="50%" >
< /td >
< td width="50%" align="right" >< img border="0" src="images/more.gif" >< a id="hlkRela" >< /a >< /td >
< /tr >
< /table >
< /td >
< /tr >
< /table >
< /td >
< /tr >
< /table >
< /body >
< /html >

佚名