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 :

Remplacer un caractère dans un fichier texte automatiquement


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut Remplacer un caractère dans un fichier texte automatiquement
    C'est parce que je me suis pris la tete toute la matinée que je viens enfin poser la question. Une fois n'est pas coutume j'ai trouvé de tout sur internet... dont voici ci-joint qq lignes de codes que je croyais intéressantes.

    J'ai un fichier texte dans lequel mon programme met 36 virgules "," alors que je veux faire lire ce fichier par un autre programme n'acceptant que les points "." comme séparateur décimal !! c'est bien galère et je suis a deux doigts de me jeté par la fenêtre *_*

    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
    Public Shared Function ReadByLine(ByVal path As String, ByVal name As String) As ArrayList
            ' DECLARER un lecteur de fichier 
     
            Dim monlecteur As StreamReader = Nothing
            ' DECLARER une collection pour les lignes du fichier 
            Dim meslignes As New ArrayList                               ' En fait ça je m'en fou !!!?
            Try
                ' path est le chemin complet du fichier à lire 
                monlecteur = New StreamReader(path)
                With monlecteur
                    ' POSITIONNER le flux au début du fichier 
                    .BaseStream.Seek(0, SeekOrigin.Begin)
                    ' TANT QUE le lecteur a quelque chose à lire 
     
                    ' LIRE une ligne du fichier et l'ajouter à meslignes 
                    File.WriteAllText(path, File.ReadAllText(path).Replace(",", "."))       ' c'est ça que je veux !!  et ça marche pas ...   :/
     
                End With
                monlecteur.Close()
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            Finally
                ' FERMER le lecteur en tout état de cause 
     
            End Try
            Return meslignes
        End Function
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  2. #2
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Hello,

    Essaie quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim value As String = File.ReadAllText("C:\file.txt")
    value.Replace(",", ".")
    Il te reste plus qu'à sauvegarder "value" dans ton fichier texte.

    Cordialement.

    DeWaRs

  3. #3
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Salut et merci pour ta réponse !

    Finalement ton code c'est un peu le même que celui-là non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllText(path, File.ReadAllText(path).Replace(",", "."))
    Celui-ci est peut etre plus condensé !

    Quand j'essaie avec ton code y'a une erreur, sachant que je met ton code avant le close de mon streamwriter et le close de mon "Filesave"

    Petit truc chiant, je dois retrouver un fichier dont le nom est celui d'une heure, minute, seconde précises, ça complique un peu la tâche ..
    Il se peut que ton code marche mais que je ne vise pas bien mon fichier ...
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    Bonjour,
    streamwriter et le close de mon "Filesave"
    Pourquoi un streamWriter et un filesave???

    File.WriteAllText => Crée un nouveau fichier, écrit le contenu dans le fichier, puis ferme le fichier. Si le fichier cible existe déjà, il est remplacé. (MSDN)
    Donc uniquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.io.File.WriteAllText(path, system.io.File.ReadAllText(path).Replace(",", "."))
    devrait suffire
    Par nature les mots, ils sont flous, c'est une fois alignés qu'ils se précisent.

  5. #5
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    ah mais mec tu gères tellement ! J'ai en revanche l'étrange idée d'avoir essayé de mettre cette ligne auparavant sans que ça marche ... je capte pas tout, j'avais dû oublié qq chose ..
    En tout cas merci beaucoup ! Topic résolu !

    (je le mettrai ce soir RESOLU, j'ai IE et ... oui ça bug, comment ça vous avez deviné ? )
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    je capte pas tout, j'avais dû oublié qq chose ..
    Je crois avoir une idée... avec ma boule de cristal
    Avais-tu importé le System.io en haut de ton code?
    (Imports System.IO)
    Par nature les mots, ils sont flous, c'est une fois alignés qu'ils se précisent.

  7. #7
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par ACIVE_CS Voir le message
    Je crois avoir une idée... avec ma boule de cristal
    Avais-tu importé le System.io en haut de ton code?
    (Imports System.IO)
    Yes

    J'ai la totale :

    Imports System
    Imports System.Threading
    Imports System.Windows.Forms
    Imports System.Globalization
    Imports System.Security.Permissions
    Imports System.Drawing
    Imports Microsoft.Office.Interop.Excel
    Imports Microsoft.Office.Interop
    Imports System.IO
    Imports System.IO.StreamReader
    Imports System.IO.StreamWriter
    Imports System.Data
    Imports System.Data.SqlClient

    haha ^^
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    Ok alors...
    t'as du faire une boulette quelque part dans ce cas.

    Et encore dans ce cas tu peux juste écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllText(path, File.ReadAllText(path).Replace(",", "."))
    Tu vois?
    Par nature les mots, ils sont flous, c'est une fois alignés qu'ils se précisent.

  9. #9
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Je vois très bien merci
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

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

Discussions similaires

  1. [Batch] Code pour remplacer un caractère dans un fichier texte
    Par amerex dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 27/09/2012, 17h20
  2. [Batch] Remplacer des caractères dans un fichier texte
    Par Benoit Labbey dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/06/2009, 17h43
  3. Remplacer un caractère dans un fichier texte
    Par steelk dans le forum Excel
    Réponses: 36
    Dernier message: 29/01/2008, 16h10
  4. Réponses: 3
    Dernier message: 27/06/2005, 17h24
  5. Réponses: 5
    Dernier message: 25/01/2005, 15h26

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