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() )
%>