Bonjour a tous, j'ai crée une petite application qui se lance au démarrage de
windows,et je chercher un moyen de calculer le temps total d'utilisation,je m'explique:
dés que le pc fonctionne mon programme compte les secondes, minutes et heures, les stocks
dans des fichiers pour pouvoir au ré allumage du pc retrouver les valeurs (heures,min,sec)
Ainsi mon chrono reprend ou il s'etai arrêter!
Je sais cela doit vous sembler un peu poussif!! Mais je débute et je fais ça en amateur,j' ai chercher
le moyen pour que mon prog détecte lorsque le pc va s'éteindre et ainsi écrire juste a ce moment la,
dans un fichier,mais j'ai pas trouver!!
Voici l'extrais de mon code qui concerne cette fonction,
dite moi ce que vous en penser,n'hésiter pas!!
Imports System.IO 'pour pouvoir lire et écrire de fichiers
Public Class Form1
Dim h As Integer 'les heures
Dim m As Integer 'les minutes
Dim s As Integer 'les secondes
Dim t As String 'affichage du temps
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'on regarde si on peut reprendre les données d'un précedent timer
If File.Exists("c:\a\heures.txt") Then
Call reprise()
End If
'le label affiche les variables (précedente ou non)
Label1.Text = "" & h & " : " & m & " : " & s & ""
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'a chaque tick on incrémente s de 1
s = s + 1
'on defini les unitées de temps:
If s = 60 Then : s = 0
m = m + 1
End If
If m = 60 Then : m = 0
h = h + 1
End If
'on donne a t les valeurs des variables h,m,s
t = "" & h & " : " & m & " : " & s & ""
Label1.Text = (t) 'affiche t
' a chaque tick on écrit les valeurs de h,m,s dans des fichiers .txt afin de les lires
'lors de la reprise
Dim SW1 As StreamWriter = File.AppendText("c:\a\heures.txt") ' crée ou si existe ajoute
SW1.WriteLine(h)
SW1.Close()
Dim SW2 As StreamWriter = File.AppendText("c:\a\minutes.txt") ' crée ou si existe ajoute
SW2.WriteLine(m)
SW2.Close()
Dim SW3 As StreamWriter = File.AppendText("c:\a\secondes.txt") ' crée ou si existe ajoute
SW3.WriteLine(s)
SW3.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Interval = 1000 'timer de 1 seconde
Timer1.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub reprise()
'on transforme le fichier heures.txt en tableau
Dim th() As String = File.ReadAllLines("c:\a\heures.txt")
Dim k As String
Dim p As Integer
'on cherche la derniere ligne du tableau
k = th.Length - 1 ' -1 car les elements du tableau commence a l'indice 0,1,2...donc i serait or tableau
p = CType((k), Integer) ' f est la variable String, Integer est le type à obtenir
h = th.GetValue(p) 'h prend la valeur de la derniere ligne du tableau
'on transforme le fichier minutes.txt en tableau
Dim tm() As String = File.ReadAllLines("c:\a\minutes.txt")
Dim l As String
Dim q As Integer
'on cherche la derniere ligne du tableau
l = tm.Length - 1 ' -1 car les elements du tableau commence a l'indice 0,1,2...donc i serait or tableau
q = CType((l), Integer) ' f est la variable String, Integer est le type à obtenir
m = tm.GetValue(q) 'm prend la valeur de la derniere ligne du tableau
'on transforme le fichier secondes.txt en tableau
Dim ts() As String = File.ReadAllLines("c:\a\secondes.txt")
Dim n As String
Dim r As Integer
'on cherche la derniere ligne du tableau
n = ts.Length - 1 ' -1 car les elements du tableau commence a l'indice 0,1,2...donc i serait or tableau
r = CType((n), Integer) ' f est la variable String, Integer est le type à obtenir
s = ts.GetValue(r) 's prend la valeur de la derniere ligne du tableau
'apres avoir pris les précedentes valeures de h,m,s on efface les fichiers pour reécrir dans des neufs
Call efface()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Call reprise()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Timer1.Stop()
End Sub
Private Sub efface()
'on efface les fichiers pour ne pas surcharger
File.Delete("c:\a\heures.txt")
File.Delete("c:\a\minutes.txt")
File.Delete("c:\a\secondes.txt")
End Sub
End Class