永发信息网

谁能给我个VB的随机抽取器的源码?

答案:3  悬赏:80  手机版
解决时间 2021-02-11 03:48
谁能给我个VB的随机抽取器的源码? 类似小飞侠随机抽取器那样,只要能抽取人名就可以了
人名要从TXT文件导入,有两个textbox,一个显示TXT文件中的名字并滚动,另一个显示随机抽取的结果。 还有两个按钮,一个开始,一个停止
最佳答案
代码如下,已测试(注意:其中有个text3.text,把它替换成txt文件路径即可,别忘了加引号。另外txt中的人名要求每两个之间用空格或回车分开)
Dim Flag As Boolean
Private Sub Command1_Click() '--------开始
Dim Str1 As String, Str0 As String, n As Integer
Flag = True
ff = FreeFile
'------------------------读取姓名文档
Open Trim$(Text3.Text) For Input As #ff
Do Until EOF(ff)
Input #ff, Str0
Str1 = Str1 + " " + Str0
Loop
Close #ff
'------------------------剔除空格
stra = Split(Str1, " ")
Str1 = ""
For i = LBound(stra) To UBound(stra)
If stra(i) <> "" Then
Str1 = Str1 + stra(i) + " "
End If
Next
stra = Split(Str1, " ")
n = UBound(stra)
'-----------------------开始随机抽取
Randomize
Do Until Flag = False
Text1.Text = stra(Int(Rnd * n))
DoEvents
Loop
Print n
End Sub

Private Sub Command2_Click() '--------停止
Flag = False
Text2.Text = Text1.Text
End Sub
全部回答
Private Sub Form_click() Dim a(3) As String a(0) = "小王" a(1) = "小李" a(2) = "小谢" a(3) = "小林" Randomize MsgBox a(Int(Rnd * 4)), vbOKOnly, "标题" End Sub '不用添加任何控件 直接将代码复制进去 点击窗体即可得到效果
首先你要有一个.txt文本格式的人员名单,一行一个人名,然后在下面的程序中更改名单路径、抽取人数就可以了 option explicit private sub command1_click() dim namearr(), mpath$, n%, k%, newdic, temp$ mpath = "d:\name.txt" '原始名单路径,每行一人 k = int(inputbox("抽取的人数:")) '抽取的数目 '加载原始名单 open mpath for input as #1 do while not eof(1) n = n + 1 redim preserve namearr(1 to n) line input #1, namearr(n) loop close #1 '抽取人员 set newdic = createobject("scripting.dictionary") do while newdic.count < k randomize temp = namearr(int(rnd * (ubound(namearr) + 1))) if newdic.exists(temp) = false then newdic.add temp, "" loop '输出 temp = join(newdic.keys, ", ") print n & "名人员中," & k; "名被抽取,名单如下:" & vbcrlf & temp newdic = "" end sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
付守田废品回收站怎么去啊,我要去那办事
防爆送风机随货有哪些证明?
企业董事会或类似机构做出拟分配利润方案的,
金源废品回收部地址有知道的么?有点事想过去
【渴慕的意思】渴慕,孤孀,惶急的意思
京豫发废品回收地址有知道的么?有点事想过去
TCL液晶电视怎么没发调对比度?
一不小心把QQ空间关了怎么办?
黄丽回废品回收地址在什么地方,想过去办事
代办股份转让系统由()负责自律性管理。A.证
请组一个ACD BCD ABCD式词语
回收废品(王村路西150米回收废品)地址在什么
米记老店大用冷鲜肉在什么地方啊,我要过去处
纪录片《大国崛起》中有这样一段解说词:“公
木成语有哪些
推荐资讯
交通事故我全险全责需要我花钱吗
顺平路南辅线/金航中路(路口)在哪里啊,我有
自贡天梭零售店(百盛)地址好找么,我有些事
为什么我的手机电量那么快消耗
怎样惩罚你讨厌的人?
沈阳水调歌城2期什么时候能开通宽带和有线电
水头在哪里?
2004年的捷达车跑了20万公里,国1标能卖多少钱
苹果6s手机id锁怎么解无法激活
公务员满三十年退休审批时间计算
【锡林郭勒草原】锡林郭勒草原属于?锡林郭勒
松果体和第三只眼的关系,道教有何解释
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?