IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Une explication ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut Une explication ?
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Ton "Dim lf" de ta classe, vois ce que ça donne en "Private lf" pour voir.

    Sinon déclare peut être tes fonctions en "Public Function" au lieu de "Function", mais je ne vois pas pourquoi en décommentant tes lignes ça fonctionnerait si ça vient de là

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par asmduty Voir le message
    Ton "Dim lf" de ta classe, vois ce que ça donne en "Private lf" pour voir.

    Sinon déclare peut être tes fonctions en "Public Function" au lieu de "Function", mais je ne vois pas pourquoi en décommentant tes lignes ça fonctionnerait si ça vient de là

    rien de tout ça ...


    Citation Envoyé par Treize_ Voir le message
    Elles fonctionnent seulement si je décommente mes déclarations de LectureFichier faites pour chaque évènements.
    quand elles ne fonctionnent pas, elle font quoi ? message d'erreur ? si oui lequel ? etc...


    enfin tu t'embetes bien à écrire des lignes de code pour ca ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.io.file.ReadAllLines(chemin)
    une des règles en .net, si tu écris plus de 5 lignes de code pour faire un truc, c'est qu'il existe déjà un truc qui le fait
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut
    Non je n'avais aucun message d'erreur.
    Je pense que mes fonction n'avait pas accès a mon fichier.

    Sinon pour le readAllLines, j'avoue que ça m'aurait vraiment fait gagner du temps ... ^^

    Enfin j'ai l'excuse du débutant

    Et donc pour faire fonctionner les fonctions comme je voulais j'ai modifié mon constructeur de lectureFichier en lui affectant simplement un fichier et j'initialise mes StreamReader dans chacune de mes fonctions.

    Voila.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plantage de programme : avez-vous une explication ?
    Par tlpwd dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 30/01/2007, 14h10
  2. Une explication nécessaire : 16 bits, 32 bits, etc.
    Par einegel dans le forum Delphi
    Réponses: 10
    Dernier message: 29/01/2007, 19h46
  3. Une explication simple de Dijkstra ..
    Par pierre1256 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2007, 09h35
  4. [C#] ViewState. Enfin une explication simple ?
    Par slopera dans le forum ASP.NET
    Réponses: 23
    Dernier message: 27/01/2006, 16h34
  5. Réponses: 28
    Dernier message: 18/08/2003, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo