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

Windows Forms Discussion :

[VB.Net]Compter le nb de ligne dans fichier txt


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut [VB.Net]Compter le nb de ligne dans fichier txt
    Bonjour a tous,

    Voila je voudrais savoir comment faire pour compter le nb de ligne, de mots d'un fichier txt en vb.net

    J'ai un form avec un bouton qui me permet de chercher le .txt.

    Pour le moment, j'utilise un OpenFileDialog afin de récupérer le fichier txt puis pour ouvrir le fichier j'utilise un StreamReader.
    Voici mon bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
     
                Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)
                'MessageBox.Show(sr.ReadToEnd)
     
                sr.Close()
     
            End If
     
        End Sub
    Je ne trouve aucun tuto ou bout de code sur le net...
    Si quelqu'un avait une piste un lien...
    Merci d'avance
    Cdt
    Papy

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Pour le nombre de lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim lignes() As String = File.ReadAllLines("leFichier.txt")
    Dim nLignes = lignes.Length
    Pour le nombre de mots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim text = File.ReadAllText("leFichier.txt")
    Dim mots() As String = text.Split(vbCr, VbLf, vbTab, " "C) ' ajouter à cette liste tous les caractères considérés comme des séparateurs de mots
    Dim nMots = mots.Length

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Salut Tomlev,

    Merci pour ta réponse mais j'ai un ptit soucis.
    Le champs File est de quel type? je le déclare comment?

    Merci d'avance.
    Cdt.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    C'est pas un champ, c'est une classe statique qui est dans le namespace System.IO

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Merci Tomlev,

    j'ai rajouté Imports System.ISO et ca marche.

    Encore Merci pour tout.

    Cdt

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    re,

    une dernière petite question:
    Ou est ce que je pourrais trouver un cours avec toutes ces fonctions.
    Car si je veux afficher d'autres détails sur ce fichier comme l'emplacement du fichier ou le nombre de lettre, de chiffre, caractères etc...

    Encore merci.
    Cdt
    Papy

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Un cours juste sur les fonctions de File, ça m'étonnerait qu'il y en ait... il y a la doc :
    http://msdn.microsoft.com/fr-fr/libr...m.io.file.aspx

    Ou un cours général sur Visual Basic :
    http://plasserre.developpez.com/vsommair.htm

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Donc pas moyen de trouver sur le net comment compter le nb de chiffre de lettre de caractère etc dans un .txt sans demander de l'aide?

    Tu les connais toutes ces fonctions?

    Sinon le cours de P. Lasserre est très bien mais je n'ai rien trouvé sur la manipulation de fichier txt.

    Bon je continue mes recherche encore merci...

    Cdt

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ben c'est juste de la manipulation de chaine... pour le nombre total de caractères, c'est la longueur de la chaine obtenue avec ReadAllText (qui lit la totalité du fichier). Pour le reste, il n'y a pas de fonction toute faite a priori... il faut parcourir la chaine en comptant les lettres, les chiffres, etc

    Sinon le cours de P. Lasserre est très bien mais je n'ai rien trouvé sur la manipulation de fichier txt.
    Faudrait quand même apprendre à chercher un peu...
    http://plasserre.developpez.com/v4-6.htm

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Oki merci,
    effectivement pas vu hehehehehe

    Merci pour tout.

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 161
    Points : 166
    Points
    166
    Par défaut
    Voici un bout de code qui te permetra de gerer ton problème.

    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
    Private Sub CompteLigneFichier()
            Dim nomfichiertext As String
            Dim numfichier As Short, taillefichier, MaLigne As String
     
     
            'Definition et ouverture du fichier
            nomfichiertext = Trim(TextBox1.Text)
            numfichier = FreeFile()
            FileOpen(numfichier, nomfichiertext, OpenMode.Input)
            taillefichier = LOF(numfichier)
     
            ''Ouverture des connexions
            custConn1.Open()
     
            'Ouverture du Fichier
     
            Dim LeNumLigne As Integer = 0
     
            Do While Not EOF(numfichier)
     
                LeNumLigne += 1
                MaLigne = LineInput(numfichier) 'On recupère la première ligne
     
            Loop
     
            MsgBox("Le nombre de ligne du fichier est: " & LeNumLigne)
            custConn1.Close()
            FileClose(numfichier)   ' On ferme le fichier
     
        End Sub

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Euh... t'es sûr que c'est pas du VB6 ça ? Si c'est du VB.NET, tu devrais utiliser les classes du Framework... Ces fonctions d'accès aux fichiers sont obsolètes, elles ne sont conservées que pour faciliter la transition aux anciens développeurs VB6.
    A part ça, ça doit fonctionner, mais personnellement je trouvais mon code (un peu) plus simple

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Question sur "Imports System.ISO"
    Bonjour à tous !

    Ca fait plusieurs fois que je tombe sur des morceaux de code où il faut rajouter "Imports System.ISO", mais chez moi ça ne marche pas....

    Est ce qu'il faut une configuration spéciale, ou y a t-il un endroit particulier pour le mettre ?

    La procédure permettant de compter les lignes d'un fichier texte me serait bien utile pour mon projet, mais sans system iso, il ne connait pas "File" et plante...

    Merci d'avance !

  14. #14
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    C'est System.IO et non System.ISO

    Sinon, j'ai une remarque par rapport aux solution de tomlev.

    Si le fichier ne fait que quelques kilo, il n'est pas gênant de travailler dessus avec un ReadAllLines ou faire un Split sur un ReadAllText

    En revanche, quand le fichier est volumineux, je pense qu'il est largement plus intéressant de scanner le fichier ligne par ligne, afin d'éviter de bouffer toute la mémoire.

    Effectivement, maintenant on a tout de suite 2 ou 4 Go de mémoire sur un PC, mais bon, en entreprise, de nombreuses machines n'ont encore que 512 Mo de RAM (oui oui, ma machine au boulot est vraiment pourrie ) et surtout malheureusement Java est toujours bien présent sur les machines... et le moindre Lotus ou SQL Developper rempli la mémoire de n'importe quelle machine... Donc autant continuer à considérer que la mémoire est une ressource précieuse.
    On ne jouit bien que de ce qu’on partage.

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Toujours à propos de System.IO
    Malheureusement ça ne marche toujours pas, même en mettant "Imports System.IO" (et pas ISO effectivement, autant pour moi).

    Le débugueur me dit "variable non définie" en surlignant System...

    Comment est-ce que je dois faire ?

  16. #16
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    L'as tu bien référencé dans les références de ton projet ?

  17. #17
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Euh, c'est-à-dire ?

    Je débute en VBA et je m'en sors pas trop mal, mais c'est la 1ère fois que j'essaie d'utiliser Systeme.IO et je ne sais vraiment pas comment ça marche.. (désolée)

  18. #18
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    Pour vérifier tes références, tu peux faire un clic droit sur ton projet (pas ta solution attention) -> Properties -> References.

    La bas, tu as toutes tes références de ton projet, si il n'y est pas , tu fais Add-> Reference

  19. #19
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par helened Voir le message
    Je débute en VBA
    Ah bah on pouvait chercher longtemps
    Les solutions proposées ici concernent VB.NET, pas VBA. Ce n'est pas du tout la même chose, à part la syntaxe assez proche. Pose la question dans le forum spécialisé VBA.

  20. #20
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    Ah d'accord VBA ! Et non pas VB ... Laisse tomber ce que j'ai dit plus haut alors ^^

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Remplacer une ligne dans fichier txt !
    Par cincap dans le forum Débuter
    Réponses: 13
    Dernier message: 24/09/2013, 12h52
  2. [XL-2007] Supprimer Ligne dans Fichier Txt
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/11/2012, 13h20
  3. modifier une ligne dans fichier txt
    Par mvc_dev dans le forum C#
    Réponses: 6
    Dernier message: 14/05/2012, 13h23
  4. Supprimer ligne dans fichier Txt
    Par lepiaf69 dans le forum VB.NET
    Réponses: 10
    Dernier message: 14/10/2010, 16h35
  5. prb retour a la ligne dans fichier txt telecharge avec php
    Par supersonicblonde dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 14h20

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