随机点名系统。
综合网上各类小程序,自己修改定制了一款新的小程序。
学生名单.txt 放在同一个目录中。
使用截图如下
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
'定义常量
Const HWND_TOPMOST = -1 'On Top
Const HWND_NOTOPMOST = -2 'No Top
Const SWP_NOACTIV A TE = &H10 '
Const SWP_SHOWWINDOW = &H40 '
'Dim TopOn As Integer
Dim ss, mm, nn
Dim num(1 To 300) As Integer
Dim j, k As Integer
Dim A(500) As String, r As Integer
Dim filename As String
Private Sub Command1_Click()
Dim b As String
Dim t, i As Integer
filename = App.Path & "\" & "学生名单.txt" Open filename For Input As #1
'产生记录总数以内的随机数x
i = 1
While Not EOF(1)
Line Input #1, A(i)
i = i + 1
Wend
c = i
Close #1
Start:
Randomize
t = Int(c * Rnd + 1)
For j = 1 To c
If t = num(j) Then
GoTo Start
End If
Next
Label1.Caption = A(t)
k = k + 1
num(k) = t
If k = c Then
MsgBox "所有人员均已点过!", vbSystemModal Command1.Enabled = False
Command3.Enabled = True
End If
End Sub
Private Sub Command2_Click()
Unload Form1
End Sub
Private Sub Command3_Click()
j = 0
k = 0
For i = 1 To 300
num(i) = 0
Next
Command3.Enabled = False
Command1.Enabled = True
Label1.Caption = "Name"
End Sub
Private Sub Command4_Click()
Timer1.Enabled = True
Command4.Enabled = False
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer) End Sub
Private Sub Form_load()
Form1.Height = 500
Form1.Width = 8550
Command3.Enabled = False
Timer1.Enabled = False
mm = 45: ss = 0
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Dim M As Integer
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / 15, _
Me.Top / 15, Me.Width / 15, _
Me.Height / 15, SWP_NOACTIV ATE Or SWP_SHOWWINDOW Line1:
If ss < 10 Then
s = "0" & ss
Else
s = ss
End If
If mm < 10 Then
mmm = "0" & mm
Else
mmm = mm
End If
t = mmm & ":" & s
Label2.Caption = t
ss = ss - 1
If nn = 3 Then
ss = 88
End If
If mm = 0 And ss = -1 And nn = 0 Then
MsgBox "休息时间已到,五分钟后继续", vbSystemModal
nn = 1
mm = 5: ss = 0
GoTo Line1
End If
If mm = 0 And ss = -1 And nn = 1 Then
MsgBox "继续上课", vbSystemModal
nn = 2
mm = 45: ss = 0
GoTo Line1
End If
If mm = 0 And ss = -1 And nn = 2 Then
MsgBox "放学咯!", vbSystemModal
Command1.Enabled = False
nn = 3
mm = 88: ss = 88
End If
If ss = -1 And mm > 0 Then mm = mm - 1: ss = 59
If mm = 0 And hh > 0 Then hh = hh - 1: mm = 59 End Sub