ASP 無重複數字隨機函數, 數組實現, 並應用於隨機顯示記錄集 By shawl.qiu

來源:互聯網
上載者:User

ASP 無重複數字隨機函數, 數組實現, 並應用於隨機顯示記錄集 By shawl.qiu

作用:
本函數適用於隨機顯示小數量的隨機不重複數字
本函數適用於顯示小數量的隨機不重複記錄集
為了不影響效率, 上限超過一千, 不建議使用本函數

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

主內容: 函數及應用函數隨機顯示100條記錄

    linenum

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


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.