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 :

Lire fichier texte


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut Lire fichier texte
    Bonjour,

    J'ai un fichier texte qui se comporte de la sorte:

    Y:\1 ADP File\Archiv
    RW S-1-5-21-1708537768-651377827-682003330-1175
    RW S-1-5-21-4049260106-1541354479-2465529134-1767
    RW BUILTIN\Administrators
    RW VIFOR1\GRFACT
    RW VIFOR1\GRFACT
    RW VIFOR1\Alloga Users
    R Everyone
    R VIFOR1\Mani
    RW VIFOR1\Mariotti
    RW VIFOR1\Vuignier
    Y:\1 ADP File ASW\01.2007
    RW S-1-5-21-2210198011-1735986513-761363924-2522
    RW VIFOR1\GRFACT
    RW VIFOR1\Alloga Users
    RW GALEXIS1\U0ABM
    RW ALLOGA1\ualbubohlm
    RW ALLOGA1\ualbudevev
    RW ALLOGA1\ualbuledep
    RW VIFOR1\Mariotti
    RW GALEXIS1\U0OPR
    RW GALEXIS1\U0GRE
    R VIFOR1\roggo
    RW ALLOGA1\ualbuschnc
    RW VIFOR1\Vuignier
    RW GALEXIS1\u0bwa
    RW ALLOGA1\ualbuwalkd
    RW ALLOGA1\ualbuzahrc
    R VIFOR1\zenner

    Et je voudrais pouvoir lire chaque ligne du fichier (ça c'est bon je sais faire) et les écrire dans un fichier excel. Mais le problème est la suivant. J'amerais que quand la ligne commence par Y:\ , ça me l'écrive à un endroit spéciale et si y a pas ça devant, ça me l'écrive ailleur... Je sais juste pas comment faire pour lui faire contrôler que la ligne commence ou pas par Y:\

    Quelqu'un aurait-il une idée?

    En vb .NET bien sûr

    merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    Si chaque ligne est transformé en String, dans ce cas il suffit de vérifer le premier caractere :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Dim test As String
    test = "valeur de la chaine"
    TextBox1.Text = test.Chars(0)
    ainsi tu regarde si ce caractere est Y, et alors tu fait ton traitement

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    J'ai un peu de la peine à ajouter à mon code... (je débute)

    Comment tu l'aurais ajouter toi sur ce 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
      Sub lectureFichier(ByVal fichier As String)
     
            Try
                Dim monStreamReader As New StreamReader(fichier) 'Stream pour la lecture
                Dim ligne As String ' Variable contenant le texte de la ligne
     
               do
                    ligne = monStreamReader.ReadLine
                    MsgBox(ligne) 
                    ' TRAITEMENT A EFFECTUER SUR LA LIGNE ICI
               Loop Until ligne Is Nothing            monStreamReader.Close()
     
            Catch ex As Exception
                MsgBox("Une erreur est survenue au cours de l'accès en lecture du fichier de configuration du logiciel." & vbCrLf & vbCrLf & "Veuillez vérifier l'emplacement : " & fichier, MsgBoxStyle.Critical, "Errueur lors e l'ouverture du fichier conf...")
            End Try
     
        End Sub

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    au niveau de traitmement a effectuer sur la ligne, dans ta boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    test = ligne.charrs(0)
    msgbox ("voici la premiere lettre de la phrase : " & test)
    ensuite tu fait ton traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if test = "Y" then
       'traitement au cas ou le caractere est Y
    else
       'traitement au cas ou le caractere n'est pas Y
    end if

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    Bizzard c'est pourtant exactement se que j'ai mis... je dois avoir un autre problème je regarde ça

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    Arf Le programme semble pas vouloir enregistrer les modification... c'est comme s'il avait garder le code d'avant.... je règle ça et je te redis si ça marche. Merci pour ton aide

  7. #7
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    Ben ecoute avec un test rapide moi ca marche bien, essaye, par contre fait voir ce que retourne la msgbox qui contient ligne ..

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    Moi il me met "L'index se trouve en dehors des limites du tableau."

    J'ai pas du placer au bon endroit :

    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
    Imports System.IO
     
    Module Module1
        Sub Main()
     
            Dim monStreamReader As New StreamReader("C:\liste.txt") 'Stream pour la lecture
            Dim ligne As String ' Variable contenant le texte de la ligne
            Dim test As String
     
            test = "Y"
     
     
            Do
                ligne = monStreamReader.ReadLine
                test = ligne.Chars(0)
                MsgBox("voici la premiere lettre de la phrase : " & test)
     
                If test = "Y" Then
                    MsgBox(ligne)
                Else
                    MsgBox("C'est pas ok")
                End If
                ' TRAITEMENT A EFFECTUER SUR LA LIGNE ICI
            Loop Until ligne Is Nothing
     
     
            monStreamReader.Close()
     
        End Sub
     
    End Module

  9. #9
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    essaye de mettre un truc dans le genre et dit moi ce que ca fait car j'ai l'impression que ton streamreader est faut ou ne renvoi pas les bonnes données...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligne = monStreamReader.ReadLine
    msgbox ("valeur de la ligne " & ligne)
    sinon test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligne = monStreamReader.ReadLine.toString
    msgbox ("valeur de la ligne " & ligne)

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    Comme ça il me donne correctement les lignes une par une

  11. #11
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    et si tu essaye
    msgbox (ligne.chars(1).tostring)

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    la il me remet "L'index se trouve en dehors des limites du tableau."

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Par défaut
    Ah je sais pourquoi... la première ligne du fichier ne comporte rien... donc il sort cette erreur... en supprimant cet espace vide ça va mieux

  14. #14
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    bizarre perso j'ai ca comme code, ca ressemble au tient sauf que moi il marche (il vient d'un de mes vieux projet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim SR As New StreamReader("C:\MonFichier.txt")
                Dim ligne As String
                Dim test_char as String
                'Lecture de toutes les lignes et affichage de chacune sur la page
                Do Until SR.Peek = -1
                    ligne = SR.ReadLine()
                    TextBox1.Text = ligne
                    test_char = ligne.Chars(0).ToString()
    ......
                Loop

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

Discussions similaires

  1. java : lire fichier texte application web (war)
    Par drob38 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/07/2009, 23h31
  2. [VB.NET 2.0] lire fichier text
    Par Emcy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/12/2006, 08h45
  3. Lire fichier texte
    Par kinouseb dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 08/11/2006, 17h01
  4. Lire fichier texte en respectant la police, la forme
    Par loupin dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2006, 22h49
  5. Lire fichier Texte
    Par rprom1 dans le forum Entrée/Sortie
    Réponses: 12
    Dernier message: 15/03/2006, 16h36

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