欢迎光临
我们一直在努力

ASP中一个用VBScript写的随机数类-ASP教程,脚本编码

建站超值云服务器,限时71元/月

演示:

62 74 16 1 85 8 32 86 53 80 60 2 30 8 33 49 17 82 21 71 16 9 95 39 55 33 92 25 14 37 65 75 82 93 27 21 46 6 12 52 94 50 29 76 28 55 21 100 71 2 77 72 63 30 6 67 57 35 56 48 49 84 53 44 29 68 62 63 55 80 22 59 33 49 5 69 47 91 46 66 26 79 37 53 10 21 61 63 56 73 49 83 60 85 65 9 98 58 13 99 36 56 57 41 20 9 11 67 6 84

<%

**************************************************************************

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 doesnt 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 dont 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

well 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, 100, 9, false )

output the contents of the array

for i = 0 to ubound(randomarray)

response.write "<td align=right width=30><font face=verdana size=1>" & randomarray(i) & "</font></td>"

next

response.write "</tr>"

toggle the flip boolean variable

flip = not flip

next

close the table

response.write "</table>"

destroy the instance of our object

set objrandom = nothing

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP中一个用VBScript写的随机数类-ASP教程,脚本编码
分享到: 更多 (0)

相关推荐

  • 暂无文章