日期:2013-05-09  浏览次数:21366 次

通常我们做统计图的时候需要借助组件来完成例如mschart,aspchart等
但是这个类不需要任何组件,而且使用方便
clsGraph.asp
<%
Class InteliGraph

Public Copyright, Developer, Name, Version, Web
Public Maximum, BarWidth, BarColor, Orientation
Private Items(), Cnt

Private Sub Class_Initialize()
Copyright = "?2001 Ticluse Teknologi, All rights reserved."
Developer = "James Lind雗"
Name = "InteliGraph"
Version = "1.0"
Web = "http://www.intelidev.com"
Cnt = 0
End Sub

Public Function Add( value )
ReDim Preserve Items( Cnt )
Items( Cnt ) = value
data = Cnt
Cnt = Cnt + 1
Add = data
End Function

Public Function Build()
If Cnt < 1 Then Exit Function
If Len( Orientation ) = 0 Or LCase( Orientation ) = "horizontal" Then
For Idx = LBound( Items ) To UBound( Items )
data = data & "<table height=" & BarWidth & " border=1 width=" & Maximum & " cellspacing=2>" & vbNewLine
data = data & vbTab & "<tr><td width=" & Items(Idx) & " bgcolor=" & BarColor & " align=center><font size=-4> </font></td>"
If Items(Idx) < Maximum Then
data = data & "<td width=" & Maximum - Items(Idx) & "></td>"
End If
data = data & "</tr>" & vbNewLine & "</table>" & vbNewLine
Next
ElseIf LCase( Orientation ) = "vertical" Then
data = "<table><tr>" & vbNewLine
For Idx = LBound( Items ) To UBound( Items )
data = data & "<td><table width=" & BarWidth & " border=1 height=" & Maximum & " cellspacing=2>" & vbNewLine
If Items(Idx) < Maximum Then
data = data & "<tr><td height=" & Maximum - Items(Idx) & "></td></tr>"
End If
data = data & vbTab & "<tr><td height=" & Items(Idx) & " bgcolor=" & BarColor & " align=center><font size=-4> </font></td>"
data = data & "</tr>" & vbNewLine & "</table>" & vbNewLine & "</td>" & vbNewLine
Next
data = data & "</tr></table>" & vbNewLine
End If
Build = data
End Function

End Class
%>
使用方法
这个类一共有四个属性
BarWidth(图片条的尺寸)
BarColor*(图片条颜色)
Maximum(图片条最大长度)
Orientation(方向)
有两个函数
Add( value )添加图片条到图片中
Build()建立图片
事例:
<!-- #include file=clsGraph.asp -->
<%
Public Const vert = "vertical"
Public Const horz = "horizontal"

Dim Graph

Set Graph = New InteliGraph
Graph.BarWidth = 10
Graph.BarColor = "blue"
Graph.Maximum = 100
Graph.Orientation = horz

For Idx = 0 To 100 Step 25
Graph.Add( Idx )
Next

Response.Write( Graph.Build() )
%>