Fige d'application

Signaler
Messages postés
92
Date d'inscription
mercredi 4 décembre 2002
Statut
Membre
Dernière intervention
18 mai 2018
-
Bonjour, le revoila ,j'ai traité bcp de probleme grace a vous,
Il m'en reste encore :-)
Voici le dernier, je parcours une datagriedview qui contient l'emplacement de fichier, afin de generer un fichier HTML
mais mon application fige au parcours de ce datagriedview, j'ai bien pensé a un thread, mais quand je parcours ce composant que vais lire des info dans un fichier ( grace a la procedure indiqué plus bas) voila comment faire pour evite la fige la liste peux contenir plusieurs centaine de lignes

Parcours de la datagriedview

 private void generation(bool gener)
        {
            int valeur = dataGridView1.Rows.Count;
           progression = 0;

            string nomdelabibli = Properties.Settings.Default.nombibli;
            string emplacementbibli = Properties.Settings.Default.emplacementdelabibli;
           if (Directory.Exists(emplacementbibli))
            {
                emplacementbibli = emplacementbibli + DateTime.Now.ToString("dd_MM_yy à HH_mm_ss") + "\";
                // MessageBox.Show(emplacementbibli + "mobile.css");
                Directory.CreateDirectory(emplacementbibli);
                File.Copy("mobile.css", emplacementbibli + "mobile.css");
                File.Copy("desktop.css", emplacementbibli + "desktop.css");
                File.Copy("bc_bg.png", emplacementbibli + "bc_bg.png");
                File.Copy("bc_separator.png", emplacementbibli + "bc_separator.png");

                // Generation du fichier index
                # region generation du fichier index

                FileStream fs = new FileStream(emplacementbibli + "index.html", FileMode.Create, FileAccess.Write);
                StreamWriter sr = new StreamWriter(fs);
                sr.WriteLine("{0}", "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">");
                sr.WriteLine("{0}", "<html>\r\n<head>");
                sr.WriteLine("{0}", "<meta content="yes" name="apple-mobile-web-app-capable">");
                sr.WriteLine("{0}", "<meta content="text/html; charset=utf-8" http-equiv="Content-Type">");
                sr.WriteLine("{0}", "<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport">");
                sr.WriteLine("{0}", "<meta content="IE=8" http-equiv="X-UA-Compatible">");
                sr.WriteLine("{0}", "<link type="text/css" rel="stylesheet" href="desktop.css">");
                sr.WriteLine("{0}", "<link type="text/css" rel="stylesheet" media="only screen and (max-device-width: 480px)" href="mobile.css">");
                sr.WriteLine("{0}", "<script src="functions.js" type="text/javascript"></script>");
                sr.WriteLine("{0}", "<title>" + nomdelabibli + "</title>");
                sr.WriteLine("{0}", "</head>\r\n\r\n
");
                sr.WriteLine("{0}", "
" + nomdelabibli + "
\r\n
");
                sr.WriteLine("{0}", "
" + nomdelabibli + "
\r\n
");
                sr.WriteLine("{0}", "<small>Catalogue généré le " + DateTime.Now.ToString("dd/MM/yy à HH:mm") + ". Elle contient " + dataGridView1.Rows.Count.ToString() + " films</small>");
                sr.WriteLine("{0}", "
");
                sr.WriteLine("{0}", "");
                sr.WriteLine("{0}", "<li>Catalogue principal</li>\r\n\r\n
");
                sr.Close();
                fs.Close();
                #endregion

                progressBar1.Visible = true;
                progression = 0;
                progressBar1.Maximum = dataGridView1.Rows.Count;
                toolStripStatusLabel1.Text = "Generation des fiches";
                
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    progressBar1.Value = progression;
                    progression = progression + 1;
                    string nfopresent = dataGridView1.Rows[i].Cells[0].Value.ToString();
                    string nomdufilm = dataGridView1.Rows[i].Cells[2].Value.ToString();
                    string emplacementinfofilm = emplacementbibli + '\\' + nomdufilm.Substring(0, nomdufilm.LastIndexOf("."));

                    if (nfopresent == "True")
                    {
                        if (!Directory.Exists(emplacementinfofilm)) //Si le dossier n'existe pas 
                            Directory.CreateDirectory(emplacementinfofilm); //On le crée   MessageBox.Show(emplacementinfofilm);
                        // la valeur d'un combobox se récupere de la meme facon
                  
                        dataGridView1.CurrentCell =
                        dataGridView1.Rows[i].Cells[2];

                        FileStream fsfilm = new FileStream(emplacementinfofilm + "\" + nomdufilm.Substring(0, nomdufilm.LastIndexOf(".")) + ".html", FileMode.Create, FileAccess.Write);
                        StreamWriter srfilm = new StreamWriter(fsfilm);
                        srfilm.WriteLine("{0}", "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">");
                        srfilm.WriteLine("{0}", "<html>\r\n<head>");
                        srfilm.WriteLine("{0}", "<meta content="yes" name="apple-mobile-web-app-capable">");
                        srfilm.WriteLine("{0}", "<meta content="text/html; charset=utf-8" http-equiv="Content-Type">");
                        srfilm.WriteLine("{0}", "<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport">");
                        srfilm.WriteLine("{0}", "<meta content="IE=8" http-equiv="X-UA-Compatible">\r\n<link type="text/css" rel="stylesheet" href="../desktop.css">\r\n<link type="text/css" rel="stylesheet" media="only screen and (max-device-width: 480px)" href="../mobile.css">\r\n<script src="functions.js" type="text/javascript"></script>");
                        srfilm.WriteLine("{0}", "<title>" + nomdelabibli + "</title>");
                        srfilm.WriteLine("{0}", "</head>\r\n\r\n
");
                        srfilm.WriteLine("{0}", "
" + nomdelabibli + "
\r\n
");
                        srfilm.WriteLine("{0}", "
" + nomdelabibli + "
\r\n
");
                        srfilm.WriteLine("{0}", "<small>Catalogue généré le " + DateTime.Now.ToString("dd/MM/yy à HH:mm") + ". Elle contient " + dataGridView1.Rows.Count.ToString() + " films</small>");
                        srfilm.WriteLine("{0}", "
");
                        srfilm.WriteLine("{0}", "");
                        srfilm.WriteLine("{0}", "<li>\r\nCatalogue principal\r\n</li>");
                        srfilm.WriteLine("{0}", "<li>\r\nTous les livres\r\n</li>");
                        srfilm.WriteLine("{0}", "
");
                        srfilm.WriteLine("{0}", "
");
                        srfilm.WriteLine("{0}", "\r\n----
\r\n ");
srfilm.WriteLine("{0}", "" + Lnom2.Text + "
");
srfilm.WriteLine("{0}", "<small><small>de " + lRéalisateur2.Text + " " + lanneedeprod2.Text + "</small></small>
\r\n, \r\n\");
srfilm.WriteLine(\"{0}\", \"----
\r\n Titre Original :, \r\n " + LtitreFilmoriginal2.Text + ", \r\n
\");
srfilm.WriteLine(\"{0}\", \"----
\r\n Genre :, \r\n " + lgenre2.Text + ", \r\n\");
srfilm.WriteLine(\"{0}\", \"----
\r\n Pays :, \r\n " + lpays2.Text + ", \r\n\");
srfilm.WriteLine(\"{0}\", \"----
\r\n Note :, \r\n " + lnote2.Text + ", \r\n\");
srfilm.WriteLine(\"{0}\", \"----
\r\n Studio :, \r\n " + Lstudio2.Text + ", \r\n\");

srfilm.WriteLine(\"{0}\", \"----
\r\n Jacquette du Film :, \r\n\");
srfilm.WriteLine(\"{0}\", \"----
\r\n  :, \r\n \");
                        srfilm.WriteLine("{0}", "
\r\n \r\n </html>");
                        srfilm.WriteLine("{0}", "
");
                        srfilm.Close();
                        srfilm.Close();
                        listeatelecharger.Add(emplacementinfofilm + "\");
                        //      Thread t = new Thread(new ParameterizedThreadStart(Lance_Telechargement));
                        //    t.Start(emplacementinfofilm + "\"); 
                  
                    }

                }
                Information.Visible = true;



            }
        }


et action quand une selectionne une cellule

  private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {

            pictureBox1.Image = null;
            try
            {
                #region recuperation donnée du fichier video
                string tempo = null;
                // recuperation des info Nom du fichier, emplacement et presence ou pas du NFO
                string Nom = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();   //Nom
                string NFO = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();  //NFO
                string Empl = Path.GetDirectoryName(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()) + "/"; // Emplacemnet

                //Verification du fichier NFO
                if (NFO == "True")
                    Lnfo2.Text = "Oui";
                else
                {
                    Lnfo2.Text = "Non";
                }

                //Inscription du non du fichier
                Lnom2.Text = Nom;
                //Inscription de l'emplacementdu fichier
                Lemplacement2.Text = Empl;
                //Verification du format
                if (Nom.ToLower().IndexOf("avi") >= 0)
                    Lformat2.Text = "Avi";
                if (Nom.ToLower().IndexOf("mkv") >= 0)
                    Lformat2.Text = "Mkv";
                //retourne la taille du Fichier
                string infofichier = Empl + Nom;
                string recupNFO = Empl + Nom; ;
                FileInfo fInfo = new FileInfo(infofichier);
                double size = fInfo.Length;//taille en octets
                //affichage dans le label de taille convertie
                Ltaille2.Text = SizeFormat(size, 2);
                datefichiercreationvideo2.Text = fInfo.CreationTime.ToString();
                datefichieraccesvideo2.Text = fInfo.LastAccessTime.ToString();
                #endregion

                #region recuperation donnée du fichier NFO
                // 
                //recuperation des info du NFO
                //
                if (NFO == "True")
                {

                    string NomNfo = Nom.Substring(0, Nom.LastIndexOf(".")) + ".nfo";

                    //Inscription du non du fichier
                    LnomNfo2.Text = NomNfo;
                    //Inscription de l'emplacementdu fichier
                    LemplacementNfo2.Text = Empl;
                    //retourne la taille du Fichier
                    string infofichiernfo = Empl + NomNfo;
                    FileInfo fInfo2 = new FileInfo(infofichiernfo);
                    double sizenfo = fInfo2.Length;//taille en octets
                    //affichage dans le label de taille convertie
                    LtailleNfo2.Text = SizeFormat(sizenfo, 2);
                    datefichiercreationNfo2.Text = fInfo2.CreationTime.ToString();
                    datefichiermodificationNfo2.Text = fInfo2.LastWriteTime.ToString();
                    datefichieraccesNfo2.Text = fInfo2.LastAccessTime.ToString();
                    vignette2.Text = null;
                    pictureBox1.Image = null;
                    // Chargement de la procedure pour lire les info du  NFO lui meme 

                    if (readDatafilm(infofichiernfo, "title") != "")
                    {
                        LtitreFilm2.Text = readDatafilm(infofichiernfo, "title");
                    }
                    else
                    {
                        LtitreFilm2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "originaltitle") != "")
                    {
                        LtitreFilmoriginal2.Text = readDatafilm(infofichiernfo, "originaltitle");
                    }
                    else
                    {
                        LtitreFilmoriginal2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "rating") != "")
                    {
                        lnote2.Text = readDatafilm(infofichiernfo, "rating");
                    }
                    else
                    {
                        lnote2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "year") != "")
                    {
                        lanneedeprod2.Text = readDatafilm(infofichiernfo, "year");
                    }
                    else
                    {
                        lanneedeprod2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "country") != null)
                    {
                        lpays2.Text = readDatafilm(infofichiernfo, "country");
                    }
                    else
                    {
                        lpays2.Text = "Non renseigné";
                    };
                    if (readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/codec") != null)
                    {
                        lcodecvideo2.Text = readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/codec");
                    }
                    else
                    {
                        lcodecvideo2.Text = "Non renseigné";
                    };


                    if (readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/aspect") != null)
                    {
                        lratio2.Text = readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/aspect");
                    }
                    else
                    {
                        lratio2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/width") != null)
                    {
                        llargeur2.Text = readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/width");
                    }
                    else
                    {
                        llargeur2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/height") != null)
                    {
                        llongueur2.Text = readDatafilm(infofichiernfo, "fileinfo/streamdetails/video/height");
                    }
                    else
                    {
                        llongueur2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "fileinfo/streamdetails/audio/codec") != null)
                    {
                        lcodecaudio2.Text = readDatafilm(infofichiernfo, "fileinfo/streamdetails/audio/codec");
                    }
                    else
                    {
                        lcodecaudio2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "id") != null)
                    {
                        ID2.Text = readDatafilm(infofichiernfo, "id");
                    }
                    else
                    {
                        ID2.Text = "Non renseigné";
                    };
                    if (readDatafilm(infofichiernfo, "actor/name") != null)
                    {
                        Richacteur.Text = readDatafilm(infofichiernfo, "actor/name");
                    }
                    else
                    {
                        Richacteur.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "outline") != null)
                    {
                        Richeresume.Text = readDatafilm(infofichiernfo, "outline");
                    }
                    else
                    {
                        Richeresume.Text = "Non renseigné";
                    };


                    if (readDatafilm(infofichiernfo, "genre") != null)
                    {
                        lgenre2.Text = readDatafilm(infofichiernfo, "genre");
                    }
                    else
                    {
                        lgenre2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "director") != null)
                    {
                        lRéalisateur2.Text = readDatafilm(infofichiernfo, "director");
                    }
                    else
                    {
                        lRéalisateur2.Text = "Non renseigné";
                    };

                    if (readDatafilm(infofichiernfo, "studio") != null)
                    {
                        Lstudio2.Text = readDatafilm(infofichiernfo, "studio");
                    }
                    else
                    {
                        Lstudio2.Text = "Non renseigné";
                    };


                    tempo = readDatafilm(infofichiernfo, "thumb/thumb");

                    if (tempo == null)
                    {
                        tempo = readDatafilm(infofichiernfo, "thumb");


                        //   MessageBox.Show(vignette2.Text);

                    }
                    if (tempo == null)
                    {
                        tempo = readDatafilm(infofichiernfo, "thumb preview");

                    }
                    if (tempo.IndexOf(",") > -1)
                    {
                        vignette2.Text = tempo.Substring(0, tempo.IndexOf(","));
                    }
                    else
                        vignette2.Text = tempo;
                    //     if (vignette2.Text == null)
                    //   {
                    //     vignette2.Text = "jacquette.jpg";

                    //}





                }

                else
                {
                    LnomNfo2.Text = "Non Présent";
                    LemplacementNfo2.Text = "Non Présent";
                    LtailleNfo2.Text = "Non Présent";
                    datefichiercreationNfo2.Text = "Non Présent";
                    datefichiermodificationNfo2.Text = "Non Présent";
                    datefichieraccesNfo2.Text = "Non Présent";

                }
                #endregion


            }
            catch
            {
            }

        }



Je suis a l'ecoute de toutes aides
R A P A K O O T I