%
Dim Source_,Method_
Method_ = "GET"
Source_ = "http://113.240.254.59/rednet/pages/toupiao/voteNumber.do?voteId=122&operatorId=5"
Dim GetValue,arrResult(221),N
GetValue = Steal
If IsNumeric(GetValue) Then
Response.Write "投票服务器暂时无法接入!"
Else
GetValue = Split(GetValue,"
")
For N=0 To 221
arrResult(N) = Split(GetValue(N),"#")(1)
Next
Call DrawResult(arrResult)
End If
Sub DrawResult(arrResult)
%>
<%
Dim intMax
intMax = 0
Dim N
dim iItemCount
iItemCount=222
redim total(iItemcount,2)
For N = 1 To 222
total(N,1)= arrResult(N-1)
If Int(intMax)=10 Then
total(N,2)= "10" & N
Else
total(N,2)= "100" & N
End if
If N>=100 Then total(N,2)= "1" & N
' total(N,2) = "1" & total(N,2) & " " & strTempName(N-1)
Next
Call table1(total,0,0,1,3,160,4260,"B",10+intMax,4)
'参数含义(传递的数组,横坐标,纵坐标,柱子的厚度,柱子的宽度,图表的宽度,图表的高度,图表的类型,作为比照的最大值,等分数)
'call table3(total,200,320,400,250,"A")
'call table2(total,200,320,400,250,1)%>
<%
End Sub
Function Bytes2bStr(vin, Charset)
On Error Resume Next
Set objectStream = Server.CreateObject("ADODB.Stream")
With objectStream
.Type = 2
.Mode = 3
.Open
.WriteText vin
.Position = 0
.Charset = Charset
.Position = 2
StringReturn = .ReadText
.Close
End With
Set objectStream = Nothing
Bytes2bStr = StringReturn
End Function
Function Steal()
If Source_ <> "" Then
On Error Resume Next
Set objectHttp=Server.CreateObject("MSXML2.XMLHTTP")
objectHttp.Open Method_,Source_,False
If Method_ = "POST" Then
objectHttp.SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
objectHttp.Send(Input_)
Else
objectHttp.Send()
End If
If objectHttp.ReadyState <> 4 Then
Exit Function
End If
Value_ = Bytes2bStr(objectHttp.ResponseBody,"Gb2312")
' Value_ = Bytes2bStr(objectHttp.ResponseBody,"UTF-8")
IsGet_ = True
Set objectHttp = Nothing
If Err.Number <> 0 Then Err.Clear
Else
Value_ = 0
End If
Steal = Value_
End Function
Function HTMLEncode(String)
If String = "" Or String = "0" Then : Exit Function
String = Replace(String, "&", "&")
String = Replace(String, ">", ">")
String = Replace(String, "<", "<")
String = Replace(String, Chr(34), """)
String = Replace(String, Chr(39), "´")
HTMLEncode = String
End Function
function table2(total,table_x,table_y,all_width,all_height,line_no)
'参数含义(传递的数组,横坐标,纵坐标,图表的宽度,图表的高度,折线条数)
'纯ASP代码生成图表函数2——折线图
'作者:龚鸣(Passwordgm) QQ:25968152 MSN:passwordgm@sina.com Email:passwordgm@sina.com
'本人非常愿意和ASP,VML,FLASH的爱好者在HTTP://topclouds.476.com进行交流和探讨
'版本1.0 最后修改日期 2003-8-11
'非常感谢您使用这个函数,请您使用和转载时保留版权信息,这是对作者工作的最好的尊重。
line_color="#69f"
left_width=70
total_no=ubound(total,1)
temp1=0
for i=1 to total_no
for j=1 to line_no
if temp19 then
temp2=mid(cstr(temp1),2,1)
if temp2>4 then
temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+1)*10^(len(cstr(temp1))-1)
else
temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+0.5)*10^(len(cstr(temp1))-1)
end if
else
if temp1>4 then temp3=10 else temp3=5
end if
temp4=temp3
response.write ""
for i=0 to all_height-1 step all_height/5
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
temp4=temp4-temp3/5
next
response.write ""
response.write ""
dim line_code
redim line_code(line_no,5)
for i=1 to line_no
line_temp=split(total(0,i),",")
line_code(i,1)=line_temp(0)
line_code(i,2)=line_temp(1)
line_code(i,3)=line_temp(2)
line_code(i,4)=line_temp(3)
line_code(i,5)=line_temp(4)
next
for j=1 to line_no
for i=1 to total_no-1
x1=table_x+left_width+all_width*(i-1)/total_no
y1=table_y+(temp3-total(i,j))*(all_height/temp3)
x2=table_x+left_width+all_width*i/total_no
y2=table_y+(temp3-total(i+1,j))*(all_height/temp3)
response.write ""
select case line_code(j,3)
case 1
case 2
response.write ""
case 3
response.write ""
case 4
response.write ""
case 5
response.write ""
case 6
response.write ""
case 7
response.write ""
case else
end select
response.write ""&CHR(13)
select case line_code(j,4)
case 1
case 2
response.write ""&CHR(13)
case 3
response.write ""&CHR(13)
end select
next
select case line_code(j,4)
case 1
case 2
response.write ""&CHR(13)
case 3
response.write ""&CHR(13)
end select
next
for i=1 to total_no
response.write ""
response.write ""
response.write ""
response.write ""
next
tb_height=32
response.write ""
for i=1 to line_no
response.write ""
response.write ""
response.write ""
next
end function
function Rand(UpperBound,LowerBound)
Randomize
Rand = Fix((UpperBound - LowerBound + 1) * Rnd + LowerBound)
end function
function table1(total,table_x,table_y,thickness,table_width,all_width,all_height,table_type,topacount,divs)
'ASP代码生成图表函数——柱状图
'参数含义(传递的数组,横坐标,纵坐标,柱子的厚度,柱子的宽度,图表的宽度,图表的高度,图表的类型,作为比照的最大值,等分数)
'topacount 实际工作中因为我们经常会遇到知道最高值而将统计值以柱状图显示的情况
'divs 原程序是以5为等分数,此处您可按需要指等分数
dim total_no,tbcolorstr1,tbcolorstr2,tmpcolornum,colorinterval,rndUpper,rndLower,scaleval 'total数组1维下标的长度
total_no=UBound(total,1)
redim tb_color(total_no,2)
colorinterval = 4 '经验值,您可自行调整
rndUpper = 255 '取比较浅点的颜色作为柱子的颜色,如果您喜欢深色可以作适当调整
rndLower = 100 '取比较浅点的颜色作为柱子的颜色,如果您喜欢深色可以作适当调整
for i=1 to total_no
tbcolorstr1 = ""
tbcolorstr2 = ""
tmpcolornum = rand(rndUpper,rndLower)
if tmpcolornum9 then
temp2=mid(cstr(temp1),2,1)
if temp2>4 then
temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+1)*10^(len(cstr(temp1))-1)
else
temp3=(int(temp1/(10^(len(cstr(temp1))-1)))+0.5)*10^(len(cstr(temp1))-1)
end if
else
if temp1>4 then temp3=10 else temp3=5
end if
temp4=temp3
response.write ""
response.write ""
response.write ""
select case table_type
case "A"
scaleval = topacount
table_space=(all_width-table_width*total_no)/total_no
response.write ""
for i=0 to all_height-1 step all_height/divs
response.write ""
response.write ""
response.write ""
response.write ""
scaleval = scaleval - topacount/divs
next
for i=1 to total_no
temp_space=table_x+left_width+table_space/2+table_space*(i-1)+table_width*(i-1)
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
next
Case "B"
scaleval = topacount/divs
table_space=(all_height-table_width*total_no)/total_no
temp4=temp3/5
response.write ""
for i=0 to all_width-1 step all_width/divs
response.write ""
response.write ""
response.write ""
response.write ""
scaleval=scaleval+topacount/divs
next
for i=1 to total_no
temp_space=table_space/2+table_space*(i-1)+table_width*(i-1)
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
response.write ""
next
case else
end select
end function
%>
<%
function table3(total,table_x,table_y,all_width,all_height,table_type)
'参数含义(传递的数组,横坐标,纵坐标,图表的宽度,图表的高度,图表的类型)
'纯ASP代码生成图表函数3——饼图
'作者:龚鸣(Passwordgm) QQ:25968152 MSN:passwordgm@sina.com Email:passwordgm@sina.com
'本人非常愿意和ASP,VML,FLASH的爱好者在HTTP://topclouds.476.com进行交流和探讨
'版本1.0 最后修改日期 2003-8-11
'非常感谢您使用这个函数,请您使用和转载时保留版权信息,这是对作者工作的最好的尊重。
tb_height=82
dim total_no,tbcolorstr1,tbcolorstr2,tmpcolornum,colorinterval,rndUpper,rndLower,scaleval 'total数组1维下标的长度
total_no=UBound(total,1)
redim tb_color(total_no,2)
colorinterval = 4 '经验值,您可自行调整
rndUpper = 255 '取比较浅点的颜色作为柱子的颜色,如果您喜欢深色可以作适当调整
rndLower = 100 '取比较浅点的颜色作为柱子的颜色,如果您喜欢深色可以作适当调整
for i=1 to total_no
tbcolorstr1 = ""
tbcolorstr2 = ""
tmpcolornum = rand(rndUpper,rndLower)
if tmpcolornum"&CHr(13)
PreAngle=PreAngle+total(i,1)/totalpie
next
if table_type="A" then
response.write ""
for i=1 to total_no
response.write ""
response.write ""
response.write ""
'显示比例数
response.write ""
response.write ""&formatnumber(total(i,1)*100/totalpie,2,-1)&"% |
"
next
end if
if table_type="B" then
pie=3.14159265358979
TempPie=0
for i=1 to total_no
TempAngle=pie*2*(total(i,1)/(TotalPie*2)+TempPie)
x1=table_x+all_width/2+cos(TempAngle)*all_width*3/8
y1=table_y+all_height/2-sin(TempAngle)*all_height*3/8
x2=table_x+all_width/2+cos(TempAngle)*all_width*3/4
y2=table_y+all_height/2-sin(TempAngle)*all_height*3/4
if x2>table_x+all_width/2 then
x3=x2+20
x4=x3
else
x3=x2-20
x4=x3-100
end if
response.write ""&CHR(13)
response.write ""
response.write ""
response.write ""
response.write ""&total(i,2)&" "&formatnumber(total(i,1)*100/totalpie,2,-1)&"% |
"
TempPie=TempPie+total(i,1)/TotalPie
next
end if
end function
%>