Como Criar um Alarme no Visual Basic

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

  1. 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.
  2. Monitoramento da hora atual:
    • Um Timer verifica a cada segundo se a hora atual corresponde ao horário do alarme.
  3. 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.
  4. 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.


Posts Similares