Log connection


Description

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....

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.