📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
BackColor = &H00800000&
Caption = "电脑抽奖"
ClientHeight = 7035
ClientLeft = 60
ClientTop = 450
ClientWidth = 9585
BeginProperty Font
Name = "宋体"
Size = 21.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form1"
ScaleHeight = 7035
ScaleWidth = 9585
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton Command3
Appearance = 0 'Flat
BackColor = &H00FF80FF&
Caption = "退出"
BeginProperty Font
Name = "隶书"
Size = 21.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 5640
Style = 1 'Graphical
TabIndex = 6
Top = 6120
Width = 2775
End
Begin VB.CommandButton Command1
BackColor = &H00C0C000&
Caption = "特等奖"
BeginProperty Font
Name = "隶书"
Size = 18
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 615
Index = 3
Left = 7200
Style = 1 'Graphical
TabIndex = 5
Top = 5280
Width = 1695
End
Begin VB.CommandButton Command1
BackColor = &H00C0C000&
Caption = "一等奖"
BeginProperty Font
Name = "隶书"
Size = 18
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 615
Index = 2
Left = 5000
Style = 1 'Graphical
TabIndex = 4
Top = 5280
Width = 1695
End
Begin VB.CommandButton Command1
BackColor = &H00C0C000&
Caption = "二等奖"
BeginProperty Font
Name = "隶书"
Size = 18
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 615
Index = 1
Left = 2800
Style = 1 'Graphical
TabIndex = 3
Top = 5280
Width = 1695
End
Begin VB.CommandButton Command2
Appearance = 0 'Flat
BackColor = &H00FF80FF&
Caption = "停!"
BeginProperty Font
Name = "隶书"
Size = 21.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 1320
Style = 1 'Graphical
TabIndex = 2
Top = 6120
Width = 2775
End
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 80
Left = 5280
Top = 3720
End
Begin VB.CommandButton Command1
BackColor = &H00C0C000&
Caption = "三等奖"
BeginProperty Font
Name = "隶书"
Size = 18
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 615
Index = 0
Left = 600
Style = 1 'Graphical
TabIndex = 1
Top = 5280
Width = 1695
End
Begin VB.Label Lab_No
Caption = "0000"
BeginProperty Font
Name = "宋体"
Size = 18
Charset = 134
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 960
TabIndex = 0
Top = 480
Visible = 0 'False
Width = 855
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Const NUM = 1200
Private ZhongLei As Byte
Private N As Integer
Private Haved As Boolean
Private Ordered As Boolean
Private N_haved As Integer
Private HavedHao(80) As String '80为获奖最多个数,可调
Private Sub Command1_Click(Index As Integer)
Dim i As Integer
If Haved = True Then Exit Sub
Haved = True
GetHavedHaoMa
Select Case Index
Case 0 '##############################################################################
N = 36
ZhongLei = 0
If N_haved <> 0 Then Exit Sub
With Lab_No(0)
.Left = 600
.Top = 400
.Visible = True
.Caption = Format(Rndint(1, NUM), "0000")
End With
For i = 1 To N - 1
Load Lab_No(i)
With Lab_No(i)
.Left = Lab_No(0).Left + 1500 * (i Mod 6)
.Top = Lab_No(0).Top + 800 * (i \ 6)
.Caption = Format(Rndint(1, NUM), "0000")
.Visible = True
End With
N_haved = i
Next i
Case 1 '##############################################################################
N = 12
ZhongLei = 1
If N_haved <> 0 Then Exit Sub
With Lab_No(0)
.Left = 600
.Top = 600
.Visible = True
.Caption = Format(Rndint(1, NUM), "0000")
End With
For i = 1 To N - 1
Load Lab_No(i)
With Lab_No(i)
.Left = Lab_No(0).Left + 1500 * (i Mod 6)
.Top = Lab_No(0).Top + 1500 * (i \ 6)
.Caption = Format(Rndint(1, NUM), "0000")
.Visible = True
End With
N_haved = i
Next i
Case 2 '##############################################################################
N = 10
ZhongLei = 2
If N_haved <> 0 Then Exit Sub
With Lab_No(0)
.Left = 600
.Top = 600
.Visible = True
.Caption = Format(Rndint(1, NUM), "0000")
End With
For i = 1 To N - 1
Load Lab_No(i)
With Lab_No(i)
.Left = Lab_No(0).Left + 1850 * (i Mod 5)
.Top = Lab_No(0).Top + 1500 * (i \ 5)
.Caption = Format(Rndint(1, NUM), "0000")
.Visible = True
End With
N_haved = i
Next i
Case 3 '##############################################################################
N = 1
ZhongLei = 3
If N_haved <> 0 Then Exit Sub
With Lab_No(0)
.Left = 3000
.Top = 2000
.Width = 3600
.Height = 1500
.Font.Size = 80
.Visible = True
.Caption = Format(Rndint(1, NUM), "0000")
N_haved = 1
End With
'##############################################################################
End Select
N_haved = i
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
If ZhongLei = 2 Then
Lab_No(7).Caption = GetINI("haoma\HaoMaDanCHK.ini", "一一等奖", "Lab_No. 0", "0000")
End If
Timer1.Enabled = False
Ordered = True
End Sub
Private Function Rndint(ByVal low As Integer, ByVal up As Integer) As Integer
Randomize
Rndint = Int((up - low + 1) * Rnd + low)
End Function
Private Sub RecHaoMa()
Dim i As Integer
Select Case ZhongLei
Case 0
For i = 0 To N - 1
Call PutINI("haoma\HaoMaDan.ini", "三等奖", "Lab_No." & Str(i), Lab_No(i).Caption)
Next i
Case 1
For i = 0 To N - 1
Call PutINI("haoma\HaoMaDan.ini", "二等奖", "Lab_No." & Str(i), Lab_No(i).Caption)
Next i
Case 2
For i = 0 To N - 1
Call PutINI("haoma\HaoMaDan.ini", "一等奖", "Lab_No." & Str(i), Lab_No(i).Caption)
Next i
Case 3
Call PutINI("haoma\HaoMaDan.ini", "特等奖", "Lab_No.(0)", Lab_No(0).Caption)
End Select
End Sub
Private Sub GetHavedHaoMa()
Dim N3 As Integer
Dim N2 As Integer
Dim N1 As Integer
Dim N0 As Integer
N3 = 36
N2 = 12
N1 = 10
N0 = 1
Dim i As Integer
For i = 0 To N3 - 1
HavedHao(i) = GetINI("haoma\HaoMaDan.ini", "三等奖", "Lab_No." & Str(i), "0000")
Call PutINI("haoma\HaoMaDanCHK.ini", "三等奖", "Lab_No." & Str(i), HavedHao(i))
Next i
For i = 0 To N2 - 1
HavedHao(i + N3) = GetINI("haoma\HaoMaDan.ini", "二等奖", "Lab_No." & Str(i), "0000")
Call PutINI("haoma\HaoMaDanCHK.ini", "二等奖", "Lab_No." & Str(i), HavedHao(i + N3))
Next i
For i = 0 To N1 - 1
HavedHao(i + N3 + N2) = GetINI("haoma\HaoMaDan.ini", "一等奖", "Lab_No." & Str(i), "0000")
Call PutINI("haoma\HaoMaDanCHK.ini", "一等奖", "Lab_No." & Str(i), HavedHao(i + N3 + N2))
Next i
HavedHao(N3 + N2 + N1) = GetINI("haoma\HaoMaDan.ini", "特等奖", "Lab_No.(0)", "0000")
Call PutINI("haoma\HaoMaDanCHK.ini", "特等奖", "Lab_No." & Str(i), HavedHao(N3 + N2 + N1))
HavedHao(N3 + N2 + N1 + 1) = GetINI("haoma\HaoMaDan.ini", "一一等奖", "Lab_No.(0)", "0000")
End Sub
Private Sub Command3_Click()
If Haved = True And Ordered = True Then
RecHaoMa
End If
End
End Sub
Private Sub Form_Load()
Haved = False
Ordered = False
End Sub
Private Sub Timer1_Timer()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim c As String
For i = 0 To N - 1
' With Lab_No(i)
' .Left = Lab_No(0).Left + 1500 * (i Mod 6)
' .Top = Lab_No(0).Top + 800 * (i \ 6)
c = Format(Rndint(1, NUM), "0000")
If i > 0 Then
For j = 0 To i - 1
If c <> Lab_No(j).Caption Then
Lab_No(i).Caption = c
For k = 0 To 80 - 1
If c = HavedHao(i) Then '如果产生的值是原来中过的,则重新生成,i-1
i = i - 1
End If
Next k
Else
i = i - 1
End If
Next j
Else
Lab_No(i).Caption = Format(Rndint(1, NUM), "0000")
End If
' .Visible = True
' End With
' N_haved = i
Next i
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -