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

Windows Forms Discussion :

Comment afficher un fichier texte dans une TextBox multiligne ?


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut Comment afficher un fichier texte dans une TextBox multiligne ?
    Bonjour,

    Je possède un fichier .txt avec plusieurs colonnes de valeurs chiffrées.

    Je souhaite afficher dans une textBox Multiline (je pense que c'est cela) mes données du fichier ligne par ligne.
    Donc je veux que mon programme écrive une ligne puis aille à la ligne. Vous me suivez ?

    Voici mon code actuel pour vous montrer sur quel chemin je suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DialogResult re = openFileDialog1.ShowDialog();
     
                if (re == DialogResult.OK)
                {
                    StreamReader sr = new StreamReader(openFileDialog1.FileName);
                    //textBoxBeforeFilter.Lines = new string[15];
                    for (int i = 0; i <15; i++)
                    {
                        textBoxBeforeFilter.Text += sr.ReadLine();
                        textBoxBeforeFilter.Text += "\n";
                    }
     
                }
    Il se trouve que lorsque je visualise mon résultat, au lieu du retour à la ligne, j'ai un petit rectangle (une sorte de signe de bug).

    Pouvez vous m'aider s'il vous plaît.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Mai 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Tu peux supprimer cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      textBoxBeforeFilter.Text += "\n";

  3. #3
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Je ne sais pas si c'est ça que tu veux, mais si tu souhaite simplement afficher tout le contenu de ton txt dans ta textbox, il suffit d'écrire ces quelques ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DialogResult re = openFileDialog1.ShowDialog();
     
                if (re == DialogResult.OK)
                {
                    StreamReader sr = new StreamReader(openFileDialog1.FileName);
     
                    //ReadToEnd va lire tout le stream
                    textBoxBeforeFilter.Text = sr.ReadToEnd();
     
     
                }
    Cependant si dans ton txt tu as des caractères spéciaux comme des "é" ou "à", tu auras ton petit rectangle à la place car il y a là un problème de codage, car ton txt doit être de base codé en ASCII alors qu'il faudrais que ce soit UTF-8 ou UNICODE. Le "\n" correspond au saut de ligne en ASCII, donc tu peut supprimer la ligne comme te l'a dit EzecKiel

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Je vous remercie mais ce n'est pas exactement ce que je veux.

    En fait avec vos solutions, il me met tout sur une ligne.

    Mon fichier txt possède des colonnes, donc en fait je voudrais que qu'à chaque fin de ligne, le streamreader aille à la ligne sur le textBox.

  5. #5
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Pourrais tu poster un exemple du fichier texte que tu souhaites afficher?
    Même en utilisant sr.ReadToEnd(); à la place de la boucle tu as le contenu du fichier sur une seule ligne?
    Car si il s'agit d'un fichier du type:
    blablablablabla
    blobloblobloblo
    bliblibliblibliblibli

    Cela devrait être afficher en entier, même avec les sauts de ligne.
    Vérifie que le mutliline est activé (je pense que oui)
    textBoxBeforeFilter.Multiline = true;

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Le ReadToEnd() doit effectivement fonctionner si tu as bien des retours chariots dans le fichier. On peut faire plus simple au passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maTextBox.Text = File.ReadAllText(@"X:\monRep\monfichier.txt");
    Sinon le "\n" n'est pas la bonne solution pour le ReadLine(). Il faut utiliser Environment.NewLine à la place je pense.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    using (StreamReader reader = new StreamReader(@"X:\monRep\monfichier.txt"))
    {
        string line = null;    
        while ((line = reader.ReadLine()) != null)
        {
            maTextBox.Text += line + Environment.NewLine;
        }
    }
    Ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (string line in File.ReadAllLines(@"X:\monRep\monfichier.txt"))
    {
        textBox1.Text += line + Environment.NewLine;
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Voici mon fichier .txt que je veux afficher.
    Fichiers attachés Fichiers attachés

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Ok merci "StormimOn" cela marche tres bien avec le Environment.NewLine.

    Bon pour vous titiller un petit peu encore, il me faudrait de bons alignements (j'ai des problèmes de tab).

Discussions similaires

  1. Lire Fichier Texte Dans Une TextBox Par FTP
    Par pipoi26 dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/02/2011, 18h21
  2. Comment avoir un fichier texte dans une view?
    Par stibbons dans le forum Eclipse
    Réponses: 0
    Dernier message: 10/09/2009, 16h18
  3. Afficher le contenu d'un fichier TEXT dans une edit
    Par darkman13130 dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/06/2008, 16h41
  4. Réponses: 14
    Dernier message: 13/09/2007, 12h26
  5. Comment importer un fichier text dans une table
    Par mongilotti dans le forum SQL
    Réponses: 6
    Dernier message: 21/05/2007, 13h05

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