class MaClasse { public MaClasse(string ligne) { ImportUneLigne(ligne); } public string Prenom { get; set; } public int Taille { get; set; } public DateTime DateNaissance { get; set; } private void ImportUneLigne(string ligne) { string[] val = ligne.Split(";"); this.Prenom = val[0]; this.Taille = Convert.ToInt32(val[1]);//tu peux aussi utiliser int.TryParse() si tu n'es pas sur que tous les eregistrements soient des int this.DateNaissance = Convert.ToDateTime(val[2]);// idem avec DateTime.TryParse() } }
List<MaClasse> maListe = new List<MaClasse>(); while (reader.Peek() != -1) { maListe.Add( new MaClasse( reader.ReadLine())); }
reader.ReadLine();//je lis la première ligne while (reader.Peek()!= -1) { rowValue = reader.ReadLine (); CellValue = rowValue.Split (';'); dataGridView1.Rows.Add (CellValue); }
public class CsvRachidSystem { public bool Import(string ligne) { string[] tableau = ligne.Split(';'); //je teste si la première colonne peut être convertie en long, c'est un test possible pour écarter les lignes d'entetes long valeur; if (long.TryParse(tableau[0], out valeur)) { //si oui on importe TimeMs = valeur; Init(tableau); return true;//et je valide } else return false;// invalide } /// <summary> /// importe et converti les données /// </summary> /// private void Init(string[] tableau) { MsgNumber = Convert.ToInt32(tableau[4]); TimeString = Convert.ToDateTime(tableau[13]); MsgText = tableau[14]; PLC = tableau[15]; Date2 = TimeString.AddMilliseconds(TimeMs);//si j'ai bien compris c'est des millisecondes à ajouter? } public int MsgNumber { get; set; } public string MsgText { get; set; } public DateTime TimeString { get; set; } public DateTime Date2 { get; set; } public string PLC { get; set; } public long TimeMs { get; set; } }
private void button4_Click(object sender, EventArgs e) { List<CsvRachidSystem> maListe = new List<CsvRachidSystem>(); FileStream fs = new FileStream(@"E:\Archive_alarmes0.csv", FileMode.Open); StreamReader sr = new StreamReader(fs); while (sr.Peek() != -1) { CsvRachidSystem item = new CsvRachidSystem(); if (item.Import(sr.ReadLine())) maListe.Add(item); } dataGridView1.DataSource = maListe; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDateTime date1; DateTime date2; TimeSpan duree = TimeSpan.FromTicks(1234567890); if (DateTime.TryParse("7. 2. 2013 7:04:30", out date1))//teste si le string est convertible en DateTime date2 = date1 + duree;// Si oui cacule la deuxième date