No Visual Basic, é possível criar um alarme que alerta o usuário com um som e uma mensagem ao atingir o horário programado. O código abaixo permite definir um horário e exibe a hora no título da janela quando minimizado.
Código do Alarme
Option Explicit
Dim AlarmTime As Date
Const conMinimized = 1
Private Sub Form_Click()
' Solicita ao usuário que insira um horário para o alarme
AlarmTime = InputBox("Digite a hora no formato HH:MM", "VB Alarme")
' Verifica se o valor inserido é válido
If AlarmTime = "" Then Exit Sub
If Not IsDate(AlarmTime) Then
MsgBox "Valor digitado inválido", vbExclamation, "Erro"
Else
' Converte a entrada para o formato de data/hora
AlarmTime = CDate(AlarmTime)
End If
End Sub
Private Sub Form_Load()
' Inicializa o horário do alarme como vazio
AlarmTime = ""
End Sub
Private Sub Form_Resize()
' Se a janela for minimizada, exibe a hora no título do formulário
If Me.WindowState = conMinimized Then
SetCaptionTime
Else
Me.Caption = "Alarme"
End If
End Sub
Private Sub SetCaptionTime()
' Exibe a hora atual no título da janela ao ser minimizada
Me.Caption = Format(Time, "HH:MM:SS")
End Sub
Private Sub Timer1_Timer()
Static AlarmSounded As Boolean
' Atualiza o horário no label do formulário a cada segundo
If lblTime.Caption <> CStr(Time) Then
lblTime.Caption = Format(Time, "HH:MM:SS")
' Verifica se a hora atual atingiu o horário do alarme
If Time >= AlarmTime And Not AlarmSounded Then
Beep
MsgBox "Alarme às " & Format(AlarmTime, "HH:MM:SS"), vbInformation, "Alarme Ativado"
AlarmSounded = True
ElseIf Time < AlarmTime Then
AlarmSounded = False
End If
' Se a janela estiver minimizada, atualiza o título a cada minuto
If Me.WindowState = conMinimized Then
If Minute(CDate(Me.Caption)) <> Minute(Time) Then SetCaptionTime
End If
End If
End Sub
Explicação do Código
-
Definição do horário do alarme:
- O usuário insere um horário no formato
HH:MM
. - O código valida a entrada e a converte para um formato de data/hora.
- O usuário insere um horário no formato
-
Monitoramento da hora atual:
- Um Timer verifica a cada segundo se a hora atual corresponde ao horário do alarme.
-
Execução do alarme:
- Quando a hora do alarme é atingida, o programa emite um som e exibe uma mensagem.
- O alarme só será disparado uma vez, evitando alertas repetitivos.
-
Exibição da hora ao minimizar a janela:
- Se a janela for minimizada, a hora atual é exibida no título do formulário.
Aplicações Práticas
Esse código pode ser usado para:
Criar lembretes automáticos no Visual Basic.
Exibir um alarme de eventos ou compromissos.
Melhorar a interatividade de softwares com temporizadores.