Bonjour,
Voilà, j'aurais besoin d'aide dans un programme d'analyse de fichier log.
Pour commencer, il me faut lire la dernière ligne de ce fichier, voici la méthode que j'ai utilisée (qui je suppose, n'est que peu optimisé):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub MainTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MainTimer.Tick Dim LastLine As String Dim SR As New StreamReader(FilePath) While SR.Peek <> -1 LastLine = SR.ReadLine() End While If LastLine.Contains("trigger") Then Blink() End If End Sub
Grossomodo, le fichier est scanné non stop et lorsque la dernière ligne contient un mot déclencheur, la fonction Blink() est appelée.
Jusque là, pas de problème, cependant, lorsque mon programme lis en continue le fichier, le jeu n'arrive plus à écrire dans le fichier log!
Mon MainTimer est actuellement à 50ms de delay, je ne peux cependant pas changer ce temps étant donné que j'ai moins de 1s pour détecter l'action et que même durant ce cours laps de temps, il pourrait y avoir 2 lignes et donc pourquoi pas, cacher le mot déclencheur...
Le fichier fait entre 1 et 5000 ligne (ce pourrait être plus mais c'est tout de même peu probable), j'ai songé à le vider, mais cela ne changerait pas grand, le jeu n'arrivant déjà pas à écrire dans mon fichier logs sans cela...
Je viens donc vers vous pour vous demander s'il y a possibilité de scanner un fichier log en temps réel sans "bloquer" le programme écrivant le fichier dont il est question.
Merci d'avoir pris le temps de me lire.
Partager