您现在的位置: 蓝之韵论文 >> 论文 >> 理工计算机 >> 论文正文 用户登录 新用户注册
用ASP生成Chart的源代码           
用ASP生成Chart的源代码
作者:未知 文章来源:http://www.21blue.com 点击数: 更新时间:2005-6-28

<SCRIPT 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 don't 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='chart.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 tablestring = tablestring & " "
  tablestring = tablestring & stuff
  for count = 0 to round((maxlength - len(stuff))/2)
  tablestring = tablestring & " "
  next
  tablestring = tablestring & " </TD>" & vbCrLf
  next
  
  tablestring = tablestring & "</TABLE></td></tr></table>" & vbCrLf
  makechart = tablestring
  else
  Response.Write "Error Function Makechart: maxwidth and maxlength have to be greater " & _
  " then 0 or number of labels not equal to number of values"
  end if
  end function
  
  
  dim stuff
  dim labelstuff
  ' Demo 1
  stuff = Array(5,30)
  labelstuff = Array("北京", "广州")
  Response.Write makechart("Demo 1", stuff, labelstuff, null, "gold",10, 50,40,true)
  
  </SCRIPT>
论文(www.21blue.com)录入:admin    责任编辑:admin 
  • 上一篇论文: ASP服务器组件的编程

  • 下一篇论文: MySQL数据库相关基础
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
  • 参观机械密封厂的实习报

  • 建筑工程生产实习报告

  • 教育(www.21blue.com)实习总结报告

  • 土木工程实习报告

  • 通过欣赏音乐培养学生的

  • 银行会计社会实习报告

  • 大学生酒店实习报告范文

  • 倾听田园的声音

  • 广州市人民政府暑期实习

  • 我的暑假实习报告

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)