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 2008 Exp] Editer la fin de chaques lignes d'un fichier.


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut [VB 2008 Exp] Editer la fin de chaques lignes d'un fichier.
    Bonjour à tous.

    J'ai un soucis pour coder une partie de mon programme.
    Cette tâche devra rajouter à la fin de chaque ligne d'un fichier, le caractere ;; (Double point-virgule).

    L'ouverture et la fermeture du fichier ce passe correctement, mais je n'ai aucune idée comment faire cette édition.
    En c++ il y avait un moyen par rapport a un "pointeur" qu'on positionne juste avant le caractere Retour a la ligne (\n), mais je n'ai pas réussis à l'adapter en VB.

    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
    fileread = New StreamReader(Chemin & "liste.txt")
            With fileread.BaseStream.Seek(0, SeekOrigin.Begin)  'Se positionne au début du fichier liste.
                While (fileread.Peek > 0)   'Tant qu'il a quelque chose a lire ...
                    BufferLigne = fileread.ReadLine() 'Lit une ligne.
                    cptLigne += 1 'Incremente le nombre de lignes.
                    filewriteCsv = New StreamWriter(BufferLigne)    'Ouverture du fichier CSV.
                    Console.WriteLine("Ouverture du fichier: " & BufferLigne)
     
                    '----CODE POUR METTRE ';;' A LA FIN DU FICHIER ACTUELLEMENT OPEN----
     
                    tempo(2000)
                    filewriteCsv.Close()    'Fermeture du Fichier CSV.
                End While
            End With
            fileread.Close()    'Fermeture du Fichier Liste.

    Pouvez-vous m'y aider ?

    Nissartis.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 240
    Points : 254
    Points
    254
    Par défaut
    Perso, j'accederait au fichier plutôt par ReadAllLine qui te renvoi un tableau de lignes.
    Il suffit ensuite de parcourir toutes les lignes du tableau et de rajouter ";;"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Hello Totanne !

    Je vais un peu me renseigner sur cette fonction et je reviens au plus vite

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Bon alors je reviens mais avec de mauvaises nouvelles :s

    Impossible d'utiliser ta fonction, et j'ai beau chercher sur l'aide local de MSDN ou sur le net, je trouve vraiment pas d'exemple.

    Petite precision quand même, mes fichiers où je dois rajouter ";;" a la fin de chaques lignes, font plus de 50000 lignes.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Bon c'est un peu le fouilli, mais ça donne ça en cherchant un peu partout :

    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
    With fileread.BaseStream.Seek(0, SeekOrigin.Begin)  'Se positionne au début du fichier liste.
                While (fileread.Peek > 0)   'Tant qu'il a quelque chose a lire ...
                    BufferLigne = fileread.ReadLine() 'Lit une ligne.
                    cptLigne += 1 'Incremente le nombre de lignes.
                    filereadCsv = New StreamReader(BufferLigne)    'Ouverture du fichier CSV en lecture.
                    Console.WriteLine("Ouverture du fichier: " & BufferLigne)
                    BufferFile = filereadCsv.ReadToEnd 'Stock tout le fichier dans le buffer.
                    filereadCsv.Close()    'Fermeture du Fichier CSV en Lecture.
                    BufferFile = Replace(BufferFile, "\n", ";;\n")  'Remplace \n par ;;\n
                    filewriteCsv = New StreamWriter(BufferLigne)    'Ouverture du fichier en Ecriture.
                    filewriteCsv.Write(BufferFile)  'On ecrase le fichier avec les modifs.
                    filewriteCsv.Close()    'Fermeture du fichier en Ecriture.
                    tempo(1000)
                End While
            End With
            fileread.Close()    'Fermeture du Fichier Liste.
    Par contre ça remplace pas

    Des propositions ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    C'est bon je crois que j'ai trouvé
    Merci a Totanne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferFile = Replace(BufferFile, Chr(13), ";;" & Chr(13))

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

Discussions similaires

  1. sed : Insérer un mot en fin de chaque ligne
    Par Titened dans le forum Shell et commandes GNU
    Réponses: 16
    Dernier message: 22/01/2013, 15h49
  2. ajouter un ; a la fin de chaque ligne de mon fichier CSV
    Par pelois dans le forum Conception
    Réponses: 1
    Dernier message: 21/06/2010, 09h24
  3. Réponses: 10
    Dernier message: 16/12/2009, 22h16
  4. Réponses: 1
    Dernier message: 19/08/2006, 15h02
  5. Réponses: 4
    Dernier message: 19/06/2004, 22h28

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