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 6 et antérieur Discussion :

nombre de lignes dans un fichier .txt


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 115
    Points : 59
    Points
    59
    Par défaut nombre de lignes dans un fichier .txt
    Bonjour à tous,

    Je cherche un moyen de relire la première ligne d'un fichier txt après avoir compté le nombre de lignes de ce même fichier .txt

    Voici le code que j'ai écrit

    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
    option explicit
     
    Public Function CompteLigne(Fichier as integer) As Integer
       Dim Texte As String 
       Dim NbLignes As Integer 
       While Not EOF(fichier)
          Line Input #Fichier, Texte
          NbLignes = NbLignes + 1
       Wend
       CompteLigne = NbLignes
    End Function
     
    Private Sub Command1_Click()
       Dim Lignes as Integer
       Dim h as integer
       h=freefile
       open "c:\fichier.txt" for input as #h
     ' compte le nombre de lignes dans le fichier
       Lignes = CompteLigne(h)
     ' relit la première ligne du fichier 
       '?????????????????????????????
     
      'ferme le fichier
      close #h
    End sub

    Merci à tous pour l'aide.

    MarieO

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Citation Envoyé par marieo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    option explicit
     
    Public Function CompteLigne(Fichier as integer) As Integer
       Dim Texte As String 
       Dim NbLignes As Integer 
       While Not EOF(fichier)
          Line Input #Fichier, Texte
          NbLignes = NbLignes + 1
       Wend
       CompteLigne = NbLignes
    End Function
    Si tu ne veux que la 1ère ligne une variable suffit, si toutes les lignes doivent êtres reprises il faut un tableau...

    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
    option explicit
    Dim TxtLignes()
    Public Function CompteLigne(Fichier as integer) As Integer
       Dim Texte As String 
       Dim NbLignes As Integer 
       dim i as integer
       While Not EOF(fichier)
          Line Input #Fichier, Texte
          redim Preserve TxtLignes(i)
          TxtLignes(i) = Texte
          i = i + 1
          NbLignes = NbLignes + 1
       Wend
       CompteLigne = NbLignes
    End Function
    Private Sub Command1_Click()
       Dim Lignes as Integer
       Dim h as integer
    dim a$
       h=freefile
       open "c:\fichier.txt" for input as #h
     ' compte le nombre de lignes dans le fichier
       Lignes = CompteLigne(h)
     ' relit la première ligne du fichier 
       a$ = TxtLignes(0)
     
      'ferme le fichier
      close #h
    End sub
    J'ai mis l'exemple avec toutes les lignes.
    A+
    EDIT:
    tu peu aussi faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     h=freefile
       open "c:\fichier.txt" for input as #h
     ' compte le nombre de lignes dans le fichier
       Lignes = CompteLigne(h)
          ' relit la première ligne du fichier 
          close #h
          open "c:\fichier.txt" for input as #h
          Line Input #Fichier, Texte
          a$ = Texte
      'ferme le fichier
      close #h

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 115
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup,

    C'est exactement ce que je veux faire.

    MarieO

    Juste une petite question, à quoi sert le $ après a$ ?

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    le $ est une ancienne convention de typage de variable, qu'il est préférable de ne plus utiliser (je sais, les vielles habitudes sont tenaces )

    Dim a$
    est équivalent à
    Dim A As String

    mais il n'existe pas de symbole pour tous les types de variables

    Juste pour info, en complément à la question initiale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Const ForReading = 1, ForWriting = 2
      Set oFso = CreateObject("Scripting.FileSystemObject")
      Set f = oFso.OpenTextFile("c:\test1.txt", ForReading)
      ts = f.ReadAll '-- Lit la totalité du fichier
      MsgBox f.Line    '-- Récupère le nombre de lignes
      Set f = Nothing
      Set oFso = Nothing
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    J'ajoute que le fait d'écrire
    tout court, sans type défini, a pour conséquence d'affecter par défaut un type "Variant"

    Cela implique une perte de performances assez notable dès lors qu'on manipule la variable de façon répétée.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/06/2013, 19h31
  2. Réponses: 16
    Dernier message: 01/03/2010, 11h40
  3. nbr de lignes dans un fichier txt
    Par ibtisss dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2005, 15h09
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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