导航:业界 | 认证 | 工具 | 图形 | 技术 | 系统 | 网络 | 办公 | 网页 | 文摘 | 动画
您当前的位置:diva8.com -> I T -> 技术 -> ASP学院 -> I T内容
栏目导航
· .Net专栏 · Script
· ASP学院 · PHP学院
· Web服务器 · CGI学院
· XML学院 · SQL学院
· JSP学院 · SMS学院
热门I T
· [组图] 音频后期处理Adobe ...
· [组图] Photoshop--照片处理...
· [组图] 廉颇老矣?IE7.0 Bet...
· [图文] DuDu下载加速器推出...
· [组图] 清晰还原!Photoshop...
· [组图] 用photoshop给图片祛...
· [组图] DuDu 下载加速器试用...
· [组图] 新春特别版:PPLIVE...
· [图文] 让查找更方便些 腾讯...
· [组图] 廉颇老矣?IE7.0 Bet...
相关I T
· 随机生成文件名的函...
· ASP实例学习:随机生...
· 用ASP随机生成文件名...
随机生成不重复记录的伪函数
作者:Admin  来源:齐昌网络  发布时间:2004-10-18 15:32:10  发布人:qichang

减小字体 增大字体



原理:利用一个临时数组保存好随机范围的数据(简称范围数据)索引或标识,用rnd随机生成临时数组的索引。验证临时数组索引所对应的数据,为空则视被记录过了,将随机数加一后重复验证操作直到临时数组索引对应的数据不为空,则由一个记录变量记录下对应的范围数据标识,并清空此项数据。然后进行下一个随机操作。

伪函数:

'####
'## 函数参数
'## 范围数据数组:一维数组。
'## 随机选择的数据量:整数。
function MyRnd(范围数据数组,随机选择的数据量)
'################################################################
dim 范围数据数组维数
dim 循环标识
dim 随机索引
dim 随机结果
范围数据数组维数=ubound(范围数据数组)
循环标识=true

if 范围数据数组维数>随机选择的数据量 then
'如果 随机选择的数据量 大于 范围数据数组维数 的话就不用随机读取了,全布都列出来就是了
Randomize Timer
随机索引=fix(rnd*(范围数据数组维数+1))
while 循环标识
if 范围数据数组(随机索引 mod 范围数据数组)<>"" then
'数据不为空,则表示未随机选取过。
随机索引=范围数据数组(随机索引 mod 范围数据数组)
if 随机结果="" then
'随机结果 以","分隔每个随机值。
随机结果=随机结果 &; ","
end if
随机结果=随机结果 &; 范围数据数组(随机索引)
范围数据数组(随机索引)=""'清空该数据表示已随机过。
循环标识=false'结束循环。
end if
if 随机索引>范围数据数组维数*3 then
'如果 随机索引 大于 范围数据数组维数的三倍,表示已经在 范围数据数组维数 内历遍过三次,跳出,防止死循环。
循环标识=false
end if
wend
end if
end function

应用:
用在随机选取不重复的数据表记录。
用getrows将数据表内ID标识换成一个二维数组,然后使用该函数随机选取指定数量的ID编号以","分隔,然后用in条件式将符合随机出来的ID编号的数据读出来即可。
随机选取不重复的数据。
将所有数据放到一个一维数据,然后用该函数挑随机挑选即可。



[] [返回上一页] [打 印] [收 藏]
∷相关I T评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 在线人数:
diva8.com Copyright © 2001-2006 diva8.com All Rights Reserved .粤ICP备05014750号