动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   VBScript → 阅读文章

 ASP中一个用VBScript写的随机数类

作者来源: 
阅读 2198 人次 , 2006-4-3 0:01:00 


<%
'**************************************************************************
' class: crandom
' calls randomize to seed the random number generator.
' provides functions for returning ranged random integers or arrays of
' ranged random integers.
'**************************************************************************
class crandom

' calling randomize to seed the random number generator at the time the
' class is created seemed like a reasonable thing to do.
private sub class_initialize()
' check the vbscript documentation for the specifics relating
' to the randomize function
randomize
end sub

' terminate doesn't need to do anything for this class
private sub class_terminate()
end sub

'**********************************************************************
' function: rangedrandom
' parameter: lowerbound, the lowest allowable number to return
' parameter: upperbound, the highest allowable number to return
' returns: a random integer between lowerbound and upperbound,
' inclusive
'**********************************************************************
public function rangedrandom( lowerbound, upperbound )
rangedrandom = cint((upperbound - lowerbound) * rnd + lowerbound)
end function

'**********************************************************************
' function: rangedrandomarray
' parameter: lowerbound, the lowest allowable number to return
' parameter: upperbound, the highest allowable number to return
' parameter: arraysize, zero based number specifying the size of the array
' parameter: duplicates, true or false to indicate whether duplicate
' random values are allowed in the array
' returns: a single dimension array sized to match the arraysize
' parameter, containing random integers between lowerbound and
' upperbound, inclusive
'**********************************************************************
public function rangedrandomarray(lowerbound, upperbound, arraysize, duplicates)
dim temparray()
dim filledelements, tempvalue, badvalue, i

' resize the temparray to hold the number of elements passed in the
' arraysize parameter
redim temparray(arraysize)

' this is a loop counter, set it to 0
filledelements = 0

' loop until filledelements is equal to the arraysize + 1
do until filledelements = arraysize + 1

' call the rangedrandom function with the lowerbound and upperboundparameters
tempvalue = rangedrandom( lowerbound, upperbound )

' handle the case where we don't want duplicate values
if duplicates = false then
badvalue = false
for i = 0 to ubound(temparray)
' check if the new random value already exists in the array
' if it does set the badvalue flag to true and break out of the loop
if tempvalue = temparray(i) then
badvalue = true
exit for
end if
next
if badvalue = false then
temparray(filledelements) = tempvalue
filledelements = filledelements + 1
end if
else
' handle the case where duplicate values in the array are acceptable
temparray(filledelements) = tempvalue
filledelements = filledelements + 1
end if
loop

' return the array
rangedrandomarray = temparray
end function

end class
%>
<%
' all the code that follows is example code showing the use of the
' crandom class.

dim objrandom
dim flip
dim randomarray
dim rowstotest
dim i, j

' create an instance of our class
set objrandom = new crandom

' set the number of iterations that we want to test
rowstotest = 10

' "toggle" to determine whether or not we set the bgcolor of the table row
flip = true

' start the table
response.write "<table border=0 cellpadding=1 cellspacing=1>"

for j = 0 to rowstotest
' we'll alternate the bgcolor of the table rows based on the
' value of the flip variable
if flip then
response.write "<tr bgcolor=lightgrey>"
else
response.write "<tr>"
end if

' call the rangedrandomarray function for testing purposes
randomarray = objrandom.rangedrandomarray( 1,

 本文Tags组网  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Microsoft VBscript运行时错误(完整版)
· 下一篇:ASP中令人震撼的Debug类(VBScript)
· VBScript实现对Windows注册表的修改
· 在 VB Script 中使用对象
· VBScript 区域设置 ID (LCID) 表
· VBScript CCur 函数
· VBScript With 语句


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077