需要一个VB抽奖程序~

1.空格键开始;回车键结束2.随机读取数据库中的人名,并滚动显示出来,按回车键结束后,定格显示出的人名为中奖者.3.人名不能重复.如果可用,我会追加积分.谢谢... 1.空格 键开始 ;回车 键结束
2.随机读取数据库中的人名,并滚动显示出来,按 回车键结束后,定格显示出的人名为中奖者.
3.人名不能重复.

如果可用,我会追加积分.
谢谢
展开
 我来答
in13
2007-02-06 · TA获得超过923个赞
知道大有可为答主
回答量:1637
采纳率:0%
帮助的人:886万
展开全部
说几点编程建议给你就行了。
定义一个模块级的整数变量

1、首先获得数据中的人名个数。将这个数赋给变量
2、定义一个数组。数组上限数为人名数量,
3、用Randomize 来防止重复人名
4、下面的是按空格运行,回车停止
如果你的窗体上没有什么按钮和文本框等能得到焦点的控件就将下面的代码放在窗体的Form_KeyUp()过程中。否则就每个能得到焦点的控件中都要放。
If KeyCode = 13 Then'回车键
MsgBox "Stop"
ElseIf KeyCode = 32 Then'空格键
MsgBox "run"
End If
w181805461
2007-02-06 · TA获得超过107个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:235万
展开全部
Option Base 1
Dim xm ,xmOk 'xmOk用来保存对应的姓名有没有被选中
Dim i As Integer

Private Sub form_load()
xm = Array("张三", "李四", "王五", "你", "我")
xmOk=Array(0,0,0,0,0)
End Sub

Private Sub Command1_Click() '命令按钮1的单击事件
Timer1.Enabled = True
End Sub

Private Sub command2_click()
Timer1.Enabled = flase
End Sub

Private Sub timer1_timer()
i = Int(Rnd * 5) + 1
if xmOk(i)=1 then
Label1.Caption = xm(i)
else
xmOk(i)=1
end if
End Sub
自己弄下,如果不会加我QQ,我帮你编好了给你。

或者是
Option Explicit
Dim kt As Boolean
Dim 中奖候选人() As String
Dim tmp_ren() As String
Dim 剩余人选 As Integer
Dim i As Integer
Dim j As Long

Private Sub Command1_Click() '抽奖按钮
kt = Not kt
If kt = True Then Call 中奖
End Sub

Private Sub Form_Load()
Dim x As Integer
剩余人选 = 100
ReDim 中奖候选人(剩余人选) As String
ReDim tmp_ren(剩余人选) As String

For x = 1 To 剩余人选
中奖候选人(x) = "中奖人" & CStr(x)
tmp_ren(x) = 中奖候选人(x)
Next

End Sub

Private Sub 中奖()
'On Error Resume Next

If 剩余人选 < 96 Then
MsgBox "已经抽过5次奖了"
Exit Sub
End If

For j = 1 To 99999999

If j > 99999999 Then j = 0

If kt = True Then

If j Mod 200 = 0 Then
i = i + 1
If i > 剩余人选 Then i = 1
Text1.Text = 中奖候选人(i)

End If

Else
'MsgBox "中奖人:" & 中奖候选人(i)
Print 中奖候选人(i)

剩余人选 = 剩余人选 - 1

ReDim 中奖候选人(剩余人选) As String

Dim k As Integer

For k = 1 To 剩余人选
If k < i Then
中奖候选人(k) = tmp_ren(k)
Else
中奖候选人(k) = tmp_ren(k + 1)
End If
Next

ReDim tmp_ren(剩余人选) As String

For k = 1 To 剩余人选
tmp_ren(k) = 中奖候选人(k)
Next

Exit Sub
End If

DoEvents
Next

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sakurasl
2007-02-06 · TA获得超过130个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:73.1万
展开全部
说实话如果不是练习的话!最好去下在一个现成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式