ASP 101 - Active Server Pages 101 - Web06
The Place ASP Developers Go!

Please visit our partners

Windows Technology Windows Technology
15 Seconds
ASP 101
ASP Wire
VB Forums
VB Wire
internet.commerce internet.commerce
Partners & Affiliates

ASP 101 is an site
ASP 101 is an site
Internet News
Small Business
Personal Technology

Corporate Info
Tech Jobs
E-mail Offers

ASP 101 News Flash ASP 101 News Flash

 Top ASP 101 Stories Top ASP 101 Stories
What is and Why Do I Need It?
An Overview of ASP.NET
Connections, Commands, And Procedures

Utilize browser capabilities
Show All Tips >>
ASP 101 RSS Feed ASP 101 Updates

ASP Source Code:
	' 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
		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
					if badValue = false then
						tempArray(filledElements) = tempValue
						filledElements = filledElements + 1
					end if
					' Handle the case where duplicate values in the array are acceptable
					tempArray(filledElements) = tempValue
					filledElements = filledElements + 1
				end if
			' 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>"
			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>"
		Response.Write "</tr>"
		' Toggle the flip boolean variable
		flip = not flip
	' Close the table
	Response.Write "</table>"
	' Destroy the instance of our object
	set objRandom = nothing

Back to the sample code
Back to the article

Home |  News |  Samples |  Articles |  Lessons |  Resources |  Forum |  Links |  Search |  Feedback
The Network for Technology Professionals



Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers