[vb.net] gestion d'alarme + tonalité

Description

Cette petite source très simple développée sous Visual Basic Express 2008 permet à l'utilisateur de programmer et de gérer ses alarmes, en leur assignant une tonalité au choix ou non. Cette application peut tourner en fond en réduisant la fenêtre. Celle-ci se glisse dans la barre des tâches. De plus, l'utilisateur peut choisir si l'application doit se lancer au démarrage de Windows ou non.

Ceci est ma première source sur CS, donc place aux remarques constructives :)

Source / Exemple :


'   CLASSE D'ALARME
'On utilise DirectX uniquement pour lire un ficher audio.
Imports Microsoft.DirectX
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class clsAlarm

    'Déclaration des variables.
    Private _Nom As String
    Private _Detail As String
    Private _Date As Date
    Private _Tonalite As String

    Private WithEvents tVerif As New Timer 'Déclaration d'un timer avec évenements.

#Region "Property"

    '   PROPRIETES DE LA CLASSE

    'C'est ici que sont les propriétés de la classe, rien de bien compliqué. Je vais en détaillé une, le fonctionnement est le même pour toutes les autres.

    'Propriété "Nom".
    Public Property Nom() As String 'De type String.
        '   Imagineons Alarm1 As New clsAlarm.
        Get 'Lorsque l'on demande cette propriété (maVar = Alarm1.Nom)
            Return _Nom 'On retourne la valeur de la variable _Nom (déclarée plus haut).
        End Get
        Set(ByVal value As String) 'Lorsque l'on attribut une valeur à cette propriété (Alarm1.Nom = maVar)
            _Nom = value 'On modifie la valeur de la variable _Nom, on lui attribut la valeur "value".
        End Set
    End Property

    Public Property Details() As String
        Get
            Return _Detail
        End Get
        Set(ByVal value As String)
            _Detail = value
        End Set
    End Property

    Public Property AlarmDate() As Date
        Get
            Return _Date
        End Get
        Set(ByVal value As Date)
            _Date = value
        End Set
    End Property

    Public Property Tonalite() As String
        Get
            Return _Tonalite
        End Get
        Set(ByVal value As String)
            _Tonalite = value
        End Set
    End Property
#End Region

    'A la création de la variable via la classe.
    'On demande 4 choses, le nom, la description, la date, et le chemain du fichier audio.
    Public Sub New(ByVal _AlarmName As String, ByVal _AlarmDetail As String, ByVal _AlarmDate As Date, ByVal _AlarmTonalite As String)
        'On les attributs aux variables.
        _Nom = _AlarmName
        _Detail = _AlarmDetail
        _Date = _AlarmDate
        _Tonalite = _AlarmTonalite

        'On initialise le timer à 1 seconde, et on le lance.
        tVerif.Interval = 1000
        tVerif.Start()
    End Sub

    '   TICK DU TIMER.
    Private Sub tVerif_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tVerif.Tick
        If Date.Now.ToString = _Date.ToString Then 'Si la date et l'heure actuelle du pc correspondent à la date et l'heure de l'alarme.
            If Not _Tonalite = "" Then 'Et si l'alarme possède une tonalité.
                Dim mPiste As New Audio(_Tonalite) 'Alors on initialise le son via DirectX.
                mPiste.Play() 'Puis on le lance.

                'En attendant on affiche une MessageBox, avec quelques informations sur l'alarme.
                MessageBox.Show("Alarme : " & _Nom & vbCrLf & "Détails : " & _Detail, "Alarme !", MessageBoxButtons.OK)

                mPiste.Stop() 'Puis à la fermeture de la MessageBox, on éteint la musique.
            Else
                'Si l'alarme ne possède pas de tonalité (l'utilisateur ne souhaite pas qu'une musique se lance).

                'On affiche simplement une MessageBox d'informations !
                MessageBox.Show("Alarme : " & _Nom & vbCrLf & "Détails : " & _Detail, "Alarme !", MessageBoxButtons.OK)
            End If
        End If
    End Sub
End Class

Conclusion :


En conclusion, cette source permet de voir différents éléments. Dans un premier temps, elle permet de voir la gestion simple des alarmes via POO. Mais elle permet aussi la gestion de la base de registre (rien de bien compliqué), ainsi que du Systray avec un menu contextuel. Enfin, elle permet de voir le composant AudioVideoPlayback, qui est le composant le plus simple de DirectX.

Les améliorations possibles :

- Changement de couleur dans la liste des alarmes lorsque une alarme est passée.

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.