Bonjour a tous !
J'ai dans le cadre de mon stage, codé une classe avec quelques fonctions qui me permette d'exploiter un fichier .txt
Seulement il y a quelque chose que je ne comprend pas.
Voici le code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Imports System.IO Public Class Form2 Dim lf As New LectureFichier("C:\Documents and Settings\Treize\Bureau\heliopac\Journal.txt") Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 'Dim lf As New LectureFichier("C:\Documents and Settings\Treize\Bureau\heliopac\Journal.txt") TextBox1.Text = lf.lireFichier() End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged 'Dim lf As New LectureFichier("C:\Documents and Settings\Treize\Bureau\heliopac\Journal.txt") TextBox2.Text = lf.NombreDeLigne() End Sub Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing 'Dim lf As New LectureFichier("C:\Documents and Settings\Treize\Bureau\heliopac\Journal.txt") lf.Close() End Sub End Class
Ma classe LectureFichier :
Code:
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
67
68
69
70
71
72
73
74
75
76
77
78
79 Public Class LectureFichier Protected monStreamReader As StreamReader Sub New(ByVal fichier As String) monStreamReader = New StreamReader(fichier) End Sub Function lireFichier() Dim ligne2 As String = "" Try ' Création d'une instance de StreamReader pour permettre la lecture de notre fichier Dim ligne As String 'Lecture de toutes les lignes et affichage de chacune sur la page Do ligne = Me.monStreamReader.ReadLine() ligne2 = ligne2 + ligne & vbCrLf Loop Until ligne Is Nothing Catch ex As Exception 'Code exécuté en cas d'exception MessageBox.Show("Une erreur est survenue au cours de la lecture du fichier !") MessageBox.Show(ex.Message) End Try Return ligne2 End Function Function LectureLigne(ByVal i As Integer) Dim j As Integer = 0 Dim ligne As String = "" Try Do ligne = Me.monStreamReader.ReadLine() j = j + 1 Loop Until j = i Catch ex As Exception 'Code exécuté en cas d'exception MessageBox.Show("Une erreur est survenue au cours de la lecture d'une ligne d'un fichier !") MessageBox.Show(ex.Message) End Try Return ligne End Function Function NombreDeLigne() Dim j As Integer = 0 Dim ligne As String = "" Try Do j = j + 1 ligne = Me.monStreamReader.ReadLine() Loop Until ligne Is Nothing Catch ex As Exception 'Code exécuté en cas d'exception MessageBox.Show("Une erreur est survenue au cours du calcule du nombre de fichier !") MessageBox.Show(ex.Message) End Try Return j End Function Sub Close() 'Fermeture du StreamReader (attention très important) monStreamReader.Close() End Sub End Class
Pourquoi mes fonctions lireFichier, lectureLigne et nombreDeLigne ne fonctionnent pas avec cette déclaration (hors Evenements) ?
Elles fonctionnent seulement si je décommente mes déclarations de LectureFichier faites pour chaque évènements.