'**************************************************************************
' $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