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 :

Saut de ligne après avoir écris la ligne


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut Saut de ligne après avoir écris la ligne
    Bonjour, j'ai un petit souci et je me demande maintenant si c'est possible. Je pense que oui.
    En fait, je fait un tableau et le mets dans un richTextBox. Il faut que je délimite les lignes si une colonne de la ligne 2 est différente de la ligne 3... Pour mieux que vous compreniez, voici un exemple.
    Fichier de départ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    poisson;truite
    poisson:saumon
    poisson;maquereau
    viande:mouton
    viande:porc
    Fichier que je veux voir dans mon richTextBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    poisson truite
    poisson saumon
    poisson maquereau
     
    viande mouton
    viande porc
    Vous le voyez, il y a un saut de ligne entre poisson et viande... Moi, je comparais la ligne 4 par rapport à la 3 et si elle était différente, je demandais un saut de ligne...sauf que ça rend comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    poisson truite
    poisson saumon
    poisson maquereau
    viande mouton
     
    viande porc
    En effet, la ligne a été traité et écrite. Peux-t-on faire un saut de ligne après avoir écris la ligne ? Revenir sur elle ?

    Voici mon code pour traiter les lignes (ce qui est souligné est mon souci)
    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
     string[,] tableau = new string[1000,12];
                
                using (StreamReader streamreader = new StreamReader(textsource.Text, Encoding.Default))
                {
                    //test = new List<string[]>();
                    int a = 0;
                    while (!streamreader.EndOfStream)
                    {
                        string[] ligne = streamreader.ReadLine().Split(';'); // Sur les espaces
                        int b = 0;
    
                        while (b < 12)
                        {
    
                            tableau[a, b] = ligne[b];
                            richTextBox1.Text += tableau[a, b] + " ";
                            b++;
                            
                        }
                        if (a > 0 && (tableau[a, 0] != tableau[a - 1, 0]))
                        {
                            richTextBox1.Text += Environment.NewLine;
                        }
                        richTextBox1.Text += Environment.NewLine;
                        a++;                 
                    }
    Merci d'avance Et désolé car le titre n'est pas très explicite.

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    C'est ton algo qui est mauvais.

    Avant d'écrire la ligne tu regardes si celle qui arrive est différente de celle que tu viens de mettre, si oui tu mets un retour en plus.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Oui mais comment voir si celle qui arrive n'est pas pareil. Le fichier texte n'est pas pareil que ce qui est rendu. Je ne vois pas comment je pourrais traiter une donnée d'un tableau avec une donnée spéciale (ici, une colonne) dans un fichier texte...
    Merci de m'avoir répondu au fait

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Un truc dans le genre

    Code c# : 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
     string[,] tableau = new string[1000,12];
     
                using (StreamReader streamreader = new StreamReader(textsource.Text, Encoding.Default))
                {
                    //test = new List<string[]>();
                    int a = 0;
                    string lastValue = null;
                    while (!streamreader.EndOfStream)
                    {
                        string[] ligne = streamreader.ReadLine().Split(';'); // Sur les espaces
                        int b = 0;
     
                        if(lastValue != null && lastValue != ligne[0]) richTextBox1.Text += Environment.NewLine;
     
                        lastValue = ligne[0];
     
                        while (b < 12)
                        {
     
                            tableau[a, b] = ligne[b];
                            richTextBox1.Text += tableau[a, b] + " ";
                            b++;
     
                        }
     
                        richTextBox1.Text += Environment.NewLine;
                        a++;                 
                    }
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Merci, c'est bien ça. Ça va bien m'aider.

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

Discussions similaires

  1. Passer le cursseur à la ligne après avoir coller tout un paragraphe
    Par sahul42 dans le forum Développement Office System
    Réponses: 0
    Dernier message: 08/09/2014, 10h41
  2. Réponses: 1
    Dernier message: 22/07/2011, 19h46
  3. [XL-2003] Trier un tableau après avoir insérer une ligne!
    Par deamonRav dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/04/2010, 10h27
  4. Réponses: 1
    Dernier message: 15/02/2010, 17h01
  5. Passer une ligne après avoir affiché 5 éléments
    Par mathias59 dans le forum Langage
    Réponses: 3
    Dernier message: 29/12/2008, 18h47

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