可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
2018-09-06 09:47
  经脚本之家站长测试可用的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) 
%>
上一篇:用数组实现数据记录的批量录入方法
下一篇:asp文本框换行显示代码
文章标题:可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
文章链接:http://soscw.com/index.php/essay/8544.html