public PanelLogsTrames() { InitializeComponent(); chargement = true; dataGridViewLog.Columns.Add("Id", "Id"); dataGridViewLog.Columns[0].Width = 40; dataGridViewLog.Columns.Add("Expediteur", "Expediteur"); dataGridViewLog.Columns[1].Width = 60; dataGridViewLog.Columns.Add("Destinataire", "Destinataire"); dataGridViewLog.Columns[2].Width = 60; dataGridViewLog.Columns.Add("Heure", "Heure"); dataGridViewLog.Columns[3].Width = 80; dataGridViewLog.Columns.Add("Message", "Message"); dataGridViewLog.Columns[4].Width = 320; dataGridViewLog.Columns.Add("Trame", "Trame"); dataGridViewLog.Columns[5].Width = dataGridViewLog.Width - 18 - dataGridViewLog.Columns[0].Width - dataGridViewLog.Columns[1].Width - dataGridViewLog.Columns[2].Width - dataGridViewLog.Columns[3].Width - dataGridViewLog.Columns[4].Width; couleurCarte = new Dictionary<Carte, Color>(); couleurCarte.Add(Carte.PC, Color.FromArgb(180, 245, 245)); couleurCarte.Add(Carte.RecMove, Color.FromArgb(143, 255, 143)); couleurCarte.Add(Carte.RecIO, Color.FromArgb(210, 254, 211)); // L'ajout de champs déclenche le SetCheck event qui ajoute les éléments automatiquement dans le dictionnaire if (Config.CurrentConfig.LogsFonctionsMove == null) Config.CurrentConfig.LogsFonctionsMove = new SerializableDictionary<FonctionMove, bool>(); if (Config.CurrentConfig.LogsFonctionsBalise == null) Config.CurrentConfig.LogsFonctionsBalise = new SerializableDictionary<FonctionBalise, bool>(); if (Config.CurrentConfig.LogsFonctionsIO == null) Config.CurrentConfig.LogsFonctionsIO = new SerializableDictionary<FonctionIO, bool>(); if (Config.CurrentConfig.LogsExpediteurs == null) Config.CurrentConfig.LogsExpediteurs = new SerializableDictionary<Carte, bool>(); if (Config.CurrentConfig.LogsDestinataires == null) Config.CurrentConfig.LogsDestinataires = new SerializableDictionary<Carte, bool>(); foreach (FonctionMove fonction in Enum.GetValues(typeof(FonctionMove))) { if (!Config.CurrentConfig.LogsFonctionsMove.ContainsKey(fonction)) Config.CurrentConfig.LogsFonctionsMove.Add(fonction, true); checkedListBoxMove.Items.Add(fonction.ToString(), Config.CurrentConfig.LogsFonctionsMove[fonction]); } foreach (FonctionIO fonction in Enum.GetValues(typeof(FonctionIO))) { if (!Config.CurrentConfig.LogsFonctionsIO.ContainsKey(fonction)) Config.CurrentConfig.LogsFonctionsIO.Add(fonction, true); checkedListBoxIO.Items.Add(fonction.ToString(), Config.CurrentConfig.LogsFonctionsIO[fonction]); } foreach (FonctionBalise fonction in Enum.GetValues(typeof(FonctionBalise))) { if (!Config.CurrentConfig.LogsFonctionsBalise.ContainsKey(fonction)) Config.CurrentConfig.LogsFonctionsBalise.Add(fonction, true); checkedListBoxBalise.Items.Add(fonction.ToString(), Config.CurrentConfig.LogsFonctionsBalise[fonction]); } foreach (Carte carte in Enum.GetValues(typeof(Carte))) { if (!Config.CurrentConfig.LogsExpediteurs.ContainsKey(carte)) Config.CurrentConfig.LogsExpediteurs.Add(carte, true); if (!Config.CurrentConfig.LogsDestinataires.ContainsKey(carte)) Config.CurrentConfig.LogsDestinataires.Add(carte, true); checkedListBoxExpediteur.Items.Add(carte.ToString(), Config.CurrentConfig.LogsExpediteurs[carte]); checkedListBoxDestinataire.Items.Add(carte.ToString(), Config.CurrentConfig.LogsDestinataires[carte]); } chargement = false; replay = new Replay(); }
public ConnexionUDP() { ConnexionCheck = new ConnexionCheck(2000); Sauvegarde = new Replay(); DerniereTentativePing = new DateTime(1, 1, 1); }
private void btnRejouerSelection_Click(object sender, EventArgs e) { Replay replaySelection = new Replay(); if (dataGridViewLog.SelectedRows.Count >= 1) { try { foreach (DataGridViewRow ligne in dataGridViewLog.SelectedRows) { int index = ligne.Index; TrameReplay trameReplay = replay.Trames[Convert.ToInt32(dataGridViewLog["Id", index].Value)]; if (trameReplay.Entrant) replaySelection.AjouterTrameEntrante(new Trame(trameReplay.Trame), trameReplay.Date); else replaySelection.AjouterTrameSortante(new Trame(trameReplay.Trame), trameReplay.Date); } replaySelection.Trier(); threadReplay = new Thread(replaySelection.Rejouer); threadReplay.Start(); } catch (Exception) { } } }
private void btnAfficher_Click(object sender, EventArgs e) { if (!affichageTempsReel) { replay = new Replay(); timerAffichage = new System.Windows.Forms.Timer(); timerAffichage.Interval = 1000; timerAffichage.Tick += timerAffichage_Tick; timerAffichage.Start(); Connexions.ConnexionMiwi.NouvelleTrameRecue += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionMiwi.NouvelleTrameEnvoyee += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); Connexions.ConnexionMove.NouvelleTrameRecue += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionMove.NouvelleTrameEnvoyee += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); Connexions.ConnexionIO.NouvelleTrameRecue += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionIO.NouvelleTrameEnvoyee += new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); btnRejouerTout.Enabled = false; btnRejouerSelection.Enabled = false; btnCharger.Enabled = false; btnAfficher.Text = "Arrêter l'affichage"; btnAfficher.Image = GoBot.Properties.Resources.Pause; affichageTempsReel = true; } else { timerAffichage.Stop(); Connexions.ConnexionMiwi.NouvelleTrameRecue -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionMiwi.NouvelleTrameEnvoyee -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); Connexions.ConnexionMove.NouvelleTrameRecue -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionMove.NouvelleTrameEnvoyee -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); Connexions.ConnexionIO.NouvelleTrameRecue -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameEntrante); Connexions.ConnexionIO.NouvelleTrameEnvoyee -= new ConnexionUDP.ReceptionDelegate(replay.AjouterTrameSortante); btnRejouerTout.Enabled = true; btnRejouerSelection.Enabled = true; btnCharger.Enabled = true; btnAfficher.Text = "Afficher temps réel"; btnAfficher.Image = GoBot.Properties.Resources.Play; affichageTempsReel = false; } }
public void Clear() { replay = new Replay(); }
public void ChargerLog(String fichier) { Replay replayTemp = new Replay(); replayTemp.Charger(fichier); foreach (TrameReplay t in replayTemp.Trames) replay.Trames.Add(t); }
void worker_DoWork(object sender, DoWorkEventArgs e) { plusVieux = DateTime.Now; int currentLog = 0; List<String> dossiers = (List<String>)Directory.EnumerateDirectories(Config.PathData + "/Logs/").ToList<String>(); nbLogs = dossiers.Count; dossiers.Sort(OrdreAlphabetiqueInverse); foreach (String dossier in dossiers) { if (Config.Shutdown) return; currentLog++; String dossier1 = Path.GetFileName(dossier); DateTime date; int nbElements = 0; try { String[] tab = dossier1.Split(new char[5] { '.', ' ', 'h', 'm', 's' }); date = new DateTime(Convert.ToInt16(tab[0]), Convert.ToInt16(tab[1]), Convert.ToInt16(tab[2]), Convert.ToInt16(tab[3]), Convert.ToInt16(tab[4]), Convert.ToInt16(tab[5])); if (date < plusVieux) plusVieux = date; long taille = FolderSize(dossier); Object[] datas = new Object[7]; datas[0] = date; datas[1] = new TailleDossier(taille); foreach (String fichier in Directory.EnumerateFiles(dossier)) { if (Path.GetFileName(fichier) == "ActionsGros.elog") { EventsReplay r = new EventsReplay(); if (r.Charger(fichier)) { datas[5] = r.Events.Count; nbElements += r.Events.Count; } else datas[5] = -1; } else if (Path.GetFileName(fichier) == "ActionsPetit.elog") { EventsReplay r = new EventsReplay(); r.Charger(fichier); if (r.Charger(fichier)) { datas[6] = r.Events.Count; nbElements += r.Events.Count; } else datas[6] = -1; } else if (Path.GetFileName(fichier) == "ConnexionPi.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) { datas[3] = r.Trames.Count; nbElements += r.Trames.Count; } else datas[3] = -1; } else if (Path.GetFileName(fichier) == "ConnexionMove.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) { datas[2] = r.Trames.Count; nbElements += r.Trames.Count; } else datas[2] = -1; } else if (Path.GetFileName(fichier) == "ConnexionMiwi.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) { datas[4] = r.Trames.Count; nbElements += r.Trames.Count; } else datas[4] = -1; } } // Si il n'y a aucune trame ni aucun evenement dans le dossier, on le supprime if (nbElements == 0) Directory.Delete(dossier); else dataSet.Tables[0].Rows.Add(datas); } catch (Exception) { } worker.ReportProgress((int)(currentLog * 100 / nbLogs)); } foreach (String dossier in Directory.EnumerateDirectories(Config.PathData + "/Archives/")) { if (Config.Shutdown) return; currentLog++; String dossier1 = Path.GetFileName(dossier); DateTime date; try { String[] tab = dossier1.Split(new char[5] { '.', ' ', 'h', 'm', 's' }); date = new DateTime(Convert.ToInt16(tab[0]), Convert.ToInt16(tab[1]), Convert.ToInt16(tab[2]), Convert.ToInt16(tab[3]), Convert.ToInt16(tab[4]), Convert.ToInt16(tab[5])); if (date < plusVieux) plusVieux = date; long taille = FolderSize(dossier); Object[] datas = new Object[8]; datas[1] = date; datas[2] = new TailleDossier(taille); foreach (String fichier in Directory.EnumerateFiles(dossier)) { if (Path.GetFileName(fichier) == "ActionsGros.elog") { EventsReplay r = new EventsReplay(); if (r.Charger(fichier)) datas[6] = r.Events.Count; else datas[6] = -1; } else if (Path.GetFileName(fichier) == "ActionsPetit.elog") { EventsReplay r = new EventsReplay(); r.Charger(fichier); if (r.Charger(fichier)) datas[7] = r.Events.Count; else datas[7] = -1; } else if (Path.GetFileName(fichier) == "ConnexionPi.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) datas[4] = r.Trames.Count; else datas[4] = -1; } else if (Path.GetFileName(fichier) == "ConnexionMove.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) datas[3] = r.Trames.Count; else datas[3] = -1; } else if (Path.GetFileName(fichier) == "ConnexionMiwi.tlog") { Replay r = new Replay(); r.Charger(fichier); if (r.Charger(fichier)) datas[5] = r.Trames.Count; else datas[5] = -1; } else if (Path.GetFileName(fichier) == "Archivage") { StreamReader reader = new StreamReader(fichier); datas[0] = reader.ReadLine(); reader.Close(); } } dataSetArchivage.Tables[0].Rows.Add(datas); } catch (Exception) { } } }