très facile et basic pour une demande d'aide sur le forum
Source / Exemple :
Public TotalConnect As String
Public Htime, Mtime, Stime As Integer
Public LoginDate As String
Public LoginTime As String
Private Sub Form_Load()
Dim Ligne As String
Dim Jour, heure, temps As String
Dim fs
Htime = 0
Mtime = 0
Stime = 0
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.fileExists(App.Path & "\connect.log") = False Then
fs.createtextfile (App.Path & "\connect.log")
End If
Open App.Path & "\connect.log" For Input As #2
Do Until EOF(2) = True
Line Input #2, Ligne
Jour = Left(Ligne, InStr(Ligne, ";") - 1)
Jour = Jour & Space(35 - Len(Jour))
heure = Mid(Ligne, Len(Trim(Jour)) + 2, InStr(Len(Trim(Jour)) + 2, Ligne, ";") - Len(Trim(Jour)) - 2)
heure = heure & Space(15 - Len(heure))
temps = Mid(Ligne, Len(Trim(Jour)) + Len(Trim(heure)) + 3, InStr(Len(Trim(Jour)) + Len(Trim(heure)) + 3, Ligne, ";") - Len(Trim(Jour)) - Len(Trim(heure)) - 3)
ListLog.AddItem Jour & heure & temps
AddTimeConnect temps
Loop
Close #2
TextLogTime.Caption = TotalConnect
LoginDate = Date
LoginTime = Time
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim Diff As String
Dim tmp As String
Dim Logout, LogoutDate As Date
Logout = Time
LogoutDate = Date
If DateDiff("d", LoginDate, Date) <> 0 Then
Diff = Format(DateDiff("h", LoginDate, LogoutDate), "##,##00") & ":" & Format(DateDiff("n", LoginTime, Logout), "##,##00") & ":" & Format(DateDiff("s", LoginTime, Logout), "##,##00")
Else
Diff = Format(DateDiff("h", LoginTime, Logout), "##,##00") & ":" & Format(DateDiff("n", LoginTime, Logout), "##,##00") & ":" & Format(DateDiff("s", LoginTime, Logout), "##,##00")
End If
Dim HTimeTmp, MTimeTmp, STimeTmp As Integer
Dim HText, MText, SText As String
Dim AddTime As Integer
HText = Left(Diff, InStr(Diff, ":") - 1)
MText = Mid(Diff, Len(HText) + 2, InStr(Len(HText) + 1, Diff, ":") - 1)
SText = Right(Diff, Len(Diff) - Len(HText) - Len(MText) - 2)
HTimeTmp = Val(HText)
MTimeTmp = Val(MText)
STimeTmp = Val(SText)
AddTime = STimeTmp \ 60
If AddTime = 1 Then STimeTmp = STimeTmp - 60
MTimeTmp = MTimeTmp + AddTime
AddTime = MTimeTmp \ 60
If AddTime = 1 Then MTimeTmp = MTimeTmp - 60
HTimeTmp = HTimeTmp + AddTime
HText = Trim(Str(HTimeTmp))
MText = Trim(Str(MTimeTmp))
SText = Trim(Str(STimeTmp))
Do Until Len(HText) >= 2
HText = "0" & HText
Loop
Do Until Len(MText) = 2
MText = "0" & MText
Loop
Do Until Len(SText) = 2
SText = "0" & SText
Loop
Ligne = HText & "h" & MText & "m" & SText & "s"
Ligne = Format(Date, "dddd d MMMM yyyy") & ";" & Format(Logout, "HH""h""mm") & ";" & Ligne & ";"
Open App.Path & "\connect.log" For Append As #1
Print #1, Ligne
Close #1
End Sub
Private Sub AddTimeConnect(ByVal temps As String)
Dim HTimeTmp, MTimeTmp, STimeTmp As Integer
Dim HText, MText, SText As String
Dim AddTime As Integer
HText = Left(temps, InStr(temps, "h") - 1)
MText = Mid(temps, Len(HText) + 2, InStr(Len(HText) + 1, temps, "m") - Len(HText) - 2)
SText = Left(Right(temps, Len(temps) - Len(HText) - Len(MText) - 2), Len(Right(temps, Len(temps) - Len(HText) - Len(MText) - 2)) - 1)
HTimeTmp = Val(HText)
MTimeTmp = Val(MText)
STimeTmp = Val(SText)
Stime = Stime + STimeTmp
AddTime = Stime \ 60
If AddTime = 1 Then Stime = Stime - 60
Mtime = Mtime + MTimeTmp + AddTime
AddTime = Mtime \ 60
If AddTime = 1 Then Mtime = Mtime - 60
Htime = Htime + HTimeTmp + AddTime
HText = Trim(Str(Htime))
MText = Trim(Str(Mtime))
SText = Trim(Str(Stime))
Do Until Len(HText) >= 2
HText = "0" & HText
Loop
Do Until Len(MText) = 2
MText = "0" & MText
Loop
Do Until Len(SText) = 2
SText = "0" & SText
Loop
TotalConnect = HText & "h" & MText & "m" & SText & "s"
End Sub
Conclusion :
sauvegarde d'un log chaque fois que le soft est lancé....puis a la réouverture, addition du temps que le prog a été lancé.....utilité: peut être adapté pour un conteur de connection internet....
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.