查看完整版本: 一个不需要第三方组件,可实现华简单图形的类

豹子 2007-6-23 10:29

一个不需要第三方组件,可实现华简单图形的类

通常我们做统计图的时候需要借助组件来完成例如mschart,aspchart等3m)M)ei3z` N
但是这个类不需要任何组件,而且使用方便
!Y s#F(v?L.FJX![ clsGraph.asp
#[`0m[ oQp %
l\8T'k)m Class InteliGraph
3a-nJH S J F&R4M J6^ y,F
   ] tBxl.Va8Yxcj
HYv+vpka(^hS
Public Copyright, Developer, Name, Version, Web
/{%U1m wj{ Public Maximum, BarWidth, BarColor, Orientation
fu:~3w4J(lo| Private Items(), Cnt  
1DeG,mM Yr O'w X P
Private Sub Class_Initialize() M"\l S5mF+s
Copyright = "?2001 Ticluse Teknologi, All rights reserved."
lb3oRx Developer = "James Lind雗"
A!mK*D8D2u3V Name = "InteliGraph"
y5}2n^8`]D%_*Ho Version = "1.0"
#X0]spVj~ Web = "http://www.intelidev.com"*R}{4ak9ij
Cnt = 0*F hQ.eO*M,W {/T
End Sub  9f(M } [*K;}

7{J4Kbpl)K Public Function Add( value ).IkTog3?
ReDim Preserve Items( Cnt );l#F(ll!kOkJ
Items( Cnt ) = value
P eK,Um Nqo Re data = Cnt
O-? y$dy4mO5N Cnt = Cnt   1!m~T1P|EKQ4o
Add = data r CS.|#Bh8S5{3r#b
End Function  
q YJO&Q~
K;~)H2Xl_;A Public Function Build()
,i"w-I7a:`@8]f2e If Cnt  1 Then Exit Function3nD0K].q s k&j
If Len( Orientation ) = 0 Or LCase( Orientation ) = "horizontal" Thenof9N!g)L}
For Idx = LBound( Items ) To UBound( Items )
#NWq)t9ym data = data  "table height="  BarWidth  " border=1 width="  Maximum  " cellspacing=2"  vbNewLine
F_wnnk data = data  vbTab  "trtd width="  Items(Idx)  " bgcolor="  BarColor  " align=centerfont size=-4 /font/td"
)]2y ee[v If Items(Idx)  Maximum Then8a@\F8P
data = data  "td width="  Maximum - Items(Idx)  "/td"
6N6o [,h L}O%@"K End If
&W\}eh.j E data = data  "/tr"  vbNewLine  "/table"  vbNewLine
1n{n7m B$t&jqd!A Next
p1vW]"Zp ElseIf LCase( Orientation ) = "vertical" Then%N? [^fL ^
data = "tabletr"  vbNewLine
^8wS7^.Qz For Idx = LBound( Items ) To UBound( Items )
xE*p2Xd;x data = data  "tdtable width="  BarWidth  " border=1 height="  Maximum  " cellspacing=2"  vbNewLine
O \8gB8h,tIY If Items(Idx)  Maximum Thenx,wK gt b
data = data  "trtd height="  Maximum - Items(Idx)  "/td/tr"7EX'Vv.}{!R"W
End If
K^Z#Ew zCb] data = data  vbTab  "trtd height="  Items(Idx)  " bgcolor="  BarColor  " align=centerfont size=-4 /font/td" Y` Mv+Q
data = data  "/tr"  vbNewLine  "/table"  vbNewLine  "/td"  vbNewLine
)qUM)eY Next
Yg!AScA data = data  "/tr/table"  vbNewLineMV&i3F}I"eoc
End If
|)R*v$d {a;o"T Build = data
/In~Gpfq!we End Function  $K'?b zSWRC}5h

T$qF)A5H!n End ClassX}U|g)D
%
.D"okC c [3n 使用方法
J u k(G'zH6Z T7|&? 这个类一共有四个属性
#]$pbul#j mJ^3G BarWidth(图片条的尺寸)
)Pb{!IL Zfk BarColor*(图片条颜色)
a zYx9Z'R U Maximum(图片条最大长度)'u-LeC pgfS
Orientation(方向)
*GtM-|4}1j^ 有两个函数-N"A;Tk D'c'K
Add( value )添加图片条到图片中XTB6u-l3P xe
Build()建立图片k"G!C D/K"Sv
事例:
[@7z"C~s,W*k XI} !-- #include file=clsGraph.asp --
%NfTv fEf %Fg_+~h-u9q.O;UCw
Public Const vert = "vertical"5ee#pQ"\$C
Public Const horz = "horizontal"  5k_pi8YN*Ig+f
4f%_6lZ9J4kXO8JS6j
Dim Graph  
^-sA? R5m
R-H2y6T0S5t Set Graph = New InteliGraph
2STfvJKM Graph.BarWidth = 10|$iD7F$Pf#y
Graph.BarColor = "blue"
x8w zU AB OO Graph.Maximum = 100,B;lSp#U)rG
Graph.Orientation = horz  'M)n U'M;j v%mw
lG5j;|Y
For Idx = 0 To 100 Step 25
H*Ia%ig1D4L Graph.Add( Idx )
5W&_S o-E*Z's/_@ Next  
.KI-SVkm!@ U8[0f*pQ^6A'H@]
Response.Write( Graph.Build() )){^ ejgW7jv+r
%
页: [1]
查看完整版本: 一个不需要第三方组件,可实现华简单图形的类