<script runat="SERVER">
Dim homepage As usershop
Dim typeid As String
Dim gui_bm As BitMap
Dim gui_gh As Graphics
Dim votename As String
Dim votecount As Integer
Dim showp As Byte
Dim i As Byte
Private Function GetColor(ByVal itemIndex As Integer) As Color
Dim objColor As Color
Select Case itemIndex
Case 0
objColor = Color.Blue
Case 1
objColor = Color.Red
Case 2
objColor = Color.Yellow
Case 3
objColor = Color.Purple
Case 4
objColor = Color.Orange
Case 5
objColor = Color.Brown
Case 6
objColor = Color.Gray
Case 7
objColor = Color.Maroon
Case 8
objColor = Color.Maroon
Case Else
objColor = Color.Beige
End Select
Return objColor
End Function
Sub Page_Unload()
homepage.conn.Close()
homepage.conn.Dispose()
homepage = Nothing
Me.Dispose()
End Sub
</script>
<%
Response.Cache.SetNoStore()
typeid = Request("typeid")
If Not IsNumeric(typeid) Then
Response.Redirect("/")
End If
'读取投票标题
homepage = New usershop
votename = homepage.votename(typeid)
If votename="" Then
homepage.conn.Close
Me.Dispose()
Response.Redirect("/")
else
votename = Replace(Replace(votename,"<b>",""),"</b>","")
End If
homepage.dataread.Close
homepage.objcommand.Dispose()
'投票总数
votecount = homepage.votecount(typeid)
'创建图例文字。
Dim symbolLeg As PointF = New PointF(335, 80)
Dim descLeg As PointF = New PointF(360, 80)
Call homepage.votedata(typeid) '得到此次投票数据
Do While homepage.dataread.Read()
gui_gh.FillRectangle(New SolidBrush(GetColor(i)), symbolLeg.X, symbolLeg.Y, 20, 10)
gui_gh.DrawRectangle(Pens.Black, symbolLeg.X, symbolLeg.Y, 20, 10)
gui_gh.DrawString(homepage.dataread("name").ToString, New Font("宋体", 9), Brushes.Black, descLeg)
symbolLeg.Y += 20
descLeg.Y += 20
i+=1
Loop
homepage.dataread.Close()
homepage.objcommand.Dispose()
'写入版权信息
gui_gh.DrawString("中国西部经联网 - 网上商城", New Font("宋体", 9), Brushes.Gray, New PointF(320, 360))
gui_gh.DrawString("BUY.CWECN.COM", New Font("Arial", 9), Brushes.Gray, New PointF(320, 380))
symbolLeg = New PointF(335, 296)
descLeg = New PointF(335, 295)
gui_gh.FillRectangle(New SolidBrush(GetColor(9)), symbolLeg.X, symbolLeg.Y, 100, 18)
gui_gh.DrawRectangle(Pens.Black, symbolLeg.X, symbolLeg.Y, 100, 18)
gui_gh.DrawString("共票数: " & votecount, New Font("宋体", 9), Brushes.Black, New PointF(339, 300))
Dim sglCurrentAngle As Single = 0 '角度
Dim sglTotalAngle As Single = 0 '弧度
Dim jd As Single
Call homepage.votedata(typeid) '得到此次投票数据
i = 0
Do While homepage.dataread.Read()
sglCurrentAngle = homepage.dataread("count") / votecount * 360 '得到所占角度大小
'画出填充圆弧。
gui_gh.FillPie(New SolidBrush(GetColor(i)),5, 65, 300, 300, sglTotalAngle, sglCurrentAngle)
'画出圆弧线。
gui_gh.DrawPie(Pens.Black, 5, 65, 300, 300, sglTotalAngle, sglCurrentAngle)
'写入注释
jd = sglCurrentAngle + sglTotalAngle
gui_gh.DrawString("投票:" & homepage.dataread("count"), New Font("宋体", 9), Brushes.Gray, New PointF(155*cos(jd)*-1,215*sin(jd)*-1))
'把当前圆弧角度加到总角度上。
sglTotalAngle += sglCurrentAngle
i += 1
Loop
homepage.dataread.Close()
homepage.objcommand.Dispose()