ASP 无重复数字随机函数, 数组实现, 并应用于随机显示记录集 By shawl.qiu

ASP 无重复数字随机函数, 数组实现, 并应用于随机显示记录集 By shawl.qiu


作用:
本函数适用于随机显示小数量的随机不重复数字
本函数适用于显示小数量的随机不重复记录集
为了不影响效率, 上限超过一千, 不建议使用本函数

shawl.qiu
2006-09-06
  http://blog.csdn.net/btbtd

主内容: 函数及应用函数随机显示100条记录
  1. linenum
  2. <%
  3.     dim rs, rNum
  4.     dim temp
  5.     set rs=createObject("adodb.recordset")
  6.         rs.open "select top 100 * from rnd_v1",conn,1
  7.         rNum=rs.recordCount-1
  8.         for each temp in fRndNoRpt(0,rNum)
  9.             rs.move temp
  10.             response.write rs("sbcat")
  11.             response.write "<br/>"
  12.             rs.movefirst
  13.         next
  14.         rs.close
  15.     set rs=nothing 'shawl.qiu code'
  16.     function fRndNoRpt(lwNum,upNum)
  17.     ''''''''''''''''''''''''''''''''''''''''''''
  18.     ' ASP 无重复数字随机函数, 数组实现, By shawl.qiu
  19.     ' 2006-09-06
  20.     '   http://blog.csdn.net/btbtd
  21.     '''''''''''''''''''''''''''''''''
  22.     ' 注意: 随机数超过1000, 不建议使用本函数.
  23.     '''''''''''''''''''''''''''''''''
  24.     ' 参数说明:
  25.     '''''''''''''''''''''''''''''''''
  26.     ' lwNum 为 数字数组下限, 如: 1
  27.     ' upNum 为 数字数组上限, 如: 100
  28.     '''''''''''''''''''''''''''''''''
  29.     ' sample call:
  30.     '''''''''''''''''''''''''''''''''
  31.     '    dim t
  32.     '    for each t in fRndNoRpt(1,100)
  33.     '        response.write t&"<br/>"
  34.     '    next
  35.     ''''''''''''''''''''''''''''''''''''''''''''
  36.         if upNum<1 or isNull(upNum) or upNum="" or isNumeric(upNum)=false then exit function
  37.         if lwNum<0 or isNumeric(lwNum)=false then exit function
  38.         dim num, temp
  39.         
  40.         dim ar()
  41.         redim ar(upNum)
  42.         dim j:j=0
  43.         
  44.         for temp=lwNum to upNum
  45.             num=num&"."&temp&"."
  46.         next
  47.     
  48.         randomize    
  49.         do until num=""
  50.                 temp=int((upNum-lwNum+1)*rnd+lwNum)
  51.             if inStr(num,"."&temp&".")<>0 then 
  52.                 num=replace(num,"."&temp&".","")
  53.                 ar(j)=temp
  54.                 j=j+1
  55.             end if
  56.         loop
  57.         fRndNoRpt=ar
  58.         erase ar
  59.     end function 'shawl.qiu code'
  60.     response.write "<p/>使用随机数函数显示1至100的不重复随机数 1:<br/>-----------------------<br/>"
  61.     for each temp in fRndNoRpt(1,100)
  62.         response.write temp&"<br/>"
  63.     next
  64.     response.write "<p/>使用随机数函数显示1至100的不重复随机数 2:<br/>-----------------------<br/>"
  65.     temp=join(fRndNoRpt(1,100),"-")
  66.     response.write mid(temp,1,len(temp)-1)
  67. %>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值