예제 #1
0
        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();
        }
예제 #2
0
 public ConnexionUDP()
 {
     ConnexionCheck = new ConnexionCheck(2000);
     Sauvegarde = new Replay();
     DerniereTentativePing = new DateTime(1, 1, 1);
 }
예제 #3
0
        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)
                {
                }
            }
        }
예제 #4
0
        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;
            }
        }
예제 #5
0
 public void Clear()
 {
     replay = new Replay();
 }
예제 #6
0
        public void ChargerLog(String fichier)
        {
            Replay replayTemp = new Replay();
            replayTemp.Charger(fichier);

            foreach (TrameReplay t in replayTemp.Trames)
                replay.Trames.Add(t);
        }
예제 #7
0
        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)
                {
                }
            }
        }