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 fichier txt


Sujet :

VB.NET

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1
    Par défaut Lecture fichier txt
    Bonjour à tous,
    Je développe à l'aide de Visual Studio 2005, et je travaille sur un fichier txt.
    Mon code fonctionne est à l'air propre mais après vérification, il me retourne un résultat qui n'est pas complet donc faux... Par la je veux dire que mon code ne retourne pas la totalité des lignes qu'il devrait faire.

    Voici mon procédé, je ne pense pas qu'il soit le plus optimal possible, j'ouvre un fichier txt que j'ai nommé "toto" (il contient des données en brute", je récupère les lignes qui m'interressent et les places dans "tata" (que j'ai créé dans c/temp) puis j'aimerai mettre en forme ces données dans "tata2" (que je laisse dans c/temp pour le moment)

    Voici mon code:
    En vous remerciant d'avance


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Imports System.IO
     
     
    Public Class MegaSIRH
     
        Dim txtSource2 As String
     
     
        Private Sub btnParcourir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParcourir.Click
            Dim txtSource As IO.Stream
            Dim OpenFileDialog1 As New OpenFileDialog
     
            'j'ouvre que les fichiers txt (extraction de Mega...
            'dans une petite fenetre et à la fermeture retour dans le repertoire
            OpenFileDialog1.Filter = "fichier txt (*.txt)|*.txt"
            OpenFileDialog1.Title = "Ouvrir le fichier à traiter"
            OpenFileDialog1.FilterIndex = 2
            OpenFileDialog1.RestoreDirectory = True
     
            'apres ouverture je sauvegarde dans des variables la source
            'et je laffiche à coté du bouton
            If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                txtSource = OpenFileDialog1.OpenFile()
                txtSource2 = OpenFileDialog1.FileName
                tbxParcourir.Text = txtSource2
            End If
     
     
     
     
        End Sub
     
        Private Sub btnTraiter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTraiter.Click
     
            If (txtSource2 = Nothing) Then
                'test si un fichier a été choisie
                MsgBox("Veuillez choisir un fichier à traiter")
            Else
                'je copie le fichier source dans le rép temporaire pour travailler dessus
                'File.Copy(txtSource2, "C:\temp\toto.txt", True)
                'lecture du fichier
                Dim lecture As StreamReader = New StreamReader(txtSource2, System.Text.Encoding.Default)
                Dim ecriture As StreamWriter = New StreamWriter("C:\temp\tata.txt")
                Dim lignes As New List(Of String)
                Dim meslignes As New ArrayList
                Dim sLine As String
     
     
     
     
                With lecture
                    'POSITIONNER le flux au début du fichier 
                    .BaseStream.Seek(0, SeekOrigin.Begin)
                    'TANT QUE le lecteur a quelquechose à lire 
                    While (.Peek > 0)
                        'LIRE une ligne du fichier et l'ajouter à meslignes
                        sLine = meslignes.Add(.ReadLine)
                        sLine = lecture.ReadLine()
     
                        'je récupère la ligne
                        If InStr(sLine, "Publication de transaction") Then
                            ecriture.WriteLine(sLine)
                        End If
     
                        'je récupere cette ligne qui fait suite à l'intitulé
                        If InStr(sLine, "Créer") Or InStr(sLine, "Modifier") Then
                            ecriture.WriteLine(sLine)
                        End If
     
                    End While
                End With
     
                lecture.Close()
                ecriture.Close()
     
                Dim lecture2 As StreamReader = New StreamReader("C:\temp\tata.txt", System.Text.Encoding.Default)
                Dim ecriture2 As StreamWriter = New StreamWriter("C:\temp\tata2.txt")
     
     
                With lecture2
                    'POSITIONNER le flux au début du fichier 
                    .BaseStream.Seek(0, SeekOrigin.Begin)
                    'TANT QUE le lecteur a quelquechose à lire 
                    While (.Peek > 0)
                        'LIRE une ligne du fichier et l'ajouter à meslignes
                        sLine = meslignes.Add(.ReadLine)
     
                        sLine = lecture2.ReadLine()
     
                        'ici je met en forme ce que j'ai récupéré comme ligne
     
                        If InStr(sLine, "(Publication de transaction) DSIT-EH") Or InStr(sLine, "(Publication de transaction) DSIT-E Urbanisme") Or InStr(sLine, "(Publication de transaction) DMII") Or InStr(sLine, "(Publication de transaction) DSIT-EX") Or InStr(sLine, "(Publication de transaction) DSIT-E Stage") Or InStr(sLine, "(Publication de transaction) DSIT-EEG") Or InStr(sLine, "(Publication de transaction) DSIT-EM") Or InStr(sLine, "(Publication de transaction) DSIT-EC") Or InStr(sLine, "(Publication de transaction) DDGE") Or InStr(sLine, "(Publication de transaction) DSIT-ET") Or InStr(sLine, "(Publication de transaction) DSIT-EFG") Then
                            ecriture2.WriteLine("DSIT")
                        End If
     
                        If InStr(sLine, "(Publication de transaction) RHG-SI") Then
                            ecriture2.WriteLine("RHG-SI")
                        End If
     
                        If InStr(sLine, "Créer") Or InStr(sLine, "Modifier") Then
                            ecriture2.WriteLine(sLine)
                        End If
     
     
     
                    End While
                End With
     
            lecture2.Close()
            ecriture2.Close()
     
     
            End If
     
        End Sub
    End Class

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    déjà tu te compliques la vie


    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Lecture fichier txt vers tableau alloué
    Par yeboum dans le forum Fortran
    Réponses: 3
    Dernier message: 27/11/2007, 09h31
  2. Lecture fichier TXT
    Par Oncle_Pete dans le forum Delphi
    Réponses: 5
    Dernier message: 16/07/2007, 16h43
  3. lecture fichier txt
    Par stephaneamadeus dans le forum C
    Réponses: 8
    Dernier message: 28/04/2006, 18h47
  4. Lecture fichier txt
    Par licorne dans le forum C
    Réponses: 3
    Dernier message: 03/04/2006, 17h14
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08

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