当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP生成Chart

ASP
asp利用dictionary创建二维数组
ASP + Serv-u 实现FTP的代码
asp获取数据库中所有表名和字段名
SITEMAP生成程序的ASP实现
通过XMLHTTP实现模板式静态页生成
实践xml缓存技术构建高性能web站点
一个简单好用的UBB编辑器(含代码)
使用ASP脚本命令重新启动服务器
技巧:用ASP在线创建Word与Excel文档
ASP.NET后台代码实现XmlHttp跨域访问
浅析 ASP.NET编程中的十大技巧
用ASP实现IE地址栏参数的判断
ASP调用SQL Server视图和存储过程
应用:用ASP实现在线文章翻译的功能
ASP实现无组件生成验证码-GIF格式
ASP实现长文章自动分页的函数代码
深入研究Application和Session对象
提高ASP的速度的方法:GetString
ASP进阶教程Ⅶ:留言簿设置密码验证
asp获取文件md5值

用ASP生成Chart


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

糞CRIPT LANGUAGE="VBScript" RUNAT="SERVER">
function makechart(title, numarray, labelarray, color, bgcolor, bordersize, maxheight, maxwidth, addvalues)
Function makechart version 3

Jason Borovoy
title: Chart Title
numarray: An array of values for the chart
labelarray: An array of labels coresponding to the values must me present
color If null uses different colors for bars if not null all bars color you specify
bgcolor Background color.
bordersize: border size or 0 for no border.
maxheight: maximum height for chart not including labels
maxwidth: width of each column
addvalues: true or false depending if you want the actual values shown on the chart
when you call the function use : response.write makechart(parameters)

actually returnstring would be a better name
dim tablestring
max value is maximum table value
dim max
maxlength maximum length of labels
dim maxlength
dim tempnumarray
dim templabelarray
dim heightarray
Dim colorarray
value to multiplie chart values by to get relitive size
Dim multiplier
if data valid
if maxheight > 0 and maxwidth > 0 and ubound(labelarray) = ubound(numarray) then
colorarray: color of each bars if more bars then colors loop through
if you dont like my choices change them, add them, delete them.
colorarray = array("red","blue","yellow","navy","orange","purple","green")
templabelarray = labelarray
tempnumarray = numarray
heightarray = array()
max = 0
maxlength = 0
tablestring = "<TABLE bgcolor=" & bgcolor & " border=" & bordersize & ">" & _
"<tr><td><TABLE border=0 cellspacing=1 cellpadding=0>" & vbCrLf
get maximum value
for each stuff in tempnumarray
if stuff > max then max = stuff end if
next
calculate multiplier
multiplier = maxheight/max > populate array
for counter = 0 to ubound(tempnumarray)
if tempnumarray(counter) = max then
redim preserve heightarray(counter)
heightarray(counter) = maxheight
else
redim preserve heightarray(counter)
heightarray(counter) = tempnumarray(counter) * multiplier
end if
next


set title
tablestring = tablestring & "<TR><TH colspan=" & ubound(tempnumarray)+1 & ">" & _
"<FONT FACE=Verdana, Arial, Helvetica SIZE=1><U>" & title & "</TH></TR>" & _
vbCrLf & "<TR>" & vbCrLf
loop through values
for counter = 0 to ubound(tempnumarray)
tablestring = tablestring & vbTab & "<TD valign=bottom align=center >" & _
"<FONT FACE=Verdana, Arial, Helvetica SIZE=1>" & _
"<table border=0 cellpadding=0 width=" & maxwidth & "><tr>" & _
"<tr><td valign=bottom bgcolor="
if not isNUll(color) then
if color present use that color for bars
tablestring = tablestring & color
else
if not loop through colorarray
tablestring = tablestring & colorarray(counter mod (ubound(colorarray)+1))
end if
tablestring = tablestring & " height=" & _
round(heightarray(counter),2) & "><img src="/upload/tech/20091103/20091103094111_3dc4876f3f08201c7c76cb71fa1da439.gif" width=1 height=1>" & _
"</td></tr></table>"
if addvalues then
print actual values
tablestring = tablestring & "<BR>" & tempnumarray(counter)
end if
tablestring = tablestring & "</TD>" & vbCrLf
next

tablestring = tablestring & "</TR>" & vbCrLf
calculate max lenght of labels
for each stuff in labelarray
if len(stuff) >= maxlength then maxlength = len(stuff)
next
print labels and set each to maxlength
for each stuff in labelarray
tablestring = tablestring & vbTab & "<TD align=center><" & _
"FONT FACE=Verdana, Arial, Helvetica SIZE=1><B> "
for count = 0 to round((maxlength - len(stuff))/2)
tablestring = tablestring & " "
next
if maxlength mod 2 <> 0 then tab