1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
''' <summary>
''' Permet d'enregistrer des informations dans un fichier texte
''' </summary>
''' <param name="PathRapport">Le chemin du fichier texte (ex : C:\Rapport.txt)</param>
''' <param name="DateDuJour">La Date du jour</param>
''' <param name="information">Le texte à enregistrer</param>
Private Sub sauverInformation(PathRapport As String, DateDuJour As Date, information As String)
Dim RapportSW As StreamWriter = New StreamWriter(PathRapport, True)
If System.IO.File.Exists(PathRapport) Then
RapportSW.WriteLine("Action le " & DateDuJour.Date.ToString & " à " & DateDuJour.TimeOfDay.ToString)
RapportSW.WriteLine("Information : " & information)
RapportSW.WriteLine(" ")
RapportSW.Close()
Else
Throw New System.Exception("Rapport non trouvé à l'adresse " & PathRapport)
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim la_date As Date 'on récupère la dernière date de modification du fichier log
Dim dalaiMax1 As Long = 30
Dim delaiMax2 As Long = 10
Dim logPath As String = "C:\Talog.txt"
If System.IO.Directory.Exists("C:\fichier déplacé") = False Then
System.IO.Directory.CreateDirectory("C:\fichier déplacé")
End If
If System.IO.File.Exists(logPath) Then 'On teste que la log soit bien présente
la_date = IO.File.GetLastWriteTime(logPath) 'On récupere la date de dernière modif
If DateDiff(DateInterval.Day, la_date, Now) > dalaiMax1 Then ' Test de 30 jours
MsgBox("Attention la sauvegarde n'a pas été réalisé, il y a maintenant (" & DateDiff(DateInterval.Day, la_date, Now) & " JOURS), déplacement de la log")
FileIO.FileSystem.CopyFile(logPath, "C:\fichier déplacé\TaLog" & Date.Today.ToString.Replace("/", "").Substring(0, 8) & ".txt", True) 'On concatene le nom avec la date du jour pour éviter qu'il ne porte le même nom (Nb: Si le programme est lancé 2x dans la journée, l'ancien est écrasé par le nouveau)
FileIO.FileSystem.DeleteFile(logPath) 'On supprime l'ancien
sauverInformation("C:\Rapport.txt", Date.Now, "Déplacement de la log car le délai de 30 jours est écoulé")
ElseIf DateDiff(DateInterval.Day, la_date, Now) > delaiMax2 Then
MsgBox("Attention la sauvegarde n'a pas été réalisé, il y a maintenant (" & DateDiff(DateInterval.Day, la_date, Now) & " JOURS)")
End If
Else
MsgBox("Pas de log trouvé au chemin " & logPath, MsgBoxStyle.Critical)
End If
End Sub |
Partager