Alarme em Visual Basic
Option Explicit
Dim AlarmTime
Const conMinimized = 1
Private Sub Form_Click()
AlarmTime = InputBox(“Digite a hora”, “VB Alarme”, Hora de Alarme)
If AlarmTime = “” Then Exit Sub
If Not IsDate(AlarmTime) Then
MsgBox “Valor digitado inválido”
Else ‘ String válida,
AlarmTime = CDate(AlarmTime) ‘ Guarda o valor da hora em AlarmTime.
End If
End Sub
Private Sub Form_Load()
AlarmTime = “”
End Sub
Private Sub Form_Resize()
If WindowState = conMinimized Then ‘ Se o Form for minimizado mostra a hora em caption.
SetCaptionTime
Else
Caption = “Alarme”
End If
End Sub
Private Sub SetCaptionTime()
Caption = Format(Time, “Medium Time”) ‘ Mostra a hora usando o formato medium time.
End Sub
Private Sub Timer1_Timer()
Static AlarmSounded As Integer
If lblTime.Caption <> CStr(Time) Then
‘ é um segundo diferente do que aquele que é mostrado.
If Time >= AlarmTime And Not AlarmSounded Then
Beep 5000
MsgBox “Alarme as” & Time
AlarmSounded = True
ElseIf Time < AlarmTime Then
AlarmSounded = False
End If
If WindowState = conMinimized Then
‘ Se minimizado, então atualiza o Caption do Form a cada minuto.
If Minute(CDate(Caption)) <> Minute(Time) Then SetCaptionTime
Else
‘ Senão, atualiza Caption de lbltime do form a cada segundo.
lblTime.Caption = Time
End If
End If
End Sub