A Horizontal Percentage Gauge Class

发表于:2007-06-30来源:作者:点击数: 标签:
% Dim sl_gauge Set sl_gauge = new Slgauge sl_gauge.BgColor = #FFFFFF sl_gauge.FgColor = #990000 sl_gauge.Width = 78 sl_gauge.Height = 5 sl_gauge.MinVal = 0 sl_gauge.MaxVal = 100 sl_gauge.CurVal = iTestScore‘’87% in our example % !-- Displ
<%
  Dim sl_gauge
  Set sl_gauge = new Slgauge
  sl_gauge.BgColor = "#FFFFFF"
  sl_gauge.FgColor = "#990000"
  sl_gauge.Width = 78
  sl_gauge.Height = 5
  sl_gauge.MinVal = 0
  sl_gauge.MaxVal = 100
  sl_gauge.CurVal = iTestScore  ‘’87% in our example
%>
<!-- Display the gauge -->
<table cellpadding=0 cellspacing=2>
  <tr>
     <td>0</td>
     <td><% = sl_gauge.RenderHtml %></td>
     <td>100%</td>
</tr>
</table>

<%
‘’ Handy class for displaying a horizontal percentage gauge.
%>
<%
class Slgauge
  ‘’ Colors.
  public BgColor
  public FgColor

  ‘’ Dimensions.
  public Width
  public Height

  ‘’ Values.
  public MinVal
  public MaxVal
  public CurVal

  ‘’ Render this into HTML as a table.
  function RenderHtml
      ‘’ Normalize the properties.
      if MinVal > MaxVal then
          Dim temp_val
          temp_val = MinVal
          MinVal = MaxVal
          MaxVal = temp_val
      end if

      if CurVal < MinVal then
          CurVal = MinVal
      elseif CurVal > MaxVal then
          CurVal = MaxVal
      end if

      ‘’ Figure out the percentage that the CurVal is
      ‘’ within MinVal and MaxVal.
      Dim percentage_val
      percentage_val = (CurVal - MinVal) / (MaxVal - MinVal)

      ‘’ Compute the first and second widths.
      Dim fg_width
      fg_width = Round(Width * percentage_val)
      Dim bg_width
      bg_width = Width - fg_width

      RenderHtml = "<table cellspacing=0 cellpadding=0 width=" & _
                   Width & " height=" & Height & ">" _
                   & "<tr>"
      if fg_width > 0 then
          RenderHtml = RenderHtml _
                      & "<td width=" & fg_width & " height=" & _
                      Height & " bgcolor=" & FgColor & _
                      "><img src=/demos/Images/" & _
                      "1_pix_trans.gif></td>"
      end if
      if bg_width > 0 then
          RenderHtml = RenderHtml _
                          & "<td width=" & bg_width & " height=" & _
                          Height & " bgcolor=" & BgColor & _
                          "><img src=/demos/Images/" & _
                          "1_pix_trans.gif></td>"
      end if
      RenderHtml = RenderHtml _
                      & "</tr>" _
                      & "</table>"
  end function
end class
%>

原文转自:http://www.ltesting.net