以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  求助!帮我分析下面代码为什么显示不出来  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=40230)


--  作者:psj1234
--  发布时间:11/20/2006 11:56:00 AM

--  求助!帮我分析下面代码为什么显示不出来
我想做个饼状统计图(ASP).在网上下了源代码.
可是怎么改就是不能正确显示图形.

麻烦哪位高手帮忙看看!

很急啊!


<!--参数含义(数组,横坐标,纵坐标,图表的宽度,图表的高度,图表标题,单位)  -->
<%
function table2(stat_array,table_left,table_top,all_width,all_height,table_title,unit)
dim bg_color(10),pie(10)
bg_color(1)="#d1ffd1"
bg_color(2)="#ffbbbb"
bg_color(3)="#ffe3bb"
bg_color(4)="#cff4f3"
bg_color(5)="#d9d9e5"
bg_color(6)="#ffc7ab"
bg_color(7)="#ecffb7"
bg_color(8)="#ecf0b7"
bg_color(9)="#ecff07"
bg_color(10)="#ecf007"  

num =ubound(stat_array,1)
allvalues=0

for i=1 to num
allvalues = allvalues+stat_array(i,1)
next

k=0
for i=1 to num-1
pie(i)=formatnumber(stat_array(i,1)/allvalues,4,-1)
k=k+pie(i)
next
pie(num)=formatnumber((1-k),4,-1)

response.Write "<v:shapetype id=Cake_3D coordsize=21600,21600 o:spt=95 adj=11796480,5400 path=al10800,10800@0@0@2@14,10800,10800,10800,10800@3@15xe></v:shapetype>"
response.Write "<v:shapetype id=3dtxt coordsize=21600,21600 o:spt=136 adj=10800 path=m@7,l@8,m@5,21600l@6,21600e> "
response.Write " <v:path textpathok=t o:connecttype=custom o:connectlocs=@9,0;@10,10800;@11,21600;@12,10800 o:connectangles=270,180,90,0/>"
response.Write " <v:textpath on=t fitshape=t/>"
response.Write " <o:lock v:ext=edit text=t shapetype=t/>"
response.Write "</v:shapetype>"
response.Write "<v:rect id=background style=position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px; fillcolor=#EFEFEF strokecolor=gray>"
response.Write " <v:shadow on=t type=single color=silver offset=4pt,4pt/>"
response.Write "</v:rect>"
response.Write "<v:group ID=table style=position:absolute;left:"&table_left&"px;top:"&table_top&"px;WIDTH:"&all_width&"px;HEIGHT:"&all_height&"px; coordsize = 21000,11500>"
response.Write " <v:Rect style=position:relative;left:500;top:200;width:20000;height:800filled=false stroked=false>"
response.Write " <v:TextBox inset=0pt,0pt,0pt,0pt>"
response.Write " <table width=100% border=0 align=center cellspacing=0>"
response.Write " <tr>"
response.Write " <td align=center valign=middle><div style=font-size:15pt; font-family:黑体;><B>"&table_title&"</B></div></td>"
response.Write " </tr>"
response.Write " </table>"
response.Write " </v:TextBox>"
response.Write " </v:Rect> "
response.Write " <v:rect id=back style=position:relative;left:500;top:1000;width:20000; height:10000; onmouseover=movereset(1) onmouseout=movereset(0) fillcolor=#9cf strokecolor=#888888>"
response.Write " <v:fill rotate=t angle=-45 focus=100% type=gradient/>"
response.Write " </v:rect>"
response.Write " <v:rect id=back style=position:relative;left:15000;top:1400;width:5000; height:"&((num+1)*9000/11+200)&"; fillcolor=#9cf stroked=t strokecolor=#0099ff>"
response.Write " <v:fill rotate=t angle=-175 focus=100% t  pe=gradient/>"
response.Write " <v:shadow on=t type=single color=silver offset=3pt,3pt/>"
response.Write " </v:rect>"
response.Write " <v:Rect style=position:relative;left:15500;top:1500;width:4000;height:700 fillcolor=#000000 stroked=f strokecolor=#000000>"
response.Write " <v:TextBox inset=8pt,4pt,3pt,3pt style=font-size:11pt;><div align=left><font color=#ffffff><B>总数:"&allvalues&unit&"</B></font></div></v:TextBox>"
response.Write " </v:Rect> "

for i=1 to num
response.Write " <v:Rect id=rec"&i&" style=position:relative;left:15400;top:"&i*9000/11+1450&";width:4300;height:800;display:none fillcolor=#efefef strokecolor="&bg_color(i)&">"
response.Write " <v:fill opacity=.6 color2=fill darken(118) o:opacity2=.6 rotate=t method=linear sigma focus=100% type=gradient/>"
response.Write " </v:Rect>"
response.Write " <v:Rect style=position:relative;left:15500;top:"&i*9000/11+1500&";width:600;height:700 fillcolor="&bg_color(i)&" stroked=f/>"
response.Write " <v:Rect style=position:relative;left:16300;top:"&i*9000/11+1500&";width:3400;height:700 filled=f stroked=f>"
response.Write " <v:TextBox inset=0pt,5pt,0pt,0pt style=font-size:9pt;><div align=left>"&stat_array(i,2)&":"&stat_array(i,1)&unit&"</div></v:TextBox>"
response.Write " </v:Rect> "
next
response.Write "</v:group>"
k1=180
k4=10
for i=1 to num
   k2=360*pie(i)/2
   k3=k1+k2
if k3>=360 then
   k3=k3-360
end if

kkk=(-11796480*pie(i)+5898240)
k5=3.1414926*2*(180-(k3-180))/360
R=all_height/2
txt_x = table_left+all_height/8-30+R+R*sin(k5)*0.7
txt_y = table_top+all_height/14-39+R+R*cos(k5)*0.7*0.5
titlestr = "&nbsp;名&nbsp;&nbsp;称:"&stat_array(i,2)&" &nbsp;数&nbsp;&nbsp;值:"&stat_array(i,1)&unit&" &nbsp;所占比例:"&pie(i)*100&"%&nbsp;&nbsp;"

response.Write " <div style=cursor:hand;>"
response.Write " <v:shape id=cake"&i&" type=#Cake_3D title="&titlestr&""
response.Write " style=position:absolute;left:"&table_left+all_height/8&"px;top:"&table_top+all_height/14&"px;WIDTH:"&all_height&"px;HEIGHT:"&all_height&"px;rotation:"&k3&";z-index:"&k4&""
response.Write " adj="&kkk&",0 fillcolor="&bg_color(i)&" onmouseover=moveup(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&"); onmouseout=movedown(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&");>"
response.Write " <v:fill opacity=60293f color2=fill lighten(120) o:opacity2=60293f rotate=t angle=-135 method=linear sigma focus=100% type=gradient/>"
response.Write " <o:extrusion v:ext=view on=tbackdepth=25 rotationangle=60 viewpoint=0,0viewpointorigin=0,0 skewamt=0 lightposition=-50000,-50000 lightposition2=50000/>"
response.Write " </v:shape>"
response.Write " <v:shape id=txt"&i&" type=#3dtxt style=position:absolute;left:"&txt_x&"px;top:"&txt_y&"px;z-index:20;display:none;width:50; height:18; fillcolor=#ffffff"
response.Write " onmouseover=ontxt(cake"&i&","&(table_top+all_height/14)&",txt"&i&",rec"&i&")>"
response.Write " <v:fill opacity=60293f color2=fill lighten(120) o:opacity2=60293f rotate=t angle=-135 method=linear sigma focus=100% type=gradient/>"
response.Write " <v:textpath style=font-family:宋体;v-text-kern:t trim=t fitpath=t string="&pie(i)*100&"%/>"
response.Write " <o:extrusion v:ext=view backdepth=8pt on=t lightposition=0,0 lightposition2=0,0/>"
response.Write " </v:shape>"
response.Write " </div>"

k1=k1+k2*2
if k1>=360 then
    k1=k1-360
end if
if k1>180 then
  k4=k4+1
else k4=k4-1
end if
next
end function %>

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<title></title>

<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
onit=true
num=0
function moveup(iteam,top,txt,rec)
{
temp=eval(iteam)
tempat=eval(top)
temptxt=eval(txt)
temprec=eval(rec)
at=parseInt(temp.style.top)
temprec.style.display = "";
   if (num>27)
{
    temptxt.style.display = "";
}
   if(at>(tempat-28)&&onit)
{
    num++ temp.style.top=at-1
    Stop=setTimeout("moveup(temp,tempat,temptxt,temprec)",10)
}
   else
{ return }
}
function movedown(iteam,top,txt,rec)
{
temp=eval(iteam)
temptxt=eval(txt)
temprec=eval(rec)
clearTimeout(Stop)
temp.style.top=top
num=0
temptxt.style.display = "none";
temprec.style.display = "none";
}
function ontxt(iteam,top,txt,rec)
{
  temp = eval(iteam);
  temptxt = eval(txt);
  temprec = eval(rec)
  if (onit)
  {
   temp.style.top = top-28;
   temptxt.style.display = "";
   temprec.style.display = "";
    }
 }
 function movereset(over)
 {
 if (over==1)
 {
 onit=false
 }
 else
 { onit=true }
  }
  --> </script>
<%
dim total(10,2)
total(1,1)=2000
total(2,1)=1800
total(3,1)=1700
total(4,1)=1500
total(5,1)=1222
total(6,1)=1100
total(7,1)=1000
total(8,1)=800
total(9,1)=700
total(10,1)=600
total(1,2)="项目1"
total(2,2)="项目2"
total(3,2)="项目3"
total(4,2)="项目4"
total(5,2)="项目5"
total(6,2)="项目6"
total(7,2)="项目7"
total(8,2)="项目8"
total(9,2)="项目9"
total(10,2)="项目10"
call table2(total,24,20,70,40,"三维饼状图","元")
%>
</body>
</html>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms