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

C# Discussion :

Comment mettre en place un séparateur


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut Comment mettre en place un séparateur
    Bonjour :

    En faite je posséde un fichier sous la forme suivante :

    04/11/2012 09:34:52 31282 End Maintenance
    04/11/2012 09:34:53 31547 Start Product Changeover

    et je veux placer dans un tableau chaque élément dans une colomne cad :

    l'élément 1 :date
    l'élément 2 :heure
    l'élément 3 :code
    l'élément 4 :message d'alerte

    enfaite g parcourus le net et j'ai trouver la solution de FileHelpers et mon code est le suivant :

    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
    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using FileHelpers;
     
    namespace test
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                FileHelperEngine engine = new FileHelperEngine(typeof(MyFile));
                //lecture
                MyFile[] result = engine.ReadFile("C:\\EVENT.DAT") as MyFile[];
                DataTable table = new DataTable();
                table.Columns.Add("Date", typeof(DateTime));
                table.Columns.Add("Code", typeof(string));
                table.Columns.Add("Message", typeof(string));
     
                foreach (MyFile row in result)
                {
     
                    Console.WriteLine(row.dob.ToString("d") + " " + row.code + "" + row.message);
                    table.Rows.Add(row.dob,row.code, row.message);
     
                }
                this.dataGridView1.DataSource = table;
            }
     
     
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
            [DelimitedRecord(" ")]
            //[DelimitedRecord("		")]
            //[DelimitedRecord("	")]
            public class MyFile
            {
                [FieldConverter(ConverterKind.Date, "dd/MM/yyyy	hh:mm:ss")]
                public DateTime dob;
                public string code;
                public string message;
     
             }
        }
    }


    ------> Le probléme est que je veux faire des multiples delimitedRecord vu la diversité des espaces(" "," "," ") et que j'ajoute une colonne de l'heure mais pas de solution,merci de m'aider svp car jusqu'a présent pas de solution et si vous avez une autre astuces merci de me guider car je commence mon PFE et je suis bloqué

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Tu peux utiliser la fonction Split (avec un string bien sûr).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string test = "04/11/2012	09:34:52	31282	End Maintenance";
    string[] tableau = test.Split(null,4);
     
    foreach (string s in tableau)
    {
    Console.WriteLine(s);
    }
    Cela te donnera en sortie un tableau de taille 4 :
    Date 04/11/2012
    Heure 09:34:52
    Code 31282
    Message End Maintenance

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    en faite Kurus j'ai commencer avec cette astuce mais le but de mon appli est d'enregistrer mes datas séparré dans un tableau comme je venais de l'indiquer et c'est une interface graphique avec un data grid donc est ce qu'il y aura pas une autre solution ?

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 136
    Points
    136
    Par défaut
    Si je comprends bien, la fonction Split ne te va pas parce que tu n'as pas de caractère sur lequel splitter correctement ta chaîne ? C'est à dire que tu ne peux pas splitter sur l'espace, puisque ta ligne en contient plusieurs ?

    Dans ce cas, tu peux essayer de découper ta chaîne par la longueur des champs avec un SubString.

    Si ton heure est toujours du format dd/MM/yyyy hh:mm:ss, il suffit de compter le nombre de caracètre, idem pour le code .. Et pour le dernier tu prends la SubString jusqu'à Lenght-1.

Discussions similaires

  1. Comment mettre en place un système de Log ?
    Par kinkin59 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 29/05/2006, 12h17
  2. [MySQL] Comment mettre en place un système de commentaires
    Par mickdu90 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/04/2006, 10h48
  3. [Timer] Comment mettre en place un genre de timer ?
    Par freddyboy dans le forum MFC
    Réponses: 6
    Dernier message: 04/08/2005, 10h50
  4. Réponses: 5
    Dernier message: 28/07/2004, 11h39
  5. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

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