怎么用VB做一个随机抽取器?

如题,██注意是VB██要有.frm文件██,求一个号码抽取器,是要设置抽取的号码,例如从1~50,设置一次能抽取出X个号码,██也能排除号码██。在第1个窗体中有一个按钮,按一次抽取X个数字,显示出来。

谢谢。
好的可以按情况加分!

只要在代码中使用随机函数即可实现随机抽取功能
一、vb随机数生成的方法
  vb随机数生成函数是 Rnd[(number)],number 参数为可选项。在调用 Rnd 生成随机数之前,先使用 Randomize 初始化随机数生成器来产生种子,该生成器是根据系统计时器来产生种子的。
  1、生成100以内的随机数
  Randomize
  Int(Rnd() * 100)//生成 0 - 99 之间的随机数
  Int(Rnd() * 101)//生成 0 - 100 之间的随机数

   2、生成指定范围随机数
  由于 vb 没有提供直接生成指定范围随机数的函数,所以要把 Rnd 变通一下,方法如下:
  Int((上限 - 下限 + 1) * Rnd + 下限);
  把它封装成可直接调用的函数如下:
  Function GetRandom(under, over As Integer) As Integer
    If under < over Then
      temp = under;
      under = over;
      over = temp;
    End If
    Randomize
    GetRandom = Int((under - over + 1) * Rnd + over);
  End Function
  调用方法:
  GetRandom(10, 100);//生成10到100的随机数

  二、vb.net生成随机数的方法
  1、方法:Random.Next(int minValue, int maxValue);
  2、说明:
  若 minValue 和 maxValue 都没有提供,则生成一个 0 - 2147483647 之间的随机数;
  若 minValue 和 maxValue 只提供一个,则生成一个 0 - maxValue 之间的随机数;
  若 minValue 和 maxValue 两个都提供,则生成一个 minValue - maxValue 之间的随机数;

  3、举例
  Dim ran = New System.Random()
  ran.Next()//生成 0 - 2147483647 之间的随机数
  ran.Next(100)//生成 0 - 100 之间的随机数
  ran.Next(10, 100)//生成 10 - 100 之间的随机数
  Dim ran = New Random(DateTime.Now.Millisecond)//通过日期的微秒生成随机数
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-18
程序主体有两部分,第一部分用随机函数,例如Int(Rnd * 50) + 1代表1~50之间随机;

抽取随机数后传递到变量里面;
然后抽取第二个随机数,与变量比较,不一样则传递到第二个变量上,一样则重新抽取;
重复,直至X个变量全部赋值,然后输出。追问

您有空能帮我做一个软件吗?
我不太擅长,不太明白VB

追答

要程序还是代码?

追问

最好是已经做好的程序,以frm结尾
谢谢帮助,我查看后会加分的

追答追问

就是想要这样子的,谢谢。悬赏已经提高了一倍,请问有该软件以.frm .vbp .vbw的三个文件吗?有的话发一下,压缩文件。谢谢!

追答本回答被提问者和网友采纳

请问VB的随机抽数器怎么做???
'先是在list1中随机添加一些数字 private sub form_load()list1.addItem str(fix(rnd 100))list1.addItem str(fix(rnd 100))list1.addItem str(fix(rnd 100))end sub '下面是随机抽取数字的过程 Private Sub Command1_Click()MsgBox List1.List(Rnd List1.ListCount)'随机抽取列表中的某个项...

怎么用VB做一个随机抽取器?
1代表1~50之间随机;抽取随机数后传递到变量里面;然后抽取第二个随机数,与变量比较,不一样则传递到第二个变量上,一样则重新抽取;重复,直至X个变量全部赋值,然后输出。

请问VB的随机抽数器怎么做???
Randomize '随机数初始化,这个是非常重要的一个语句,否则你得到的每个随机数系列都是一个样,即每次运行VB程序得到的第一个随机数都是0.7055475,第二个随机数是0.533424,...For I = 1 To 100 AA(I) = Rnd(1) * 1000 + 0.5 '随机产生一个数,转换为0-1000整数,Rnd(1)表示产...

用VB做一个随机摇号器
while 座位数组.contains(随机座位)msgbox("您的座位是:"& 随机座位)座位数组.remove(随机座位)loop

如何用VB制作随机学号抽取器?
GetNum=Int((U - L + 1) * Rnd + L) '将范围内获得一个随机整数赋值给该函数的返回值 End Function 写完了这个函数,记下它的表达式 接收变量=GetNum(最小值,最大值)最后,在窗体中画一个按钮(Command1),一个文本框(名为Text1),一个定时器(Timer1)1.双击这个窗体Form1,在它的...

vb6.0怎么制作一个抽奖小程序? vb6.0抽奖器的制作方法
1、首先启动vb6.0,执行文件-新建命令,弹出新建工程对话框,在该对话框中选择标准的exe后点击打开按钮,进入vb程序主界面。2、在主界面中,按住鼠标左键按住窗体周围的任意一个小正方形进行拖拽,调节窗体的大小,直至自己满意为止。3、选择窗体,在其右边的属性中找到boderstyle属性,设置属性值为none,...

怎么用vb编个随机抽取人名的小程序,做到不重复并能直接打印显示已抽到...
Private Sub Command1_Click()If n = 0 Then '第点击执行 m = Val(Text1)ReDim a(1 To m)For i = 1 To m '数组a元素1至mm数 a(i) = i Next For i = 1 To m - 1 '随机打乱数组a元素 r = Int(Rnd * m + 1)tmp = a(i)a(i) = a(r)a(r) = tmp Next...

如何用vb设计摇奖器(抽手机号的,而且要在已知的号码内抽取)
弄数组赋值了,或者直接从数据库按索引号读取记录 dim arr(100) as string '\/\/\/譬如100个号码 arr(1)="139xxxxxxxx"arr(2)="134xxxxxxxx"...arr(100)="159xxxxxxx"dim RNumber as integer Randomize ()RNumber = Int(100* Rnd() + 1)'\/\/\/产生1-100随机数 print arr(RNumber)'\/\/...

VB随机姓名抽取器的源码
首先你要有一个.txt文本格式的人员名单,一行一个人名,然后在下面的程序中更改名单路径、抽取人数就可以了 Option Explicit Private Sub Command1_Click()Dim nameArr(), mPath$, n%, k%, newDic, Temp mPath = "d:\\Name.txt" '原始名单路径,每行一人 k = Int(InputBox("抽取的人数:...

用VB 做一个随机抽名字。随机从所有人名字里中选取4个人的名字,这4个...
Label1.AutoSize = True Timer1.Enabled = 0 '计时器赋值,产生动态效果 Timer1.Interval = 100 '给数组加上20个名字方便测试 ,这里可以自己用Array修改数组内容 For i = 0 To 19 sName(i) = "张 " & i Next End Sub Private Sub Timer1_Timer()'这里用来显示一个动态抽取效果 Label1....

相似回答