'************************************************************************** ' $Archive: $ ' $Author: $ ' $Date: $ $Revision: $ ' Description : Classe de gestion des temps ' ************************************************************************* ''' ----------------------------------------------------------------------------- ''' Project : DotNetSysInfo ''' Class : TimeClass ''' ''' ----------------------------------------------------------------------------- ''' ''' Classe de gestion des temps ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Class TimeClass Private _Secondes As Integer Private _Minutes As Integer Private _Heures As Integer Private _Jours As Integer #Region "Liste Propriétés de la Classe" ''' ----------------------------------------------------------------------------- ''' ''' Propriété du nombre des secondes de l'objet ''' ''' ''' ''' ''' ''' [moi] 28/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Property Secondes() As Integer Get Return _Secondes End Get Set(ByVal Value As Integer) _Secondes = Value End Set End Property ''' ----------------------------------------------------------------------------- ''' ''' Propriété du nombre des minutes de l'objet ''' ''' ''' ''' ''' ''' [moi] 28/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Property Minutes() As Integer Get Return _Minutes End Get Set(ByVal Value As Integer) _Minutes = Value End Set End Property ''' ----------------------------------------------------------------------------- ''' ''' Propriété du nombre des heures de l'objet ''' ''' ''' ''' ''' ''' [moi] 28/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Property Heures() As Integer Get Return _Heures End Get Set(ByVal Value As Integer) _Heures = Value End Set End Property ''' ----------------------------------------------------------------------------- ''' ''' Propriété du nombre des Jours de l'objet ''' ''' ''' ''' ''' ''' [moi] 28/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Property Jours() As Integer Get Return _Jours End Get Set(ByVal Value As Integer) _Jours = Value End Set End Property #End Region ''' ----------------------------------------------------------------------------- ''' ''' Constructeur par Défaut de la classe ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Sub New() _Secondes = 0 _Minutes = 0 _Heures = 0 _Jours = 0 End Sub ''' ----------------------------------------------------------------------------- ''' ''' Constructeur transmettant la valeur de chaque parametre de temps (jour, heure, minute et seconde) ''' ''' ''' ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Sub New(ByVal NbJours As Integer, ByVal NbHeures As Integer, ByVal NbMinutes As Integer, ByVal NbSecondes As Integer) _Secondes = NbSecondes _Minutes = NbMinutes _Heures = NbHeures _Jours = NbJours End Sub ''' ----------------------------------------------------------------------------- ''' ''' Constructeur transmettant le nombre total de secondes ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Sub New(ByVal TotalNbSecondes As Long) Dim LeTemps As New TimeClass LeTemps.ConversionDetaillee(TotalNbSecondes) Secondes = LeTemps.Secondes Minutes = LeTemps.Minutes Heures = LeTemps.Heures Jours = LeTemps.Jours End Sub ''' ----------------------------------------------------------------------------- ''' ''' Procédure permettant de calculer chaque variable à partir du Nombre total de secondes ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Sub ConversionDetaillee(ByVal NBSec As Long) Jours = NBSec \ 86400 Heures = (NBSec - (Jours * 86400)) \ 3600 Minutes = (NBSec - (Heures * 3600) - (Jours * 86400)) \ 60 Secondes = NBSec - (Minutes * 60) - (Heures * 3600) - (Jours * 86400) End Sub ''' ----------------------------------------------------------------------------- ''' ''' Fonction permettant de connaître le nombre total de seconde à partir des valeurs des variables ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Function ConversionSeconde() As Long Return CType(((((Jours * 24) + Heures) * 60 + Minutes) * 60) + Secondes, Long) End Function ''' ----------------------------------------------------------------------------- ''' ''' Fonction de test d'égalité de 2 objets TimeClass ''' ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Function Egal(ByVal ValeurAComparer As TimeClass) As Boolean Dim ValeurBase As Long = ConversionSeconde() Dim ValeurComp As Long = ValeurAComparer.ConversionSeconde If ValeurBase = ValeurComp Then Return True Else Return False End If End Function ''' ----------------------------------------------------------------------------- ''' ''' Fonction qui renvoie la différence entre 2 objets TimeClass en secondes ''' ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Function DifferenceA(ByVal ValeurAComparer As TimeClass) As Integer Dim ValeurBase As Long = ConversionSeconde() Dim ValeurComp As Long = ValeurAComparer.ConversionSeconde Return CType(ValeurBase - ValeurComp, Integer) End Function ''' ----------------------------------------------------------------------------- ''' ''' Fonction qui ajoute un objet TimeClass à un autre par la somme des 2 totaux de secondes ''' ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Function AjouterTemps(ByVal ValAAjouter As TimeClass) As TimeClass Dim ValeurBase As Long = ConversionSeconde() Dim ValeurComp As Long = ValAAjouter.ConversionSeconde Dim TemptResult As New TimeClass(ValeurBase + ValeurComp) Return TemptResult End Function ''' ----------------------------------------------------------------------------- ''' ''' Fonction qui renvoie la chaine permettant de définir textuellement la valeur d'un objet TimeClass ''' ''' ''' ''' ''' ''' [moi] 27/06/2004 Created ''' ''' ----------------------------------------------------------------------------- Public Function ReturnChaineTemps() As String Dim TempChaine As String = "" If Jours > 1 Then TempChaine &= Jours & " Jours " Else TempChaine &= Jours & " Jour " End If If Heures > 1 Then TempChaine &= Heures & " Heures " Else TempChaine &= Heures & " Heure " End If If Minutes > 1 Then TempChaine &= Minutes & " Minutes " Else TempChaine &= Minutes & " Minute " End If If Secondes > 1 Then TempChaine &= Secondes & " Secondes " Else TempChaine &= Secondes & " Seconde " End If Return TempChaine End Function ' ----------------------------------------------------- End Class