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 :

[VB.net] Récupérer un caractère d'un fichier .txt


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut [VB.net] Récupérer un caractère d'un fichier .txt
    Bonjour,

    Je poste aujourd'hui dans le but d'obtenir des informations quant au faite de récupérer un caractère dans un fichier texte.
    Je travaille sous Microsoft Visual Studio 2012, en langage VB.net.
    Pour récupérer une ligne de mon fichier texte j'y arrive, mais pas un caractère ou une chaine de caractère spécifique appartenant à une ligne.

    Voici le code que j'utilise pour récupérer une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
           Dim fichier As String
     
            OFD_Importer.ShowDialog() 'Ouverture de la fenetre importer
            fichier = OFD_Importer.FileName 'Obtient nom et chemin du fichier
     
            Dim readText() As String = File.ReadAllLines(fichier) 'Lit tous les lignes du fichier et stocke dans ReadText
            Dim ligne As String
     
            For Each ligne In readText 'Pour chaque ligne contenu dans readText
                If ligne = "blablabla" Then
      action
                End If
    next
    J'aimerais par exemple pouvoir récupérer trucbidule et marron :
    Ligne : le nom du machin : trucbidule
    Ligne : Spécificité : Marron

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Bonjour

    J'aimerais par exemple pouvoir récupérer trucbidule et marron :
    Ligne : le nom du machin : trucbidule
    Ligne : Spécificité : Marron
    Pas compris qu'est que le nom du machin et spécificité ?
    Quelle est la structure de ton fichier texte ?

  3. #3
    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
    Bonsoir,

    Si tes lignes sont toujours structurées de cette manière (avec le caractère ":") :

    le nom du machin : trucbidule
    le nom du machin : trucmachin
    le nom du machin : truc

    Alors tu peux envisager d'utiliser ceci pour découper ta ligne et placer le tout dans un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    'Partons du principe que ligne = "le nom du machin : trucbidule"
    Dim tablo() = ligne.Split(":")
     
    Msgbox(tablo(0).trimEnd)
     
    'Affiche : trucbidule
     
    Msgbox(tablo(1).trimstart)
     
    'Affiche : le nom du machin
    A+

  4. #4
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par shayw Voir le message
    Bonjour



    Pas compris qu'est que le nom du machin et spécificité ?
    Quelle est la structure de ton fichier texte ?
    Le nom du machin et spécificité sont des paramètres de variables à récupérer.
    Exemple de mon fichier texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ! #### PHASE
        P_phase_num:=1;                     ! N° phase                                                  [int])
        P_phase_description:=test;     ! Description Phase                                         [string]
        P_phase_valide:=True;               ! validation phase  (oui=1 / non=0)                         [bool]
        P_phase_mesure:=True;               ! Mesure sur phase (oui=1 /non=0)                           [bool]
        P_phase_travail_index:=True;        ! le travail indexé/incrémental (0=indexé/1=incremental)    [bool]
        P_phase_nb_pas:=3;                 ! Nombre de pas (=nb de sous phase)                         [int]
        P_phase_chgt_outil_x_pas:=7;        ! changement de brosse tous les X  ss-phase                 [int]
        P_phase_mesure_ssphase:=5;          ! mesure sous phase  = tous les X pas                       [int]
    Edit : Petite erreur Walace, en effet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                   tablo(0) = ligne.Split(";")
                    MsgBox(tablo(0).TrimEnd)
    
                    'Affiche : LE NOM DU MACHIN
                    MsgBox(tablo(1).TrimStart)
    
                    'Affiche :TRUC BIDULE
    Alors tu peux envisager d'utiliser ceci pour découper ta ligne et placer le tout dans un tableau :
    Le problème c'est que je ne veux récupérer tous le reste de la ligne.
    Il faudra peut être refaire un split ?

    En tout cas, merci pour vos réponses

  5. #5
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut Trouvé
    J'ai trouvé la solution, j'utilise 2 split.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    Dim tablo() = ligne.Split("=")
                    Dim test = tablo(1).Split(";")
                    MsgBox(tablo(0).TrimEnd)
                    MsgBox(test(0).TrimEnd)
    Merci pour votre aide.

    Bonne journée,

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

Discussions similaires

  1. Récupérer les caractères d'un fichier
    Par Superne0 dans le forum C
    Réponses: 2
    Dernier message: 10/01/2008, 15h37
  2. Réponses: 1
    Dernier message: 18/02/2007, 19h33
  3. [VB.NET]récupérer l'emplacement d'un fichier sur \c:
    Par zouhib dans le forum Windows Forms
    Réponses: 20
    Dernier message: 17/05/2006, 11h26
  4. [FLASH] Pb de caractères quand chargement fichier .txt
    Par origami-graphics dans le forum Flash
    Réponses: 1
    Dernier message: 12/02/2006, 14h53
  5. Réponses: 5
    Dernier message: 21/10/2005, 11h48

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