服务器之家

服务器之家 > 正文

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

时间:2019-10-17 10:15     来源/作者:shawl.qiu

经服务器之家站长测试可用的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)   
%> 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部