可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集

2018-09-06 09:47

阅读:763

  经脚本之家站长测试可用的ASP无重复数字随机函数,数组实现,并应用于随机显示记录集
作用:
本函数适用于随机显示小数量的随机不重复数字
本函数适用于显示小数量的随机不重复记录集
为了不影响效率,上限超过一千,不建议使用本函数
shawl.qiu
2006-09-06

主内容:函数及应用函数随机显示100条记录
linenum
复制代码 代码如下:
<%
dimrs,rNum
dimtemp
setrs=createObject(adodb.recordset)
rs.openselecttop100*fromrnd_v1,conn,1
rNum=rs.recordCount-1
foreachtempinfRndNoRpt(0,rNum)
rs.movetemp
response.writers(sbcat)
response.write<br/>
rs.movefirst
next
rs.close
setrs=nothingshawl.qiucode
functionfRndNoRpt(lwNum,upNum)

ASP无重复数字随机函数,数组实现,Byshawl.qiu
2006-09-06


注意:随机数超过1000,不建议使用本函数.

参数说明:

lwNum为数字数组下限,如:1
upNum为数字数组上限,如:100

samplecall:

dimt
foreachtinfRndNoRpt(1,100)
response.writet&<br/>
next

ifupNum<1orisNull(upNum)orupNum=orisNumeric(upNum)=falsethenexitfunction
iflwNum<0orisNumeric(lwNum)=falsethenexitfunction
dimnum,temp
dimar()
redimar(upNum)
dimj:j=0
fortemp=lwNumtoupNum
num=num&.&temp&.
next
randomize
dountilnum=
temp=int((upNum-lwNum+1)*rnd+lwNum)
ifinStr(num,.&temp&.)<>0then
num=replace(num,.&temp&.,)
ar(j)=temp
j=j+1
endif
loop
fRndNoRpt=ar
erasear
endfunctionshawl.qiucode
response.write<p/>使用随机数函数显示1至100的不重复随机数1:<br/>-----------------------<br/>
foreachtempinfRndNoRpt(1,100)
response.writetemp&<br/>
next
response.write<p/>使用随机数函数显示1至100的不重复随机数2:<br/>-----------------------<br/>
temp=join(fRndNoRpt(1,100),-)
response.writemid(temp,1,len(temp)-1)
%>


评论


亲,登录后才可以留言!