经脚本之家站长测试可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集作用: 本函数适用于随机显示小数量的随机不重复数字 本函数适用于显示小数量的随机不重复记录集 为了不影响效率, 上限超过一千, 不建议使用本函数 shawl.qiu 2006-09-06 http://blog.csdn.net/btbtd 主内容: 函数及应用函数随机显示100条记录 linenum 复制代码 代码如下:<% dim rs, rNum dim temp set rs=createObject("adodb.recordset") rs.open "select top 100 * from rnd_v1",conn,1 rNum=rs.recordCount-1 for each temp in fRndNoRpt(0,rNum) rs.move temp response.write rs("sbcat") response.write "<br/>" rs.movefirst next rs.close set rs=nothing 'shawl.qiu code' function fRndNoRpt(lwNum,upNum) '''''''''''''''''''''''''''''''''''''''''''' ' ASP 无重复数字随机函数, 数组实现, By shawl.qiu ' 2006-09-06 ' http://blog.csdn.net/btbtd ''''''''''''''''''''''''''''''''' ' 注意: 随机数超过1000, 不建议使用本函数. ''''''''''''''''''''''''''''''''' ' 参数说明: ''''''''''''''''''''''''''''''''' ' lwNum 为 数字数组下限, 如: 1 ' upNum 为 数字数组上限, 如: 100 ''''''''''''''''''''''''''''''''' ' sample call: ''''''''''''''''''''''''''''''''' ' dim t ' for each t in fRndNoRpt(1,100) ' response.write t&"<br/>" ' next '''''''''''''''''''''''''''''''''''''''''''' if upNum<1 or isNull(upNum) or upNum="" or isNumeric(upNum)=false then exit function if lwNum<0 or isNumeric(lwNum)=false then exit function dim num, temp dim ar() redim ar(upNum) dim j:j=0 for temp=lwNum to upNum num=num&"."&temp&"." next randomize do until num="" temp=int((upNum-lwNum+1)*rnd+lwNum) if inStr(num,"."&temp&".")<>0 then num=replace(num,"."&temp&".","") ar(j)=temp j=j+1 end if loop fRndNoRpt=ar erase ar end function 'shawl.qiu code' response.write "<p/>使用随机数函数显示1至100的不重复随机数 1:<br/>-----------------------<br/>" for each temp in fRndNoRpt(1,100) response.write temp&"<br/>" next response.write "<p/>使用随机数函数显示1至100的不重复随机数 2:<br/>-----------------------<br/>" temp=join(fRndNoRpt(1,100),"-") response.write mid(temp,1,len(temp)-1) %>
推荐阅读
全面优化ASP应用程序的性能的方法
ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了。虽然ASP的脚本语言很简单,>>>详细阅读
本文标题:可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
地址:http://www.17bianji.com/kaifa2/ASP/32586.html
1/2 1