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

外国人写的一个class,这么一点小小的应用,除非有特殊需求,还没有必要模块化。
用asp产生一个随机数。
<% 
''************************************************************************** 
'' CLASS: cRandom 
'' Calls randomize to seed the random number generator. 
'' Provides functions for returning ranged random integers or arrays of 
'' ranged random integers. 
'' 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 
'' 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, 10)

(0)

相关推荐

  • 枚举域内计算机个数vbscript脚本(没环境,没测试)

    原来是微软专家的代码在这: http://www.microsoft.com/china/technet/community/scriptcenter/resources/hey060127.mspx 我改成了全自动式的,不需要手要修改域的adsi连接字符串了,代码: 复制代码 代码如下: On Error Resume Next Set objRootDSE = GetObject("LDAP://rootDSE") strDomain = ObjRootDSE.Get("

  • vbscript脚本编程教程2利用fso来进行文件操作

    by sssa2000 我们来看一看怎么利用fso来进行文件操作.Fso时vbs里进行文件操作的核心.作为黑客,不管学习什么语言,对文件的操作都应该是要了如指掌的,所以请大家仔细学习. 不说废话,先看fso由哪几个对象组成: drive对象:包含储存设备的信息,包括硬盘,光驱,ram盘,网络驱动器 drives集合:提供一个物理和逻辑驱动器的列表 file  对象:检查和处理文件 files 集合:提供一个文件夹中的文件列表 folder对象:检查和处理文件夹 folders集合:提供文件夹中子

  • ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

    在上一篇小编向大家简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解.   函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值.我们可以这样理解,过程象一个完整的句子,而函数则象一个单词.举个例子,当你想获取某个数的平方根,你只要将该数传给 VBScript 的 Sqr() 函

  • JavaScript/VBScript脚本程序调试(Wscript篇)

    在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时候,总是: 1. 在资源管理器里面双击一个.vbs文件. 2. 程序里面发生了一个错误,例如异常,或者编程逻辑错误. 3. 一行行阅读源文件,然后在估计发生错误的地方,添加很多的Msgbox.Show,打印一些变量的值. 4. 重新执行.vbs文件 5. "当当当",一系列的 "确定"点完了以后,人也晕了,重新回到第三步继续-- 其实我们也是可以用Visual

  • 调试JavaScript/VBScript脚本程序(IE篇)

    这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试: 1. 要调试网页里面的脚本程序,调试器需要宿主程序-这里也就是IE的支持,实际上所有的脚本程序解释器都实现了一个COM的调试接口.调试器通过查询解释器的这个接口,可以设置断点,查询变量以及捕捉异常,当然,查询到这个接口,需要宿主程序同意--至于如何实现这个接口,我们会在以后的文章里面讲到. 2. 默认情况下,IE是将脚本调试支持功能关闭的,因此你需要显示地打开它.打开IE,点击"工具"

  • 使用vbscript脚本在表单中进行选择的代码

    问: 嗨,Scripting Guy!我想创建一个带有四个单选按钮的表单,其中每个按钮各代表一台计算机.可以选择一个单选按钮,单击另一个按钮,然后脚本将在所选的计算机上运行.我怎样才能做到? -- CW 答: 嗨,CW.如果我们所说的只是 VBScript 和 Windows Script Host,那么这个问题很简单:办不到.除了显示消息框以外,VBScript 和 WSH 都无法创建图形用户界面:没办法通过脚本使用单选按钮.列表框.下拉列表以及其他图形元素. 但是--噢,你们以前一定见过这种

  • 利用vbscript脚本修改文件内容,此适用于自动化的操作中

    利用vbscript脚本修改文件内容,此适用于自动化的操作中 '新建一个Replace.vbs脚本,脚本内容如下,程序运行时输入三个参数:查找内容,替换内容,文件 复制代码 代码如下: Dim FileName, Find, ReplaceWith, FileContents, dFileContents   Find = WScript.Arguments(0)   ReplaceWith = WScript.Arguments(1)   FileName = WScript.Argument

  • ASP里面令人震撼地Debug类(VBScript)

    我想可能很多朋友都会用这样的方法"response.write ",然后输出相关的语句来看看是否正确.前几天写了一个千行的页面,里面大概有七八个SUB/FUNCTION,调试的时候用了有三十几个response.write ,天,调试完后把这三十个一个个删除,累! 今天看到一个ASP中的Debug类(VBS),试用了一下,绝! 使用方法很简单: test.asp 复制代码 代码如下: <!--#INCLUDE FILE="debuggingConsole.asp&quo

  • ASP、vbscript编码模板

    <!-- METADATA TYPE="typelib" FILE="C:\Program Files\Common Files\System\ADO\msado20.tlb" --> <%@ Language=VBScript %> <%Option Explicit%> <% '加入的文件 %> <!-- #include virtual|file="需要包含的文件" --> <

  • ASP(VBScript)中整除和取余

    整除 ASP(VBScript) 中整除用"\",比如 m = 5 \ 2,结果为 2. 取余 ASP(VBScript) 中取余用 mod,比如 m = 5 mod 2,结果为 1. 大数注意 m = 4444444444 / 2 n = 4444444444 \ 2 第一句是正确的,第二句运行时会报溢出错误,因为:在整除.取余操作前,数值表达式四舍五入为 Byte.Integer 或 Long 子类型表达式.Long 子类型的范围是 [-2147483648, 2147483647

  • 用vbscript脚本实现返回 IP 配置数据的代码

    用以返回配置数据(类似于 IPCONFIG 命令返回信息)的 WMI 脚本.' Returning IP Configuration Data ' WMI script that returns configuration data similar to that returned by IpConfig. strComputer = "." Set objWMIService = GetObject("winmgmts:\\"& strComputer &

  • ASP/VBScript中CHR(0)的由来以及带来的安全问题分析

    该字符标识着字符串的结束,也称作null-terminated,这个给脚本编程尤其是ASP编程带来了一定的麻烦,很多人可能会问为什么要保留这个特殊字符,我们可以追溯到编写操作系统的语言之一C语言,学过C/C++的童鞋可能知道,在字符串中标识一个字符串结束靠的就是结尾的\0(NULL或者0),否则不能称作为字符串,只能说是字符串数组,任何对于字符串操作的函数如果传入的字符串丢掉了这个结束NULL字符,都有可能会出现异常. 复制代码 代码如下: char strbuf[] = "Hello"

  • asp,VBscript语法错误,史上最全最详细最精确第1/3页

    ASP错误总结  -------------------------------------------------------------------------------- Microsoft VBscript语法错误(0x800A03E9)-->内存不足 Microsoft VBscript语法错误(0x800A03EA)-->语法错误 Microsoft VBscript语法错误(0x800A03EB)-->缺少 ':' Microsoft VBscript语法错误(0x800

  • ASP基础知识VBScript基本元素讲解

    VBScript数据类型 VBScript只有一种数据类型,即Variant,称为变体型.Varriant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息.因为Variant是VBScript中惟一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型. 最简单的Variant可以包含数字或字符串信息.Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理.也就是说,如果使用看起来像是数字的数据,则VBScript会假定其为数字并以适用于数字

随机推荐