Horloge diode avec 3 alarmes et remise à l'heure

Description

Bonjour,

Suite à une question vue en vbNet, j'ai fait cette horloge de type 7 diodes avec 3 alarmes et une remise à l'heure (selon autorisation).
Développement en vbNet 10.

Source / Exemple :


'
' horloge (form1) : vbNet 10
Option Explicit On
Public Class Form1
  Dim t As Integer
  Dim ri
  Dim alarme(3) As Boolean
  Dim Halarme(3) As String
  Dim alternat As Boolean

  Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim i As Integer
    Me.Left = 10
    Me.Top = 10
    Timer1.Enabled = False
    Timer1.Interval = 1000
    Timer1.Enabled = True
    For i = 0 To 59
      If i < 24 Then
        ComboBox1.Items.Add(Format(i, "00"))
        ComboBox4.Items.Add(Format(i, "00"))
        ComboBox7.Items.Add(Format(i, "00"))
        ComboBox10.Items.Add(Format(i, "00"))
      End If
      ComboBox2.Items.Add(Format(i, "00"))
      ComboBox3.Items.Add(Format(i, "00"))
      ComboBox5.Items.Add(Format(i, "00"))
      ComboBox6.Items.Add(Format(i, "00"))
      ComboBox8.Items.Add(Format(i, "00"))
      ComboBox9.Items.Add(Format(i, "00"))
      ComboBox11.Items.Add(Format(i, "00"))
      ComboBox12.Items.Add(Format(i, "00"))
    Next
    ComboBox1.SelectedIndex = 0
    ComboBox2.SelectedIndex = 0
    ComboBox3.SelectedIndex = 0
    ComboBox4.SelectedIndex = 0
    ComboBox5.SelectedIndex = 0
    ComboBox6.SelectedIndex = 0
    ComboBox7.SelectedIndex = 0
    ComboBox8.SelectedIndex = 0
    ComboBox9.SelectedIndex = 0
    ComboBox10.SelectedIndex = Now.Hour
    ComboBox11.SelectedIndex = Now.Minute
    ComboBox12.SelectedIndex = Now.Second
    Label1.BackColor = Color.FromArgb(225, 225, 225)
    Label2.BackColor = Color.FromArgb(225, 225, 225)
    Label3.BackColor = Color.FromArgb(225, 225, 225)
  End Sub

  Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    t = Mid(TimeOfDay, 1, 1) ' hh:mn:ss
    Call quelleImage()
    PictureBox1.Image = ri
    t = Mid(TimeOfDay, 2, 1)
    Call quelleImage()
    PictureBox2.Image = ri
    t = Mid(TimeOfDay, 4, 1)
    Call quelleImage()
    PictureBox3.Image = ri
    t = Mid(TimeOfDay, 5, 1)
    Call quelleImage()
    PictureBox4.Image = ri
    t = Mid(TimeOfDay, 7, 1)
    Call quelleImage()
    PictureBox5.Image = ri
    t = Mid(TimeOfDay, 8, 1)
    Call quelleImage()
    PictureBox6.Image = ri
    '
    alternat = Not alternat
    If alarme(1) = True Then
      If TimeOfDay >= CDate(Halarme(1)) Then
        If alternat = True Then Label1.BackColor = Color.FromArgb(225, 225, 225)
        If alternat = False Then Label1.BackColor = Color.FromArgb(255, 0, 0)
      End If
    End If
    If alarme(2) = True Then
      If TimeOfDay >= CDate(Halarme(2)) Then
        If alternat = True Then Label2.BackColor = Color.FromArgb(225, 225, 225)
        If alternat = False Then Label2.BackColor = Color.FromArgb(255, 0, 0)
      End If
    End If
    If alarme(3) = True Then
      If TimeOfDay >= CDate(Halarme(3)) Then
        If alternat = True Then Label3.BackColor = Color.FromArgb(225, 225, 225)
        If alternat = False Then Label3.BackColor = Color.FromArgb(255, 0, 0)
      End If
    End If
  End Sub

  Sub quelleImage()
    Select Case t
      Case 0 : ri = My.Resources._0
      Case 1 : ri = My.Resources._1
      Case 2 : ri = My.Resources._2
      Case 3 : ri = My.Resources._3
      Case 4 : ri = My.Resources._4
      Case 5 : ri = My.Resources._5
      Case 6 : ri = My.Resources._6
      Case 7 : ri = My.Resources._7
      Case 8 : ri = My.Resources._8
      Case 9 : ri = My.Resources._9
    End Select
  End Sub

  Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    alarme(1) = False
    Label1.BackColor = Color.FromArgb(225, 225, 225)
    Label1.Text = "Alarme à l'arrêt"
  End Sub

  Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    alarme(2) = False
    Label2.BackColor = Color.FromArgb(225, 225, 225)
    Label2.Text = "Alarme à l'arrêt"
  End Sub

  Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    alarme(3) = False
    Label3.BackColor = Color.FromArgb(225, 225, 225)
    Label3.Text = "Alarme à l'arrêt"
  End Sub

  Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Halarme(1) = Format(ComboBox1.SelectedIndex, "00") & ":" & Format(ComboBox2.SelectedIndex, "00") & ":" & Format(ComboBox3.SelectedIndex, "00")
    Label1.Text = "Alarme = " & CDate(Halarme(1))
    alarme(1) = True
  End Sub

  Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    Halarme(2) = Format(ComboBox4.SelectedIndex, "00") & ":" & Format(ComboBox5.SelectedIndex, "00") & ":" & Format(ComboBox6.SelectedIndex, "00")
    Label2.Text = "Alarme = " & CDate(Halarme(2))
    alarme(2) = True
  End Sub

  Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Halarme(3) = Format(ComboBox7.SelectedIndex, "00") & ":" & Format(ComboBox8.SelectedIndex, "00") & ":" & Format(ComboBox9.SelectedIndex, "00")
    Label3.Text = "Alarme = " & CDate(Halarme(3))
    alarme(3) = True
  End Sub

  Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    Try
      TimeOfDay = New Date(Now.Year, Now.Month, Now.Day, ComboBox10.SelectedIndex, ComboBox11.SelectedIndex, ComboBox12.SelectedIndex)
    Catch ex As Exception
      MsgBox(Err.Number & vbLf & vbLf & Err.Description, vbExclamation)
    End Try
  End Sub

End Class

Conclusion :


Il faut d'abord faire les 10 images avec Paint, les 10 images des 10 chifrfes, qui sont joints dans le code.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.