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 :

Lecture et recherche dans un fichier texte [Débutant]


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut Lecture et recherche dans un fichier texte
    Bonjour,
    Je crée ce poste car je souhaite crée un code qui me permet de rechercher et extraire des données d'un fichier texte.
    Avant de me lancer j'ai effectuer plusieurs recherches sur la méthode à utiliser sur la FAQ ou les tutoriels.
    J'ai donc comprise que les classes System.IO.StreamReader et System.IO.StreamWriter permettent de lire et d'écrire. Cependant comment faire pour rechercher ?
    Pouvez-vous m'indiquer les classes et les méthodes à utiliser ?
    Merci par avance.
    Merci de ainsi que d'utiliser les boutons et

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par r.morel Voir le message
    Bonjour,
    Je crée ce poste car je souhaite crée un code qui me permet de rechercher et extraire des données d'un fichier texte.
    Avant de me lancer j'ai effectuer plusieurs recherches sur la méthode à utiliser sur la FAQ ou les tutoriels.
    J'ai donc comprise que les classes System.IO.StreamReader et System.IO.StreamWriter permettent de lire et d'écrire. Cependant comment faire pour rechercher ?
    Pouvez-vous m'indiquer les classes et les méthodes à utiliser ?
    Merci par avance.
    Bonjour,

    Les 2 classes que tu mentionnes sont bien celles qui te permettront de faire le job !
    Sais-tu ce qu'est un algorithme ? Inconsciemment tu en produit et en résouds tous les jours :

    Quand tu veux boire un café le matin tu procèdes certainement ainsi avec quelques variantes inhérentes à tes gouts :

    J'ai une machine "Nespresso"
    J'ai remplie l'eau de la machine la veille
    J'ai des dosettes
    J'ai une tasse à café disponible et propre
    Je ne prends pas de sucre - je n'ai pas besoin de cuillère

    1- Je prends ma tasse à café
    2- J'allume la machine
    3- Je positionne ma dosette
    4- J'appuie sur le bouton (la machine s'arrête toute seule)
    5- J'enlève la dosette et je la mets à la poubelle
    6- J'éteins ma machine
    7- je prends ma tasse et je bois mon café

    Lorsque tu veux rechercher "qqch" dans un fichier texte :

    --> Il faut que tu saches ce que tu recherches ? La on n'a pas de schema (de pattern) donc difficile de voir ce qui correspondrait le mieux !
    --> Quel est le format de ton fichier ? structuré ou non : .xml, .ini, .txt, .html, etc...... (ATTENTION : un fichier portant l'extension .txt peut très bien être structuré .xml, .html...!!)
    --> Quels outils ou classes utiliser ? Cela dépends de la structure de ton fichier (.xml, .ini, ....etc...) mais dans tous les cas la classe StreamReader fera l'affaire !
    --> Ce que tu auras trouvés doit-il être utilisé plus tard dans le code ? Si oui alors prévoir une variable "List(Of String)" pour stocker les résultats ou une variable de type booléean pour continuer ou interrompre la routine !

    1- Tu ouvres ton fichier texte avec la classe StreamReader
    2- Tu lis lis chaque ligne (jusqu'à la fin de ton fichier)
    3- Tu imbriques lors de la lecture de chaque ligne une fonction (on peut faire appel à la méthode ".contains()"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim line = StreamR.readline
    If line.Contains("Blablabla...")
        Msgbox("Contient l'occurence")
    End If
    4- Fin de lecture du fichier
    5- Ferme le fichier ouvert en lecture (StreamR.Close)
    6- Suivant ce que tu comptes faire dans la suite du code ...tu continues ou tu interrompt ton programme !

    Voilà tout.

    A+

  3. #3
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Merci wallace1 pour ta réponse.
    Je joins un exemple de fichier utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Sub Lecture_donnee(Indice_recherche As String)
            For Each Ligne As String In Lignes_fichier
                If Ligne.Contains(Indice_recherche) Then
                    Valeur_trouvee = Ligne
                    Exit For
                End If
            Next
        End Sub
    Par exemple si je cherche : ~3 1
    La ligne complète apparait : FI_versio_2006-05-24~3 1
    Il me reste donc à scinder la ligne pour récupérer uniquement ce que je souhaite.
    Merci.
    Fichiers attachés Fichiers attachés
    Merci de ainsi que d'utiliser les boutons et

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    En utilisant la méthode Split :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Lecture_donnee(Indice_recherche As String)
            For Each Ligne As String In Lignes_fichier
                If Ligne.Contains(Indice_recherche) Then
                    Valeur_trouvee = "~" & Ligne.Split("~")(1)
                    Exit For
                End If
            Next
        End Sub

    PS : il faut bien sur au préalable vérifier que le caractère de découpage existe bien ET QUE la valeur retournée n'est pas vide...etc...... et surtout être certains que le caractère de découpage n'apparaitra pas plus sieurs fois sur la même ligne sinon le résultat sera faussé !

    A+

  5. #5
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Merci.
    Je vais pouvoir continuer mon code...
    Merci de ainsi que d'utiliser les boutons et

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

Discussions similaires

  1. recherche dans un fichier texte en perl(débutant)
    Par Shyboy dans le forum Langage
    Réponses: 3
    Dernier message: 04/07/2006, 23h53
  2. Lecture et recherche dans le fichier
    Par Thomas_59 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/06/2006, 13h23
  3. [VB]Recherche dans un fichier texte
    Par mirascheat dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/09/2005, 12h11
  4. Recherche dans un fichier texte volumineux.
    Par Actarus69 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 27/07/2005, 17h39
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

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