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 :

Lecture à partir d'un fichier


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par défaut Lecture à partir d'un fichier
    Bonjour, je voudrais lire le contenu d'un fichier et afficher les données dans des text box.

    J'arrive à écrire dans un fichier via des text box.

    voici mon code pour l'écriture des données dans le fichier:

    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
     
    Dim nomfichier As String
    Dim numfichier As Integer
     
     
     
    Private Sub CmdAfficher_Click()
     
    End Sub
     
    Private Sub cmdEnregistrer_Click()
     
    'Dim nomfichier As String
    'Dim numfichier As Integer
     
    'nomfichier = InputBox("Donner le nom du fichier")
    'numfichier = FreeFile
     
    'Open "C:\" & nomfichier For Append As numfichier
    Print #numfichier, txtNom.Text, txtPrenom.Text, txtDateNaissance.Text
    'Close #numfichier
    txtNom.Text = ""
    txtPrenom.Text = ""
    txtDateNaissance.Text = ""
     
    End Sub
     
    Private Sub CmdQuitter_Click()
    Close #numfichier
     
    End
    End Sub
     
    Private Sub Form_Load()
    nomfichier = InputBox("Donner le nom du fichier")
    numfichier = FreeFile
     
    Open "C:\" & nomfichier For Append As numfichier
     
    End Sub


    Pour la lecture du fichier voici mon début de 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
     
    Dim nom As String
    Dim prenom As String
    Dim date_naissance As String
     
    'nom = Input (numfichier)
    txtNom.Text = Input(numfichier, nom)
     
     
    End Sub
     
    Private Sub CmdQuitter_Click()
     
     
    End
     
    End Sub
     
    Private Sub Form_Load()
     
    End Sub


    Pouvez-vous m'aider à ouvrir le fichier et récupérer les données??

    Merci

  2. #2
    Membre éclairé Avatar de petit rabot
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2010
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2010
    Messages : 236
    Par défaut
    Pour lire ton fichier .txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Open "C:\tutu.txt" For Input As #1     'Ouvre le fichier tutu.txt
        Do While Not EOF(1)                     ' Effectue la boucle jusqu'à la fin du fichier.
     
        Line Input #1, LineResult          'je lis la ligne
        Debug.Print LineResult             'affiche dans la fenêtre Exécution
        toto= LineResult                     'met le ligne dans la variable toto
     
        Loop                                     'boucle
        Close #1                                'ferme le fichier.

  3. #3
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Une astuce pour se simplifier la vie : l'utilisation du RichTextBox
    Tu le trouvera dans les autre composants (Ctrl + T ouvre la bt de dialogue Composants) sous le nom Microsoft RichTextBox Control (SP6). SP6 pour Service Pack 6.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Load()
        ' charge le fichier txt dans un RichTextBox
        ' ce fichier se trouve dans le même répertoire que le programme
        RichTextBox1.LoadFile App.Path & "\toto.txt"
    End Sub

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par défaut
    je viens tester le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     Open "C:\tutu.txt" For Input As #1     'Ouvre le fichier tutu.txt
        Do While Not EOF(1)                     ' Effectue la boucle jusqu'à la fin du fichier.
     
        Line Input #1, LineResult          'je lis la ligne
        Debug.Print LineResult             'affiche dans la fenêtre Exécution
        toto= LineResult                     'met le ligne dans la variable toto
     
        Loop                                     'boucle
        Close #1                                'ferme le fichier.
    cela fonctionne bien .
    par contre on lit toute la ligne. comment fait on pour pouvoir séparer les éléments de la ligne?

  5. #5
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    en fonction de quel délimiteur? virgule ? espace?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par défaut
    des espaces. mais je suis preneur pour les virgules

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Edit: 3 messages dans la même minute

    Salut

    Si cela te convient
    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
    Option Explicit
    Dim nomfichier As String
    Dim numfichier As Integer
     
    Private Sub Form_Load()
    nomfichier = "C:\PersoFrancis\AAAAA.txt" '********** A modifier ********
    End Sub
     
    Private Sub Command1_Click()
    numfichier = FreeFile
    Open nomfichier For Output As numfichier
    'Print #numfichier, txtNom.Text, txtPrenom.Text, txtDateNaissance.Text
    Write #numfichier, "Texte dans txtNom", "Texte dans txtPrenom", "Texte dans txtDateNaissance"
    Close #numfichier
    End Sub
     
    Private Sub Command2_Click()
    Dim LineResult As String, Decoupe() As String
    numfichier = FreeFile
    Open nomfichier For Input As numfichier
    Line Input #numfichier, LineResult
    Close #numfichier
    Decoupe = Split(LineResult, ",")
    txtNom.Text = Replace(Decoupe(0), Chr(34), "")
    txtPrenom.Text = Replace(Decoupe(1), Chr(34), "")
    txtDateNaissance.Text = Replace(Decoupe(2), Chr(34), "")
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par défaut
    je n'ai pas trop compris la procédure pour la commande 1.
    Elle sert à quoi? a remplir le fichier?

    le code sous click2 ne fonctionne pas, j'ai des erreurs.
    en faite, j'ai que la première ligne qui s'affiche pas les suivantes.

Discussions similaires

  1. Lecture à partir d'un fichier Excel
    Par saou88 dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/08/2013, 03h29
  2. Lecture à partir d'un fichier text
    Par bigmonstre dans le forum Débuter
    Réponses: 2
    Dernier message: 21/11/2011, 11h18
  3. Lecture à partir d'un fichier texte
    Par bigmonstre dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2010, 15h50
  4. lecture à partir d'un fichier PDF
    Par men1986 dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 24/07/2009, 01h14
  5. Lecture d'un PID a partir d'un fichier
    Par diskonnect dans le forum POSIX
    Réponses: 10
    Dernier message: 16/04/2007, 16h05

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