用VB写一个滚动抽人名记录下来不能重复的软件 求大神们帮帮忙!
只要满足下面的要求就好
点击按钮 滚动Label上面的人名 再次点击按钮 停止 然后记录下抽到的人名 记录下来的人不会重复 等抽取完所有的名字之后弹出MsgBox 提示已经抽完 点击重新开始
因为我下的是简洁版的VB 有些控件没有 求大神想想办法 最好名字是写在软件里面的 防止别人修改名字作弊
这是我问别人搞出来的代码 但是不是滚动的 而且没有记录下来 知道要加一个 Timer控件 但是代码写在哪里不知道
Option Base 1
Dim m(100)
Dim shu As Integer
Private Sub Command1_Click()
suiji
End Sub
Private Sub Form_Load()
Call ming
End Sub
Sub ming()
Dim i As Integer
Open App.Path + "\md.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, a
i = i + 1
m(i) = a
Loop
Close #1
shu = i
End Sub
Sub suiji()
Dim i As Integer
Randomize
i = Int(Rnd(1) * shu + 1)
If m(i) <> "" Then
Label1 = m(i)
m(i) = ""
Else
On Error GoTo err
Call suiji
Exit Sub
err: MsgBox "已经抽完。", 0, "提示"
End If
End Sub 展开
Option Base 1
Dim RName() As String
Dim CurrentI As Integer
Public NameMax As Integer
Private Sub CmdStart_Click()
If CmdStart.Caption = "Start" Then
If NameMax = 0 Then
MsgBox "随机选择结束", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
CmdStart.Caption = "Stop"
Timer1.Enabled = True
Else
CmdStart.Caption = "Start"
Timer1.Enabled = False
RichTextBox1.Text = RichTextBox1.Text + vbCrLf + RName(CurrentI)
If NameMax > 0 Then
RName(CurrentI) = RName(NameMax)
NameMax = NameMax - 1
End If
End If
End Sub
Private Sub Form_Load()
NameMax = 4
ReDim RName(NameMax)
RName(1) = "张三"
RName(2) = "李四"
RName(3) = "王二"
RName(4) = "有几个加几个"
End Sub
Private Sub Timer1_Timer()
Randomize
CurrentI = Fix(Rnd * NameMax) + 1
Label1.Caption = RName(CurrentI)
DoEvents
Label1.Refresh
Form1.Refresh
End Sub
以上是代码,附件里有工程文件,可以满足你的要求,姓名可以保证在程序里,不容易被修改,用的都是常用控件,richtextbox控件应该也有吧,如果没有,用textbox也一样
richtextbox我没有 然后我改掉了 可以用了 请问有联系方式吗 ?
怎么把弹出的对话框 变成两个选项 重新开始 和 完成
然后那个点击开始的按钮能不能改成中文 我一改 下面的记录的那边就显示 下标越界 看不懂了
我的QQ:467845665 nameMax 这个变量是总数,改了应该就没有下标越界的问题了