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

给这个目录中放一些能被 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 >