Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
RealityGaming
[C++/C#] Suivre une chaîne YouTube ou RealityGaming grâce au flux RSS !
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="delete221380" data-source="post: 3803234"><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845428-social23.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Hello les premium, c'est <em>DEVR0 GTP</em>, aujourd'hui je vous propose un petit tutoriel assez sympa</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">qui va consister à vous montrer comment suivre une Chaîne YouTube avec les flux RSS dans</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">une application Windows (C#.Net et C++)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Le tutoriel est assez simple à réaliser, je vais vous montrer l'exemple pour suivre UNE</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">chaîne en particulier, vous pouvez vous même améliorer le système pour pouvoir suivre</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">plusieurs Chaîne en même temps.</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Je rappel aussi que c'est une substitution a la page d'abonnement YouTube, mais peut être</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">utiles si on à pas envie de ré-ouvrir son navigateur et si on change de compte Google (pas</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">besoin de rajouter toutes les chaînes)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Je vous montre un exemple basique, sachez que vous pouvez créer un système</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">bien plus complexe <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Avant de commencé je tient à précisé que ce tutoriel s'adresse quand même</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">a des personnes ayant des bases solides dans ce domaines <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><strong><span style="color: rgb(176, 102, 102)">So</span><span style="color: rgb(182, 96, 96)">mm</span><span style="color: rgb(188, 91, 91)">a</span><span style="color: rgb(192, 88, 88)">ir</span><span style="color: rgb(198, 82, 82)">e d</span><span style="color: rgb(204, 77, 77)">u t</span><span style="color: rgb(210, 71, 71)">ut</span><span style="color: rgb(216, 65, 65)">o</span><span style="color: rgb(220, 62, 62)">ri</span><span style="color: rgb(226, 57, 57)">el</span></strong></span></span></p><ul> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Création du projet, ajout des composants</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Ajouter des flux important du Web</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Ajouter des catégorie de flux</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Ajouter des flux personnels</span></li> </ul> <p style="text-align: center"></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><strong><span style="color: rgb(176, 102, 102)">Ce q</span><span style="color: rgb(180, 98, 98)">u'i</span><span style="color: rgb(185, 94, 94)">l vo</span><span style="color: rgb(189, 90, 90)">us f</span><span style="color: rgb(193, 86, 86)">aud</span><span style="color: rgb(198, 82, 82)">ra p</span><span style="color: rgb(202, 78, 78)">our </span><span style="color: rgb(206, 75, 75)">réa</span><span style="color: rgb(210, 71, 71)">lis</span><span style="color: rgb(215, 67, 67)">er c</span><span style="color: rgb(219, 63, 63)">e tu</span><span style="color: rgb(223, 59, 59)">tor</span><span style="color: rgb(228, 55, 55)">iel</span></strong></span></span></p><ul> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Visual Studio ou Visual C# ou Visual C++</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Quelques connaissances quand même</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'">Un cerveau ? <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite375" alt=":trollface:" title="Trollface :trollface:" loading="lazy" data-shortname=":trollface:" /> U MAD</span></li> <li data-xf-list-type="ul"><span style="font-family: 'Tahoma'"><a href="https://www.mediafire.com/?f0zk3x1f8bfx1qw" target="_blank">Ma bibliothèque RSSReader</a></span></li> <li data-xf-list-type="ul"><a href="https://www.mediafire.com/?au0gldjlj6xjble" target="_blank"><span style="font-family: 'Tahoma'">Mon fichier .XML</span></a></li> </ul><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845428-machine2.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"><strong><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">Cré</span><span style="color: rgb(181, 98, 98)">ati</span><span style="color: rgb(185, 94, 94)">ons </span><span style="color: rgb(190, 90, 90)">du l</span><span style="color: rgb(194, 85, 85)">ect</span><span style="color: rgb(199, 81, 81)">eur</span><span style="color: rgb(203, 77, 77)">, aj</span><span style="color: rgb(208, 73, 73)">out </span><span style="color: rgb(212, 69, 69)">des </span><span style="color: rgb(217, 65, 65)">com</span><span style="color: rgb(221, 61, 61)">pos</span><span style="color: rgb(226, 57, 57)">ant</span><span style="color: rgb(230, 52, 52)">s</span></span></strong></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">[TABS]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">[TAB=Visual Studio, Visual C#]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Comme à votre habitude, vous créer un nouveau Projet C#</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Vous allez donc arriver sur un Formulaire Windows Vide, jusque là tout est bon</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois sur votre formulaire il va nous falloir plusieurs composant qui sont</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Une listView</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un TreeView</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un WebBrowser</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- 3 toolStrip</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un StatusStrip</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un Panel</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un ImageList (pour obtenir les icônes dans la listView)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">- Un contextMenuStrip (parce qu'on est des génie <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite375" alt=":trollface:" title="Trollface :trollface:" loading="lazy" data-shortname=":trollface:" /> )</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois ceci fait, votre Formulaire Windows devrais ressemblé à ceci :</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406833536-tuto.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">L'ajout des composants sur notre Form est terminer</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">[/TAB]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">[TAB=Visual Studio, Visual C++]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><a href="http://reality-gaming.fr/threads/c-creer-une-winform-vc.328793/" target="_blank"><span style="font-family: 'Tahoma'">Un tutoriel complet expliquant comment créer un Formulaire Windows VC++ à été fait ici</span></a></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour l'ajout des composants, regarder dans le tableau C# c'est identique (seul le code changera)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">[/TAB]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">[/TABS]</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">Le c</span><span style="color: rgb(180, 98, 98)">ode </span><span style="color: rgb(185, 94, 94)">de l</span><span style="color: rgb(189, 90, 90)">'ap</span><span style="color: rgb(193, 86, 86)">pli</span><span style="color: rgb(198, 82, 82)">cat</span><span style="color: rgb(202, 78, 78)">ion </span><span style="color: rgb(206, 75, 75)">pou</span><span style="color: rgb(210, 71, 71)">r ob</span><span style="color: rgb(215, 67, 67)">ten</span><span style="color: rgb(219, 63, 63)">ir l</span><span style="color: rgb(223, 59, 59)">es f</span><span style="color: rgb(228, 55, 55)">lux</span></span></span></strong></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"></span></span></strong></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[TABS]</span></p><p><span style="font-family: 'Tahoma'">[TAB=Visual Studio version C# ou Visual C#]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Ajouter une utilisation <strong>d'espace de nom</strong></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]using System.Xml;</span></p><p><span style="font-family: 'Tahoma'">using RSSReader;[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Ajouter le .dll <strong>RSSReader</strong> que j'ai créer tout spécialement pour vous,</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">une fois ici, on va déclaré une <strong>nouvelle instance</strong>, donc allez dans</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">public partial class Form1 : Form</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> RSSFlux F;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois ici, il va falloir <strong>créer une fonction</strong> pour la lecture RSS (dépendante de la bibliothèque)</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">void Read_Rss(string flux)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //Effacer l'ancienne Affichage tout d'abord</span></p><p><span style="font-family: 'Tahoma'"> listView_flux1.Clear();//Nom de votre listView</span></p><p><span style="font-family: 'Tahoma'"> this.listView_flux1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1 });//Nom de votre ListView églament</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //Analyse de la Flux Rss "Document Xml"</span></p><p><span style="font-family: 'Tahoma'"> XmlDocument xml = new XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // lecture du Flux rss</span></p><p><span style="font-family: 'Tahoma'"> xml.Load(flux);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlNodeList noeud = null;</span></p><p><span style="font-family: 'Tahoma'"> XmlNodeList noeud_chanel = null;</span></p><p><span style="font-family: 'Tahoma'"> noeud_chanel = xml.DocumentElement.GetElementsByTagName("channel");</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode xmlnod in noeud_chanel)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> string channel;</span></p><p><span style="font-family: 'Tahoma'"> channel = "Titre";</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode xmlnod2 in xmlnod.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (xmlnod2.LocalName == "title")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> channel = xmlnod2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> this.columnHeader1.Text = channel;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> noeud = xml.DocumentElement.GetElementsByTagName("item");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // pour chaque "item"</span></p><p><span style="font-family: 'Tahoma'"> bool premier = true;</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode node in noeud)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> string title, description, link, date;</span></p><p><span style="font-family: 'Tahoma'"> title = "Sans Titre";</span></p><p><span style="font-family: 'Tahoma'"> description = "Sans Description";</span></p><p><span style="font-family: 'Tahoma'"> link = "Aucun Lien";</span></p><p><span style="font-family: 'Tahoma'"> date = "Inconnu";</span></p><p><span style="font-family: 'Tahoma'"> //Parcourir tous les Items</span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise fille de "item"</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud2 in node.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud2.LocalName == "link")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> link = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "title")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> title = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> //Ajouter le titre dans la liste Box</span></p><p><span style="font-family: 'Tahoma'"> listView_flux1.Items.Add(title,4);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //columnHeader2.ListView.Items.Add(title);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> //Date de publication</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "pubDate")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> date = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "description")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (premier == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> description = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> //richTextBox_flux.Text ="TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description;</span></p><p><span style="font-family: 'Tahoma'"> //premier=false;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> if (premier == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> //richTextBox_flux.Text = "TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description;</span></p><p><span style="font-family: 'Tahoma'"> premier = false;</span></p><p><span style="font-family: 'Tahoma'"> webBrowser1.DocumentText = "<html><head><h1><A href=" + link + ">" + title + "</A></h1><P><STRONG><FONT face=Bell MT>Date de publication: " + date + "</FONT></STRONG></P><p>" + description + "</p><body></body></head></html>";</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> Look.Text = "Looking into ["+flux_encour.GetCategorie()+"] Name:["+flux_encour.GetFlux_name()+"] Url:["+flux_encour.GetUrl()+"]";//Look est le nom du label de mon statusStrip</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Erreyr de chargement du flux " + flux,MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Vous devriez avoir des erreurs pour <strong>flux_encour </strong>normalement, c'est normal</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">on va devoir créer une classe <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /> donc pour ce faire, faite <strong>Projet > Ajouter nouvel élément</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><strong>> Classe</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois dans l'éditeur de classe, vous devrez ajouter ce code :</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">public string categorie;</span></p><p><span style="font-family: 'Tahoma'"> public string flux_name;</span></p><p><span style="font-family: 'Tahoma'"> public string url;</span></p><p><span style="font-family: 'Tahoma'"> public string[] tab_categorie_names;</span></p><p><span style="font-family: 'Tahoma'"> public Cflux() { }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> public Cflux(string c_categorie, string c_flux_name, string c_url)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> categorie = c_categorie;</span></p><p><span style="font-family: 'Tahoma'"> flux_name = c_flux_name;</span></p><p><span style="font-family: 'Tahoma'"> url = c_url;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> public Cflux(string c_categorie, string c_flux_name, string c_url, string[] c_tab_categorie_names)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> categorie = c_categorie;</span></p><p><span style="font-family: 'Tahoma'"> flux_name = c_flux_name;</span></p><p><span style="font-family: 'Tahoma'"> url = c_url;</span></p><p><span style="font-family: 'Tahoma'"> tab_categorie_names = c_tab_categorie_names;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //Getteurs et Setteurs</span></p><p><span style="font-family: 'Tahoma'"> public string GetCategorie()</span></p><p><span style="font-family: 'Tahoma'"> { return this.categorie; }</span></p><p><span style="font-family: 'Tahoma'"> public void SetCategorie(string c_categorie)</span></p><p><span style="font-family: 'Tahoma'"> { categorie = c_categorie; }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> public string GetFlux_name()</span></p><p><span style="font-family: 'Tahoma'"> { return this.flux_name; }</span></p><p><span style="font-family: 'Tahoma'"> public void SetFlux_name(string c_flux_name)</span></p><p><span style="font-family: 'Tahoma'"> { flux_name = c_flux_name; }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> public string GetUrl()</span></p><p><span style="font-family: 'Tahoma'"> { return this.url; }</span></p><p><span style="font-family: 'Tahoma'"> public void SetUrl(string c_url)</span></p><p><span style="font-family: 'Tahoma'"> { url = c_url; }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> public string[] GetCategories_tab()</span></p><p><span style="font-family: 'Tahoma'"> { return this.tab_categorie_names; }</span></p><p><span style="font-family: 'Tahoma'"> public void SetCategories_tab(string[] c_tab_categorie_names)</span></p><p><span style="font-family: 'Tahoma'"> { tab_categorie_names = c_tab_categorie_names; }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois la classe créer, on va devoir déclaré une <strong>nouvel instance</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">comme tout à l'heure dans Public Partial Class Form : Form</span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">{</span></p><p><span style="font-family: 'Tahoma'">Cflux flux_encour = new Cflux("","","");</span></p><p><span style="font-family: 'Tahoma'">}</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Déjà là nous avons fait le plus compliquer je pense <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Passons maintenant au code du bouton qui va récupéré le flux</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">en fonction de l'URL</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><strong>Double cliquez sur votre bouton</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">flux_encour = new Cflux("Temporaire", "Temporaire", toolStripTextBox1.Text);//la textBox de l'URL</span></p><p><span style="font-family: 'Tahoma'"> Read_Rss(toolStripTextBox1.Text);//idem</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Maintenant on va faire en sorte que lorsqu'on choisira un autre flux</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">la lecture de celui-ci ce fera automatiquement dans le WebBrowser en-dessous</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour cela, allez dans les <strong>événements</strong> de la ListView</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">et chercher l'événement (<strong>Click</strong>)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois dans l'événement <strong>_Click</strong> générer par le concepteur vous allez</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">pouvoir insérer le <strong>code</strong> suivant</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">string titre_flux = listView_flux1.SelectedItems[0].Text;</span></p><p><span style="font-family: 'Tahoma'"> listView_flux1.SelectedItems[0].ImageIndex = 3;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlDocument xml = new XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // lecture du rss</span></p><p><span style="font-family: 'Tahoma'"> xml.Load(flux_encour.GetUrl());</span></p><p><span style="font-family: 'Tahoma'"> // xml.Load("c:/rss.xml");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlNodeList noeud = null;</span></p><p><span style="font-family: 'Tahoma'"> noeud = xml.DocumentElement.GetElementsByTagName("item");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode node in noeud)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> string title, description, link, date;</span></p><p><span style="font-family: 'Tahoma'"> title = "Sans Titre";</span></p><p><span style="font-family: 'Tahoma'"> description = "Sans Description";</span></p><p><span style="font-family: 'Tahoma'"> link = "Aucun Lien";</span></p><p><span style="font-family: 'Tahoma'"> date = "Inconnu";</span></p><p><span style="font-family: 'Tahoma'"> //bool trouver_description = false;</span></p><p><span style="font-family: 'Tahoma'"> bool trouver_titre = false;</span></p><p><span style="font-family: 'Tahoma'"> // pour chaque "item"</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise fille de "item"</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud2 in node.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud2.LocalName == "title")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> title = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> if (title == titre_flux)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> trouver_titre = true;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> trouver_titre = false;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "link")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (trouver_titre == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> link = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> //Date de publication</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "pubDate")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (trouver_titre == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> date = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else if (noeud2.LocalName == "description")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> //trouver_description = true;</span></p><p><span style="font-family: 'Tahoma'"> if (trouver_titre == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> description = noeud2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> //richTextBox_flux.Text ="TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> if (trouver_titre == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> webBrowser1.DocumentText = "<html><head><h1><A href=" + link + ">" + title + "</A></h1><P><STRONG><FONT face=Bell MT>Date de publication: " + date + "</FONT></STRONG></P><p>" + description + "</p><body></body></head></html>";</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Erreur pendant le chargeent :" + flux_encour.GetUrl(), MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[TAB=Visual Studio version C++ ou Visual C++] La version C++ arrive <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /> [/TAB]</span></p><p><span style="font-family: 'Tahoma'">[/TABS]</span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">A présent passons au test, voir si on peut obtenir la liste</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">des flux d'une personne sur YouTube</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406887715-sousou.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">(Au passage : n'oubliez pas d'allez dans les paramètre ListView et de mètre l'ImageList associé)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Vous pouvez constater que l'ont obtient la liste des vidéo publier</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">par [USER=23738]@Sousou[/USER] et en dessous la dernière vidéo publier en date</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">J'expliquerais comment transformer le lien d'une chaîne YouTube</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">en lien RSS par la suite, pour le faire de manière automatisé.</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">La création du lecteur RSS en lui même touche à sa fin, nous allons</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">maintenant voir comment sauvegarder les différent Flux</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">pour ne pas avoir à rechercher à chaque fois et aussi comment</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">afficher les flux connu mondiaux de base.</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845428-dark.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">A</span><span style="color: rgb(201, 80, 80)">j</span><span style="color: rgb(205, 76, 76)">out </span><span style="color: rgb(209, 72, 72)">de f</span><span style="color: rgb(213, 68, 68)">lux </span><span style="color: rgb(217, 65, 65)">important</span><span style="color: rgb(221, 61, 61)"> d</span><span style="color: rgb(225, 57, 57)">u We</span><span style="color: rgb(229, 53, 53)">b.</span></span></span></strong></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Pour ce faire vous allez avoie besoin du fichier .<strong>xml </strong>fournit au dessus.</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour l'utiliser, étant donner qu'il dépend de ma bibliothèque, j'ai fait en sorte</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">qu'il soit importer depuis le dossier du projet ou d'installation</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Donc vous allez devoir allez dans <strong>Mes documents > Visual Studio (version) > Project</strong></span></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'">> "Nom de votre projet" > bin > Debug > Laisser le fichier DEV.xml ici</span></strong></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'"></span></strong></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(255, 0, 0)">/!\ NE RENOMMER PAS LE FICHIER .XML /!\</span></span></span></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406837608-flux.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[TABS]</span></p><p><span style="font-family: 'Tahoma'">[TAB=Visual Studio version C# ou Visual C#]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois le fichier .XML ajouter, vous allez devoir allez dans l'évenement Form_Load de votre</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">application</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">F = new RSSFlux();</span></p><p><span style="font-family: 'Tahoma'"> F.Load_Flux_Data("./DEV.xml", this.treeView1, imageList1);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">//Toujours pensez a linké par la bonne imageList pour obtenir vos icônes[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois ceci fait vous pouvez lancer l'application, si vous avez bien ajouter le fichier</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">.xml aucune erreur ne va apparaître, sinon une erreur surviendra mais vous allez pouvoir</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">continuer à utiliser l'application, c'est une erreur mineur donc <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'"><span style="font-size: 18px">Si vous avez tout bien fait correctement vous allez obtenir ceci (j'ai utilisé le RSS <img src="/images/smileys/smiley-rg.svg" class="smilie" loading="lazy" alt=":RG:" title="RG :RG:" data-shortname=":RG:" />)</span></span></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406838477-rg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">(je peut voir les dernier sujet poster, c'est pratique <img src="/data/assets/smilies/espion.gif" class="smilie" loading="lazy" alt=":espion:" title="Espion :espion:" data-shortname=":espion:" /> )</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">La je vous ai montrer comment afficher les dossier dans le TreeView, mais je ne vous ai</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">pas montrer comment avoir le flux dépendant de chaque dossier</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour ce faire, c'est très simple, vous devez allez dans l'événement <strong>DoubleClick</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">de la TreeView et y inséré le code suivant.</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">// si ce n'est pas un dossier</span></p><p><span style="font-family: 'Tahoma'"> if (treeView1.SelectedNode.Parent != null)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> //richTextBox_flux.Text = treeView_flux.SelectedNode.Text + "\n" + treeView_flux.SelectedNode.Parent.Text;</span></p><p><span style="font-family: 'Tahoma'"> string flux = treeView1.SelectedNode.Text;</span></p><p><span style="font-family: 'Tahoma'"> string dossier = treeView1.SelectedNode.Parent.Text;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //string url_flux = "";</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on change le pointeur de la sourie</span></p><p><span style="font-family: 'Tahoma'"> //Cursor pointeur_normal = Cursor.Current;</span></p><p><span style="font-family: 'Tahoma'"> //this.Cursor = Cursors.WaitCursor;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //création d'un document XML</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlDocument fichier = new XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> fichier.Load("DEV.xml");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // annalyse des donnees du fichier</span></p><p><span style="font-family: 'Tahoma'"> XmlNodeList noeud_dossier = null;</span></p><p><span style="font-family: 'Tahoma'"> noeud_dossier = fichier.DocumentElement.GetElementsByTagName("categorie");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise de type "dossier"</span></p><p><span style="font-family: 'Tahoma'"> string nom_dossier = "";</span></p><p><span style="font-family: 'Tahoma'"> string nom_flux = "";</span></p><p><span style="font-family: 'Tahoma'"> string nom_url = "";</span></p><p><span style="font-family: 'Tahoma'"> bool bon_dossier = false;</span></p><p><span style="font-family: 'Tahoma'"> bool bon_flux = false;</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud1 in noeud_dossier)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise fille de "dossier"</span></p><p><span style="font-family: 'Tahoma'"> bon_dossier = false;</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud2 in noeud1.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud2.LocalName == "name")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // on ecrit le nom du dossier</span></p><p><span style="font-family: 'Tahoma'"> nom_dossier = noeud2.InnerXml;</span></p><p><span style="font-family: 'Tahoma'"> if (nom_dossier == dossier)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> bon_dossier = true;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> bon_dossier = false;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> //pour chaque balise fille de "flux"</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (bon_dossier == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud2.LocalName == "flux")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud3 in noeud2.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud3.LocalName == "flux_name")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> nom_flux = noeud3.InnerXml;</span></p><p><span style="font-family: 'Tahoma'"> if (nom_flux == flux)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> bon_flux = true;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> bon_flux = false;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud3.LocalName == "url")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (bon_dossier == true && bon_flux == true)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> nom_url = noeud3.InnerXml;</span></p><p><span style="font-family: 'Tahoma'"> flux_encour = new Cflux(nom_dossier, nom_flux, nom_url);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> Read_Rss(flux_encour.GetUrl());</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Error while loading data base " + "DEV.xml", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //on remet le pointeur de la sourie normal</span></p><p><span style="font-family: 'Tahoma'"> //this.Cursor = pointeur_normal;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Déjà là le lecteur de Flux RSS est complet, il nous manque plus que la parti "Ajouter dossier"</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">et "Ajouter flux" en sauvegarde, pour ne plus avoir à rentré le lien à chaque utilisations</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">C'est un peu là que les choses se complique, même si j'ai déjà perdu 50% de mon auditoire</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">au niveau des pré-requis <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite375" alt=":trollface:" title="Trollface :trollface:" loading="lazy" data-shortname=":trollface:" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Nous allons ajouter un nouveau formulaire pour la création de dossier</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">et de flux</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[TAB=Visual Studio version C++ ou Visual C++] Ca arrive <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" />[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[/TABS]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845562-open131.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">Aj</span><span style="color: rgb(181, 98, 98)">ou</span><span style="color: rgb(186, 93, 93)">te</span><span style="color: rgb(191, 89, 89)">r d</span><span style="color: rgb(195, 84, 84)">es </span><span style="color: rgb(200, 80, 80)">do</span><span style="color: rgb(205, 75, 75)">ss</span><span style="color: rgb(210, 71, 71)">ie</span><span style="color: rgb(215, 67, 67)">rs</span></span></span></strong></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[TABS]</span></p><p><span style="font-family: 'Tahoma'">[TAB=VisualStudio version C# ou Visual C#]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Nous allons devoir créer un nouveau formulaire Windows, pour ce faire vous devez faire</span></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'">Projet > Ajouter un Formulaire Windows</span></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Nommer le comme vous voulez, ça a peu d'importance au finale</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Commençons déjà par l'ajout de nouvelle catégorie</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">On ne va pas QUE ajouter des flux, ça serais le désordre</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour ma part, voici à quoi ressemble mon formulaire :</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406840011-addcat.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Allez dans le code de votre Formulaire, nous allons déclaré des <strong>variables + implémentation</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">dans <strong>Public Partial Class</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">private string[] table_nom,table_url; //Tableaux de string</span></p><p><span style="font-family: 'Tahoma'">public String getName()</span></p><p><span style="font-family: 'Tahoma'"> { return textBox1.Text;}</span></p><p><span style="font-family: 'Tahoma'">public String[] getTable_nom()</span></p><p><span style="font-family: 'Tahoma'"> { return this.table_nom; }</span></p><p><span style="font-family: 'Tahoma'"> public String[] getTable_url()</span></p><p><span style="font-family: 'Tahoma'"> { return this.table_url; }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Maintenant, rendez-vous dans le Bouton "<strong>ADD</strong>" pour ajouter</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">if (text_url.Text != "" && text_nom.Text != "")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> liste_de_nom.Items.Add(text_nom.Text);</span></p><p><span style="font-family: 'Tahoma'"> liste_de_url.Items.Add(text_url.Text);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Maintenant dans le bouton "<strong>DEL</strong>" pour supprimer</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">if (liste_de_nom.Items.Count > 0)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> liste_de_nom.Items.RemoveAt(liste_de_nom.Items.Count - 1);</span></p><p><span style="font-family: 'Tahoma'"> liste_de_url.Items.RemoveAt(liste_de_url.Items.Count - 1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois ceci fait, vous allez <strong>réduire la Form,</strong> jusqu'à ce qu'on</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">ne voit plus le 2 éme groupBox pour l'ajout de Flux</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">et vous allez dans les paramètres du formulaire, vous chercher</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">"<strong>Locked"</strong> et vous mettez sur "<strong>true</strong>".</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Et <strong>FormBorderStyle</strong> en <strong>FixedDialog.</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Vous comprendrez pourquoi par la suite <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Votre Formulaire va ressemblé à ceci</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406839724-addcat.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Maintenant allez dans le bouton "<strong>OK</strong>"</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">table_nom = new String[liste_de_nom.Items.Count];</span></p><p><span style="font-family: 'Tahoma'"> table_url = new String[liste_de_nom.Items.Count];</span></p><p><span style="font-family: 'Tahoma'"> if (liste_de_url.Items.Count > 0)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> for (int i = 0; i < liste_de_url.Items.Count; i++)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> table_nom[i] = liste_de_nom.Items[i].ToString();</span></p><p><span style="font-family: 'Tahoma'"> table_url[i] = liste_de_url.Items[i].ToString();</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Votre Formulaire de création de catégorie est désormais terminé</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">C'est bien, mais rien ne nous indique quel événement doit ouvrir ce formulaire ?</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour faire simple, allez sur votre Bouton "Créer Catégorie" ou faite en un</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">pour ma part, ce bouton est dans mon toolStrip <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Le code est assez complexe mais cela reprend le système de Dialog</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">et d'écriture de fichier .XML (c'est pour ça qu'il est très important</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">de ne pas toucher au fichier .XML)</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">AddFlux new_categorie = new AddFlux();</span></p><p><span style="font-family: 'Tahoma'"> new_categorie.ShowDialog();</span></p><p><span style="font-family: 'Tahoma'"> if (new_categorie.DialogResult == System.Windows.Forms.DialogResult.OK)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on recupere les donnees</span></p><p><span style="font-family: 'Tahoma'"> string nom_dossier = new_categorie.getName();</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> if (nom_dossier != "")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> //AjouterDossier(this.nouveau_dossier.nom_nouveau_dossier);</span></p><p><span style="font-family: 'Tahoma'"> int nb_dossier = this.treeView1.GetNodeCount(false);</span></p><p><span style="font-family: 'Tahoma'"> bool trouver_nom_dossier = false;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on verifie qu'un autre dossier ne porte pas le meme nom</span></p><p><span style="font-family: 'Tahoma'"> for (int i = 0; i < nb_dossier && !trouver_nom_dossier; i++)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (this.treeView1.Nodes[i].Text == nom_dossier)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> trouver_nom_dossier = true;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> if (!trouver_nom_dossier)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> this.treeView1.Nodes.Add(nom_dossier);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlDocument xml = new XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // lecture du rss</span></p><p><span style="font-family: 'Tahoma'"> xml.Load("DEV.xml");</span></p><p><span style="font-family: 'Tahoma'"> //création de la balise "dossier"</span></p><p><span style="font-family: 'Tahoma'"> XmlElement balise = xml.CreateElement("categorie");</span></p><p><span style="font-family: 'Tahoma'"> balise.InnerText = "";</span></p><p><span style="font-family: 'Tahoma'"> // création de la balise "nom_dossier" a l'interrieur de dossier</span></p><p><span style="font-family: 'Tahoma'"> XmlElement balise2 = xml.CreateElement("name");</span></p><p><span style="font-family: 'Tahoma'"> balise2.InnerText = nom_dossier;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> balise.AppendChild(balise2);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> xml.DocumentElement.AppendChild(balise);</span></p><p><span style="font-family: 'Tahoma'"> xml.Save("DEV.xml");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show("La catégorie {" + nom_dossier + " }existe déjà", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p style="text-align: center"></p><p><span style="font-family: 'Tahoma'">[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[TAB=VisualStudio version C++ ou Visual C++] code[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[/TABS]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 18px"><strong>Après compilation du projet, voici le résultat</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 18px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406840965-adddossier.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">La sauvegarde du dossier est <strong>automatique </strong>puisque l'ont <strong>écrit</strong></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">dans le fichier .XML qui sera <strong>recharger</strong> a la prochaine utilisations</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845588-book119.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">Aj</span><span style="color: rgb(181, 98, 98)">ou</span><span style="color: rgb(185, 94, 94)">te</span><span style="color: rgb(190, 89, 89)">r d</span><span style="color: rgb(195, 85, 85)">es </span><span style="color: rgb(199, 81, 81)">fl</span><span style="color: rgb(204, 77, 77)">ux </span><span style="color: rgb(209, 72, 72)">pe</span><span style="color: rgb(213, 68, 68)">rs</span><span style="color: rgb(218, 64, 64)">on</span><span style="color: rgb(223, 60, 60)">ne</span><span style="color: rgb(227, 55, 55)">ls</span></span></span></strong></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"></span></span></strong></p><p><span style="font-family: 'Tahoma'">[TABS]</span></p><p><span style="font-family: 'Tahoma'">[TAB=VisualStudio version C# ou Visual C#]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Comme pour la création de dossier, nous allons recréer un formulaire Windows donc</span></p> <p style="text-align: center"><strong><strong><span style="font-family: 'Tahoma'">Projet > Ajouter un formulaire Windows</span></strong></strong></p> <p style="text-align: center"><strong><strong><span style="font-family: 'Tahoma'"></span></strong></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Nommer le comme vous voulez, ça a peu d'importance au finale</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour ma part, voici à quoi ressemble mon formulaire :</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406842882-addflu.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Vous pouvez voir que c'est similaire mais différent, puisque cette fois-ci</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">on choisit la <strong>catégorie cible </strong>ou le flux sera ajouté</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Comme tout à l'heure nous allons déclaré une <strong>nouvel instance</strong>, donc allez</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">dans <strong>Public Partial Class</strong> et déposer ce code :</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT]</span></p><p><span style="font-family: 'Tahoma'">[FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT]private Cflux local_flux;</span></p><p><span style="font-family: 'Tahoma'"> public Cflux Get_new_flux()</span></p><p><span style="font-family: 'Tahoma'"> { return local_flux; }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p></p><p></p><p></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Maintenant, allez dans l'événement <strong>Form_Load </strong>du Formulaire ou <strong>Double cliquez </strong>dessus <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT]</span></p><p><span style="font-family: 'Tahoma'">[FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT]categorie.Items.AddRange(local_flux.GetCategories_tab());//Combobox</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p></p><p></p><p></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Une fois ceci fait, allez dans le code du bouton nommer "<strong>Explore</strong>"</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">System.Xml.XmlDocument xml = new System.Xml.XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // lecture du Flux rss</span></p><p><span style="font-family: 'Tahoma'"> xml.Load(url.Text);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> System.Xml.XmlNodeList noeud = null;</span></p><p><span style="font-family: 'Tahoma'"> System.Xml.XmlNodeList noeud_chanel = null;</span></p><p><span style="font-family: 'Tahoma'"> noeud_chanel = xml.DocumentElement.GetElementsByTagName("channel");</span></p><p><span style="font-family: 'Tahoma'"> foreach (System.Xml.XmlNode xmlnod in noeud_chanel)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> string channel;</span></p><p><span style="font-family: 'Tahoma'"> channel = "Titre";</span></p><p><span style="font-family: 'Tahoma'"> foreach (System.Xml.XmlNode xmlnod2 in xmlnod.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (xmlnod2.LocalName == "title")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> channel = xmlnod2.InnerText;</span></p><p><span style="font-family: 'Tahoma'"> name.Text = channel;</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> noeud = xml.DocumentElement.GetElementsByTagName("item");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // pour chaque "item"</span></p><p><span style="font-family: 'Tahoma'"> </span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Erreur de chargement :" + url.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Puis dans le bouton "<strong>OK</strong>"</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">if (name.Text != "" && url.Text != "" && categorie.Text != "")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> local_flux.SetFlux_name(name.Text);</span></p><p><span style="font-family: 'Tahoma'"> local_flux.SetUrl(url.Text);</span></p><p><span style="font-family: 'Tahoma'"> local_flux.SetCategorie(categorie.Text);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on ferme la boite de dialogue</span></p><p><span style="font-family: 'Tahoma'"> this.Close();</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> else</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> //traduction</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show("Veuillez remplir les champs , "Erreur!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Votre formulaire est maintenant terminé, mais comme pour les catégories, il va falloir</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">qu'un bouton déclanche l'événement, pour ma part j'ai encore choisit un de mes bouton</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">de mon toolStrip</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour commencer nous devons déclarer une utilisations d'espace de nom</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT]</span></p><p><span style="font-family: 'Tahoma'">[FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT][FONT=Tahoma]</span></p><p><span style="font-family: 'Tahoma'">[LEFT]using "lenomduprojet";</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p></p><p></p><p></p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Ensuite allez sur votre Formulaire Principale et retourner dans P<strong>ublic</strong></span></p> <p style="text-align: center"><strong><span style="font-family: 'Tahoma'">Partial Class</span></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Il faut déclaré une autre instance</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">D'ailleurs, supprimer le "<strong>Public</strong>" de "<strong>Public partial Class</strong>" sinon des problème</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">d'accéssibilité vont apparître</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">Cflux new_flux = new Cflux("", "", "", null);</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Ensuite en <strong>dessous</strong> vous devez avoir ceci : public class</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">public AjouterFlux(Cflux new_flux)//Cflux new _flux est a ajouter</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> InitializeComponent();</span></p><p><span style="font-family: 'Tahoma'">local_flux = new Cflux(new_flux.GetCategorie(), new_flux.GetFlux_name(), new_flux.GetUrl(), new_flux.GetCategories_tab()); //Ceci est a ajouter aussi</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'">Et pour finir dans votre <strong>bouton</strong> pour ajouter un flux</span></p><p><span style="font-family: 'Tahoma'">[CODE]</span></p><p><span style="font-family: 'Tahoma'">this.new_flux.SetFlux_name("");</span></p><p><span style="font-family: 'Tahoma'"> this.new_flux.SetUrl("");</span></p><p><span style="font-family: 'Tahoma'"> this.new_flux.SetCategorie("");</span></p><p><span style="font-family: 'Tahoma'"> // on met tous les nom de dossier dans le tableau</span></p><p><span style="font-family: 'Tahoma'"> string[] tableau = new String[this.treeView1.GetNodeCount(false)];</span></p><p><span style="font-family: 'Tahoma'"> for (int i = 0; i < this.treeView1.GetNodeCount(false); i++)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> tableau[i] = this.treeView1.Nodes[i].Text;</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> this.new_flux.SetCategories_tab(tableau);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> AjouterFlux new_f = new AjouterFlux(this.new_flux);</span></p><p><span style="font-family: 'Tahoma'"> new_f.ShowDialog();</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on recupere les donnees</span></p><p><span style="font-family: 'Tahoma'"> this.new_flux = new_f.Get_new_flux();</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> if (this.new_flux.GetFlux_name() != "" && this.new_flux.GetUrl() != "" && this.new_flux.GetCategorie() != "")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> //création d'un document XML</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlDocument fichier = new XmlDocument();</span></p><p><span style="font-family: 'Tahoma'"> try</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> fichier.Load("DEV.xml");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // annalyse des donnees du fichier</span></p><p><span style="font-family: 'Tahoma'"> XmlNodeList noeud_dossier = null;</span></p><p><span style="font-family: 'Tahoma'"> noeud_dossier = fichier.DocumentElement.GetElementsByTagName("categorie");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise de type "dossier"</span></p><p><span style="font-family: 'Tahoma'"> string nom_dossier_courant = "";</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud1 in noeud_dossier)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // pour chaque balise fille de "dossier"</span></p><p><span style="font-family: 'Tahoma'"> foreach (XmlNode noeud2 in noeud1.ChildNodes)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> if (noeud2.LocalName == "name")</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> // on ecrit le nom du dossier</span></p><p><span style="font-family: 'Tahoma'"> nom_dossier_courant = noeud2.InnerXml;</span></p><p><span style="font-family: 'Tahoma'"> if (nom_dossier_courant == this.new_flux.GetCategorie())</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on ajoute le flux dans le treelistview</span></p><p><span style="font-family: 'Tahoma'"> F.AddChannel(this.new_flux.GetFlux_name(), this.new_flux.GetCategorie(), treeView1);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on prepare ce que l'on va ecrire</span></p><p><span style="font-family: 'Tahoma'"> XmlElement balise_flux = fichier.CreateElement("flux");</span></p><p><span style="font-family: 'Tahoma'"> balise_flux.InnerText = "";</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlElement balise_nom_flux = fichier.CreateElement("flux_name");</span></p><p><span style="font-family: 'Tahoma'"> balise_nom_flux.InnerText = this.new_flux.GetFlux_name();</span></p><p><span style="font-family: 'Tahoma'"> balise_flux.AppendChild(balise_nom_flux);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> XmlElement balise_url_flux = fichier.CreateElement("url");</span></p><p><span style="font-family: 'Tahoma'"> balise_url_flux.InnerText = this.new_flux.GetUrl();</span></p><p><span style="font-family: 'Tahoma'"> balise_flux.AppendChild(balise_url_flux);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> // on ajoute tout dans le noeud1</span></p><p><span style="font-family: 'Tahoma'"> noeud1.AppendChild(balise_flux);</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> fichier.Save("DEV.xml");</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"> catch (Exception ex)</span></p><p><span style="font-family: 'Tahoma'"> {</span></p><p><span style="font-family: 'Tahoma'"> MessageBox.Show(ex.Message, "Erreur du chargement " + "XML_data_flux.xml", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);</span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'"> }</span></p><p><span style="font-family: 'Tahoma'">[/CODE]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p><span style="font-family: 'Tahoma'">[/TAB]</span></p><p><span style="font-family: 'Tahoma'">{TAB=VisualStudio version C++ ou Visual C++] Ca arrive <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" />[/TAB]</span></p><p><span style="font-family: 'Tahoma'">[/TABS]</span></p><p><span style="font-family: 'Tahoma'"></span></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 18px"><strong>Après avoir compiler le programme et fait un test, voici ce que ça donne</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 18px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845000-addflux.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://image.noelshack.com/fichiers/2014/31/1406845637-youtube30.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p><p><strong><span style="font-family: 'Tahoma'"><span style="font-size: 22px"><span style="color: rgb(176, 102, 102)">Co</span><span style="color: rgb(180, 99, 99)">nv</span><span style="color: rgb(183, 95, 95)">er</span><span style="color: rgb(187, 92, 92)">tir </span><span style="color: rgb(192, 87, 87)">un </span><span style="color: rgb(196, 84, 84)">lie</span><span style="color: rgb(201, 79, 79)">n Y</span><span style="color: rgb(205, 76, 76)">ou</span><span style="color: rgb(209, 72, 72)">Tub</span><span style="color: rgb(214, 67, 67)">e e</span><span style="color: rgb(218, 64, 64)">n fl</span><span style="color: rgb(223, 59, 59)">ux </span><span style="color: rgb(227, 56, 56)">RSS</span></span></span></strong></p><p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Je vais vous montrer pour l'utilisations YouTube, la méthode à suivre</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">pour convertir les lien YouTube en flux RSS</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Je montre juste la méthode, à vous de transformer le code pour</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">que l'URL soit directement traduit <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">C'est tout bêtes en faite, il y'as un URL de base pour les FLUX qui est</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><strong><a href="http://gdata.youtube.com/feeds/base/users/ID-USER/uploads?alt=rss" target="_blank"><span style="font-family: 'Tahoma'">http://gdata.youtube.com/feeds/base/users/ID-USER/uploads?alt=rss</span></a></strong></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Pour suivre une chaine YT, il faudra juste allez sur une chaîne, récuperer l'ID en fin d'URL</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">dans l'exemple <strong>UCeohvTWYjZDOubRaSIlpBCQ</strong></span></p> <p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Le changer dans le lien et le tour est joué <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><a href="http://www.pcastuces.com/" target="_blank"><span style="font-family: 'Tahoma'">Source pour la conversion de l'URL</span></a></p> <p style="text-align: center"></p> <p style="text-align: center"></p> <p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><img src="http://www.elektromag-joest.com/Images/separator_line.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Voilà, ce petit tutoriel est maintenant terminé, merci à ceux qui ont eu le courage de lire l'intégralité</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">je vous comprend c'est long, même moi j'ai mis 5H pour la rédactions :rofl:</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">D'ailleurs, la partie code C++ arrive sous peu <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Enfin bon, comme d'habitude, si vous avez des questions envoie moi en message privée <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">(NE DEMANDER PAS "AIDE MOI SKYPE STP WSH")</span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'">Sur ce, bonne journée/soirée, à la prochaine <img src="/data/assets/smilies/bye.gif" class="smilie" loading="lazy" alt=":bye:" title="Bye :bye:" data-shortname=":bye:" /></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><a href="http://reality-gaming.fr/teams/good-topic-premium.43/" target="_blank"><img src="http://image.noelshack.com/fichiers/2014/28/1404831415-gtp-gif.gif" alt="" class="fr-fic fr-dii fr-draggable " style="" /></a></span></p></blockquote><p></p>
[QUOTE="delete221380, post: 3803234"] [CENTER][FONT=Tahoma][IMG]http://image.noelshack.com/fichiers/2014/31/1406845428-social23.png[/IMG] Hello les premium, c'est [I]DEVR0 GTP[/I], aujourd'hui je vous propose un petit tutoriel assez sympa qui va consister à vous montrer comment suivre une Chaîne YouTube avec les flux RSS dans une application Windows (C#.Net et C++) Le tutoriel est assez simple à réaliser, je vais vous montrer l'exemple pour suivre UNE chaîne en particulier, vous pouvez vous même améliorer le système pour pouvoir suivre plusieurs Chaîne en même temps. Je rappel aussi que c'est une substitution a la page d'abonnement YouTube, mais peut être utiles si on à pas envie de ré-ouvrir son navigateur et si on change de compte Google (pas besoin de rajouter toutes les chaînes) Je vous montre un exemple basique, sachez que vous pouvez créer un système bien plus complexe ;) Avant de commencé je tient à précisé que ce tutoriel s'adresse quand même a des personnes ayant des bases solides dans ce domaines ;) [IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [FONT=Tahoma][SIZE=6][B][COLOR=rgb(176, 102, 102)]So[/COLOR][COLOR=rgb(182, 96, 96)]mm[/COLOR][COLOR=rgb(188, 91, 91)]a[/COLOR][COLOR=rgb(192, 88, 88)]ir[/COLOR][COLOR=rgb(198, 82, 82)]e d[/COLOR][COLOR=rgb(204, 77, 77)]u t[/COLOR][COLOR=rgb(210, 71, 71)]ut[/COLOR][COLOR=rgb(216, 65, 65)]o[/COLOR][COLOR=rgb(220, 62, 62)]ri[/COLOR][COLOR=rgb(226, 57, 57)]el[/COLOR][/B][/SIZE][/FONT] [LIST] [*][FONT=Tahoma]Création du projet, ajout des composants[/FONT] [*][FONT=Tahoma]Ajouter des flux important du Web[/FONT] [*][FONT=Tahoma]Ajouter des catégorie de flux[/FONT] [*][FONT=Tahoma]Ajouter des flux personnels[/FONT] [/LIST] [CENTER][/CENTER] [CENTER][FONT=Tahoma][IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [FONT=Tahoma] [SIZE=6][B][COLOR=rgb(176, 102, 102)]Ce q[/COLOR][COLOR=rgb(180, 98, 98)]u'i[/COLOR][COLOR=rgb(185, 94, 94)]l vo[/COLOR][COLOR=rgb(189, 90, 90)]us f[/COLOR][COLOR=rgb(193, 86, 86)]aud[/COLOR][COLOR=rgb(198, 82, 82)]ra p[/COLOR][COLOR=rgb(202, 78, 78)]our [/COLOR][COLOR=rgb(206, 75, 75)]réa[/COLOR][COLOR=rgb(210, 71, 71)]lis[/COLOR][COLOR=rgb(215, 67, 67)]er c[/COLOR][COLOR=rgb(219, 63, 63)]e tu[/COLOR][COLOR=rgb(223, 59, 59)]tor[/COLOR][COLOR=rgb(228, 55, 55)]iel[/COLOR][/B][/SIZE][/FONT] [LIST] [*][FONT=Tahoma]Visual Studio ou Visual C# ou Visual C++[/FONT] [*][FONT=Tahoma]Quelques connaissances quand même[/FONT] [*][FONT=Tahoma]Un cerveau ? :troll: U MAD[/FONT] [*][FONT=Tahoma][URL='https://www.mediafire.com/?f0zk3x1f8bfx1qw']Ma bibliothèque RSSReader[/URL][/FONT] [*][URL='https://www.mediafire.com/?au0gldjlj6xjble'][FONT=Tahoma]Mon fichier .XML[/FONT][/URL] [/LIST] [FONT=Tahoma] [/FONT] [CENTER][FONT=Tahoma][IMG]http://image.noelshack.com/fichiers/2014/31/1406845428-machine2.png[/IMG] [IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG][/FONT][/CENTER] [FONT=Tahoma] [B][SIZE=6][COLOR=rgb(176, 102, 102)]Cré[/COLOR][COLOR=rgb(181, 98, 98)]ati[/COLOR][COLOR=rgb(185, 94, 94)]ons [/COLOR][COLOR=rgb(190, 90, 90)]du l[/COLOR][COLOR=rgb(194, 85, 85)]ect[/COLOR][COLOR=rgb(199, 81, 81)]eur[/COLOR][COLOR=rgb(203, 77, 77)], aj[/COLOR][COLOR=rgb(208, 73, 73)]out [/COLOR][COLOR=rgb(212, 69, 69)]des [/COLOR][COLOR=rgb(217, 65, 65)]com[/COLOR][COLOR=rgb(221, 61, 61)]pos[/COLOR][COLOR=rgb(226, 57, 57)]ant[/COLOR][COLOR=rgb(230, 52, 52)]s[/COLOR][/SIZE][/B] [/FONT] [CENTER][FONT=Tahoma][TABS] [TAB=Visual Studio, Visual C#] Comme à votre habitude, vous créer un nouveau Projet C# Vous allez donc arriver sur un Formulaire Windows Vide, jusque là tout est bon Une fois sur votre formulaire il va nous falloir plusieurs composant qui sont - Une listView - Un TreeView - Un WebBrowser - 3 toolStrip - Un StatusStrip - Un Panel - Un ImageList (pour obtenir les icônes dans la listView) - Un contextMenuStrip (parce qu'on est des génie :troll: ) Une fois ceci fait, votre Formulaire Windows devrais ressemblé à ceci : [IMG]http://image.noelshack.com/fichiers/2014/31/1406833536-tuto.png[/IMG] L'ajout des composants sur notre Form est terminer [/TAB] [TAB=Visual Studio, Visual C++] [/FONT] [URL='http://reality-gaming.fr/threads/c-creer-une-winform-vc.328793/'][FONT=Tahoma]Un tutoriel complet expliquant comment créer un Formulaire Windows VC++ à été fait ici[/FONT][/URL] [FONT=Tahoma] Pour l'ajout des composants, regarder dans le tableau C# c'est identique (seul le code changera) [/TAB] [/TABS] [IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [B][FONT=Tahoma][SIZE=6][COLOR=rgb(176, 102, 102)]Le c[/COLOR][COLOR=rgb(180, 98, 98)]ode [/COLOR][COLOR=rgb(185, 94, 94)]de l[/COLOR][COLOR=rgb(189, 90, 90)]'ap[/COLOR][COLOR=rgb(193, 86, 86)]pli[/COLOR][COLOR=rgb(198, 82, 82)]cat[/COLOR][COLOR=rgb(202, 78, 78)]ion [/COLOR][COLOR=rgb(206, 75, 75)]pou[/COLOR][COLOR=rgb(210, 71, 71)]r ob[/COLOR][COLOR=rgb(215, 67, 67)]ten[/COLOR][COLOR=rgb(219, 63, 63)]ir l[/COLOR][COLOR=rgb(223, 59, 59)]es f[/COLOR][COLOR=rgb(228, 55, 55)]lux[/COLOR] [/SIZE][/FONT][/B] [FONT=Tahoma] [TABS] [TAB=Visual Studio version C# ou Visual C#] [/FONT] [CENTER][FONT=Tahoma]Ajouter une utilisation [B]d'espace de nom[/B][/FONT][/CENTER] [FONT=Tahoma] [CODE]using System.Xml; using RSSReader;[/CODE] [/FONT] [CENTER][FONT=Tahoma]Ajouter le .dll [B]RSSReader[/B] que j'ai créer tout spécialement pour vous, une fois ici, on va déclaré une [B]nouvelle instance[/B], donc allez dans[/FONT][/CENTER] [FONT=Tahoma] [CODE] public partial class Form1 : Form { RSSFlux F; } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Une fois ici, il va falloir [B]créer une fonction[/B] pour la lecture RSS (dépendante de la bibliothèque)[/FONT][/CENTER] [FONT=Tahoma] [CODE] void Read_Rss(string flux) { //Effacer l'ancienne Affichage tout d'abord listView_flux1.Clear();//Nom de votre listView this.listView_flux1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1 });//Nom de votre ListView églament //Analyse de la Flux Rss "Document Xml" XmlDocument xml = new XmlDocument(); try { // lecture du Flux rss xml.Load(flux); XmlNodeList noeud = null; XmlNodeList noeud_chanel = null; noeud_chanel = xml.DocumentElement.GetElementsByTagName("channel"); foreach (XmlNode xmlnod in noeud_chanel) { string channel; channel = "Titre"; foreach (XmlNode xmlnod2 in xmlnod.ChildNodes) { if (xmlnod2.LocalName == "title") { channel = xmlnod2.InnerText; this.columnHeader1.Text = channel; } } } noeud = xml.DocumentElement.GetElementsByTagName("item"); // pour chaque "item" bool premier = true; foreach (XmlNode node in noeud) { string title, description, link, date; title = "Sans Titre"; description = "Sans Description"; link = "Aucun Lien"; date = "Inconnu"; //Parcourir tous les Items // pour chaque balise fille de "item" foreach (XmlNode noeud2 in node.ChildNodes) { if (noeud2.LocalName == "link") { link = noeud2.InnerText; } else if (noeud2.LocalName == "title") { title = noeud2.InnerText; //Ajouter le titre dans la liste Box listView_flux1.Items.Add(title,4); //columnHeader2.ListView.Items.Add(title); } //Date de publication else if (noeud2.LocalName == "pubDate") { date = noeud2.InnerText; } else if (noeud2.LocalName == "description") { if (premier == true) { description = noeud2.InnerText; //richTextBox_flux.Text ="TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description; //premier=false; } } } if (premier == true) { //richTextBox_flux.Text = "TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description; premier = false; webBrowser1.DocumentText = "<html><head><h1><A href=" + link + ">" + title + "</A></h1><P><STRONG><FONT face=Bell MT>Date de publication: " + date + "</FONT></STRONG></P><p>" + description + "</p><body></body></head></html>"; } Look.Text = "Looking into ["+flux_encour.GetCategorie()+"] Name:["+flux_encour.GetFlux_name()+"] Url:["+flux_encour.GetUrl()+"]";//Look est le nom du label de mon statusStrip } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreyr de chargement du flux " + flux,MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Vous devriez avoir des erreurs pour [B]flux_encour [/B]normalement, c'est normal on va devoir créer une classe ;) donc pour ce faire, faite [B]Projet > Ajouter nouvel élément[/B] [B]> Classe[/B] Une fois dans l'éditeur de classe, vous devrez ajouter ce code :[/FONT][/CENTER] [FONT=Tahoma] [CODE] public string categorie; public string flux_name; public string url; public string[] tab_categorie_names; public Cflux() { } public Cflux(string c_categorie, string c_flux_name, string c_url) { categorie = c_categorie; flux_name = c_flux_name; url = c_url; } public Cflux(string c_categorie, string c_flux_name, string c_url, string[] c_tab_categorie_names) { categorie = c_categorie; flux_name = c_flux_name; url = c_url; tab_categorie_names = c_tab_categorie_names; } //Getteurs et Setteurs public string GetCategorie() { return this.categorie; } public void SetCategorie(string c_categorie) { categorie = c_categorie; } public string GetFlux_name() { return this.flux_name; } public void SetFlux_name(string c_flux_name) { flux_name = c_flux_name; } public string GetUrl() { return this.url; } public void SetUrl(string c_url) { url = c_url; } public string[] GetCategories_tab() { return this.tab_categorie_names; } public void SetCategories_tab(string[] c_tab_categorie_names) { tab_categorie_names = c_tab_categorie_names; } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Une fois la classe créer, on va devoir déclaré une [B]nouvel instance[/B] comme tout à l'heure dans Public Partial Class Form : Form[/FONT][/CENTER] [FONT=Tahoma][CODE] { Cflux flux_encour = new Cflux("","",""); } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Déjà là nous avons fait le plus compliquer je pense ;) Passons maintenant au code du bouton qui va récupéré le flux en fonction de l'URL [B]Double cliquez sur votre bouton[/B] [/FONT][/CENTER] [FONT=Tahoma][CODE] flux_encour = new Cflux("Temporaire", "Temporaire", toolStripTextBox1.Text);//la textBox de l'URL Read_Rss(toolStripTextBox1.Text);//idem [/CODE][/FONT] [CENTER][FONT=Tahoma] Maintenant on va faire en sorte que lorsqu'on choisira un autre flux la lecture de celui-ci ce fera automatiquement dans le WebBrowser en-dessous Pour cela, allez dans les [B]événements[/B] de la ListView et chercher l'événement ([B]Click[/B]) Une fois dans l'événement [B]_Click[/B] générer par le concepteur vous allez pouvoir insérer le [B]code[/B] suivant [/FONT][/CENTER] [FONT=Tahoma][CODE] string titre_flux = listView_flux1.SelectedItems[0].Text; listView_flux1.SelectedItems[0].ImageIndex = 3; XmlDocument xml = new XmlDocument(); try { // lecture du rss xml.Load(flux_encour.GetUrl()); // xml.Load("c:/rss.xml"); XmlNodeList noeud = null; noeud = xml.DocumentElement.GetElementsByTagName("item"); foreach (XmlNode node in noeud) { string title, description, link, date; title = "Sans Titre"; description = "Sans Description"; link = "Aucun Lien"; date = "Inconnu"; //bool trouver_description = false; bool trouver_titre = false; // pour chaque "item" // pour chaque balise fille de "item" foreach (XmlNode noeud2 in node.ChildNodes) { if (noeud2.LocalName == "title") { title = noeud2.InnerText; if (title == titre_flux) { trouver_titre = true; } else { trouver_titre = false; } } else if (noeud2.LocalName == "link") { if (trouver_titre == true) { link = noeud2.InnerText; } } //Date de publication else if (noeud2.LocalName == "pubDate") { if (trouver_titre == true) { date = noeud2.InnerText; } } else if (noeud2.LocalName == "description") { //trouver_description = true; if (trouver_titre == true) { description = noeud2.InnerText; //richTextBox_flux.Text ="TITRE : " + title + "\n" + "LIEN : " + link + "\n\n\n" + description; } } } if (trouver_titre == true) { webBrowser1.DocumentText = "<html><head><h1><A href=" + link + ">" + title + "</A></h1><P><STRONG><FONT face=Bell MT>Date de publication: " + date + "</FONT></STRONG></P><p>" + description + "</p><body></body></head></html>"; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur pendant le chargeent :" + flux_encour.GetUrl(), MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } [/CODE] [/TAB] [TAB=Visual Studio version C++ ou Visual C++] La version C++ arrive ;) [/TAB] [/TABS][/FONT] [CENTER][FONT=Tahoma] A présent passons au test, voir si on peut obtenir la liste des flux d'une personne sur YouTube [IMG]http://image.noelshack.com/fichiers/2014/31/1406887715-sousou.png[/IMG] (Au passage : n'oubliez pas d'allez dans les paramètre ListView et de mètre l'ImageList associé) Vous pouvez constater que l'ont obtient la liste des vidéo publier par [USER=23738]@Sousou[/USER] et en dessous la dernière vidéo publier en date J'expliquerais comment transformer le lien d'une chaîne YouTube en lien RSS par la suite, pour le faire de manière automatisé. La création du lecteur RSS en lui même touche à sa fin, nous allons maintenant voir comment sauvegarder les différent Flux pour ne pas avoir à rechercher à chaque fois et aussi comment afficher les flux connu mondiaux de base.[/FONT][/CENTER] [FONT=Tahoma] [/FONT] [CENTER][FONT=Tahoma][IMG]http://image.noelshack.com/fichiers/2014/31/1406845428-dark.png[/IMG] [/FONT][/CENTER] [CENTER][FONT=Tahoma][IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [B][FONT=Tahoma][SIZE=6][COLOR=rgb(176, 102, 102)]A[/COLOR][COLOR=rgb(201, 80, 80)]j[/COLOR][COLOR=rgb(205, 76, 76)]out [/COLOR][COLOR=rgb(209, 72, 72)]de f[/COLOR][COLOR=rgb(213, 68, 68)]lux [/COLOR][COLOR=rgb(217, 65, 65)]important[/COLOR][COLOR=rgb(221, 61, 61)] d[/COLOR][COLOR=rgb(225, 57, 57)]u We[/COLOR][COLOR=rgb(229, 53, 53)]b.[/COLOR][/SIZE][/FONT][/B] [FONT=Tahoma] [/FONT] [CENTER][FONT=Tahoma]Pour ce faire vous allez avoie besoin du fichier .[B]xml [/B]fournit au dessus. Pour l'utiliser, étant donner qu'il dépend de ma bibliothèque, j'ai fait en sorte qu'il soit importer depuis le dossier du projet ou d'installation Donc vous allez devoir allez dans [B]Mes documents > Visual Studio (version) > Project[/B][/FONT] [B][FONT=Tahoma]> "Nom de votre projet" > bin > Debug > Laisser le fichier DEV.xml ici [SIZE=6][COLOR=rgb(255, 0, 0)]/!\ NE RENOMMER PAS LE FICHIER .XML /!\[/COLOR][/SIZE][/FONT][/B] [FONT=Tahoma] [IMG]http://image.noelshack.com/fichiers/2014/31/1406837608-flux.png[/IMG][/FONT][/CENTER] [FONT=Tahoma] [TABS] [TAB=Visual Studio version C# ou Visual C#] [/FONT] [CENTER][FONT=Tahoma]Une fois le fichier .XML ajouter, vous allez devoir allez dans l'évenement Form_Load de votre application[/FONT][/CENTER] [FONT=Tahoma] [CODE] F = new RSSFlux(); F.Load_Flux_Data("./DEV.xml", this.treeView1, imageList1); //Toujours pensez a linké par la bonne imageList pour obtenir vos icônes[/CODE] [/FONT] [CENTER][FONT=Tahoma]Une fois ceci fait vous pouvez lancer l'application, si vous avez bien ajouter le fichier .xml aucune erreur ne va apparaître, sinon une erreur surviendra mais vous allez pouvoir continuer à utiliser l'application, c'est une erreur mineur donc ;) [/FONT] [B][FONT=Tahoma][SIZE=5]Si vous avez tout bien fait correctement vous allez obtenir ceci (j'ai utilisé le RSS :RG:)[/SIZE][/FONT][/B] [FONT=Tahoma] [IMG]http://image.noelshack.com/fichiers/2014/31/1406838477-rg.png[/IMG] (je peut voir les dernier sujet poster, c'est pratique :espion: ) La je vous ai montrer comment afficher les dossier dans le TreeView, mais je ne vous ai pas montrer comment avoir le flux dépendant de chaque dossier Pour ce faire, c'est très simple, vous devez allez dans l'événement [B]DoubleClick[/B] de la TreeView et y inséré le code suivant. [/FONT][/CENTER] [FONT=Tahoma][CODE] // si ce n'est pas un dossier if (treeView1.SelectedNode.Parent != null) { //richTextBox_flux.Text = treeView_flux.SelectedNode.Text + "\n" + treeView_flux.SelectedNode.Parent.Text; string flux = treeView1.SelectedNode.Text; string dossier = treeView1.SelectedNode.Parent.Text; //string url_flux = ""; // on change le pointeur de la sourie //Cursor pointeur_normal = Cursor.Current; //this.Cursor = Cursors.WaitCursor; //création d'un document XML XmlDocument fichier = new XmlDocument(); try { fichier.Load("DEV.xml"); // annalyse des donnees du fichier XmlNodeList noeud_dossier = null; noeud_dossier = fichier.DocumentElement.GetElementsByTagName("categorie"); // pour chaque balise de type "dossier" string nom_dossier = ""; string nom_flux = ""; string nom_url = ""; bool bon_dossier = false; bool bon_flux = false; foreach (XmlNode noeud1 in noeud_dossier) { // pour chaque balise fille de "dossier" bon_dossier = false; foreach (XmlNode noeud2 in noeud1.ChildNodes) { if (noeud2.LocalName == "name") { // on ecrit le nom du dossier nom_dossier = noeud2.InnerXml; if (nom_dossier == dossier) { bon_dossier = true; } else { bon_dossier = false; } } //pour chaque balise fille de "flux" else { if (bon_dossier == true) { if (noeud2.LocalName == "flux") { foreach (XmlNode noeud3 in noeud2.ChildNodes) { if (noeud3.LocalName == "flux_name") { nom_flux = noeud3.InnerXml; if (nom_flux == flux) { bon_flux = true; } else { bon_flux = false; } } else { if (noeud3.LocalName == "url") { if (bon_dossier == true && bon_flux == true) { nom_url = noeud3.InnerXml; flux_encour = new Cflux(nom_dossier, nom_flux, nom_url); } } } } } } } } } Read_Rss(flux_encour.GetUrl()); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error while loading data base " + "DEV.xml", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } //on remet le pointeur de la sourie normal //this.Cursor = pointeur_normal; [/CODE] [/FONT] [CENTER][FONT=Tahoma]Déjà là le lecteur de Flux RSS est complet, il nous manque plus que la parti "Ajouter dossier" et "Ajouter flux" en sauvegarde, pour ne plus avoir à rentré le lien à chaque utilisations C'est un peu là que les choses se complique, même si j'ai déjà perdu 50% de mon auditoire au niveau des pré-requis :troll: Nous allons ajouter un nouveau formulaire pour la création de dossier et de flux[/FONT][/CENTER] [FONT=Tahoma] [/TAB] [TAB=Visual Studio version C++ ou Visual C++] Ca arrive ;)[/TAB] [/TABS] [/FONT] [CENTER][FONT=Tahoma][IMG]http://image.noelshack.com/fichiers/2014/31/1406845562-open131.png[/IMG] [/FONT][/CENTER] [CENTER][FONT=Tahoma][IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [B][FONT=Tahoma][SIZE=6][COLOR=rgb(176, 102, 102)]Aj[/COLOR][COLOR=rgb(181, 98, 98)]ou[/COLOR][COLOR=rgb(186, 93, 93)]te[/COLOR][COLOR=rgb(191, 89, 89)]r d[/COLOR][COLOR=rgb(195, 84, 84)]es [/COLOR][COLOR=rgb(200, 80, 80)]do[/COLOR][COLOR=rgb(205, 75, 75)]ss[/COLOR][COLOR=rgb(210, 71, 71)]ie[/COLOR][COLOR=rgb(215, 67, 67)]rs[/COLOR][/SIZE][/FONT][/B] [FONT=Tahoma] [TABS] [TAB=VisualStudio version C# ou Visual C#] [/FONT] [CENTER][FONT=Tahoma]Nous allons devoir créer un nouveau formulaire Windows, pour ce faire vous devez faire[/FONT] [B][FONT=Tahoma]Projet > Ajouter un Formulaire Windows[/FONT][/B] [FONT=Tahoma]Nommer le comme vous voulez, ça a peu d'importance au finale Commençons déjà par l'ajout de nouvelle catégorie On ne va pas QUE ajouter des flux, ça serais le désordre Pour ma part, voici à quoi ressemble mon formulaire : [IMG]http://image.noelshack.com/fichiers/2014/31/1406840011-addcat.png[/IMG] Allez dans le code de votre Formulaire, nous allons déclaré des [B]variables + implémentation[/B] dans [B]Public Partial Class[/B] [/FONT][/CENTER] [FONT=Tahoma][CODE] private string[] table_nom,table_url; //Tableaux de string public String getName() { return textBox1.Text;} public String[] getTable_nom() { return this.table_nom; } public String[] getTable_url() { return this.table_url; } [/CODE] [/FONT] [CENTER][FONT=Tahoma] Maintenant, rendez-vous dans le Bouton "[B]ADD[/B]" pour ajouter [/FONT][/CENTER] [FONT=Tahoma][CODE] if (text_url.Text != "" && text_nom.Text != "") { liste_de_nom.Items.Add(text_nom.Text); liste_de_url.Items.Add(text_url.Text); } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Maintenant dans le bouton "[B]DEL[/B]" pour supprimer [/FONT][/CENTER] [FONT=Tahoma][CODE] if (liste_de_nom.Items.Count > 0) { liste_de_nom.Items.RemoveAt(liste_de_nom.Items.Count - 1); liste_de_url.Items.RemoveAt(liste_de_url.Items.Count - 1); } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Une fois ceci fait, vous allez [B]réduire la Form,[/B] jusqu'à ce qu'on ne voit plus le 2 éme groupBox pour l'ajout de Flux et vous allez dans les paramètres du formulaire, vous chercher "[B]Locked"[/B] et vous mettez sur "[B]true[/B]". Et [B]FormBorderStyle[/B] en [B]FixedDialog.[/B] Vous comprendrez pourquoi par la suite ;) Votre Formulaire va ressemblé à ceci [IMG]http://image.noelshack.com/fichiers/2014/31/1406839724-addcat.png[/IMG] Maintenant allez dans le bouton "[B]OK[/B]" [/FONT][/CENTER] [FONT=Tahoma][CODE] table_nom = new String[liste_de_nom.Items.Count]; table_url = new String[liste_de_nom.Items.Count]; if (liste_de_url.Items.Count > 0) { for (int i = 0; i < liste_de_url.Items.Count; i++) { table_nom[i] = liste_de_nom.Items[i].ToString(); table_url[i] = liste_de_url.Items[i].ToString(); } } [/CODE][/FONT] [CENTER][FONT=Tahoma] Votre Formulaire de création de catégorie est désormais terminé C'est bien, mais rien ne nous indique quel événement doit ouvrir ce formulaire ? Pour faire simple, allez sur votre Bouton "Créer Catégorie" ou faite en un pour ma part, ce bouton est dans mon toolStrip ;) Le code est assez complexe mais cela reprend le système de Dialog et d'écriture de fichier .XML (c'est pour ça qu'il est très important de ne pas toucher au fichier .XML) [/FONT][/CENTER] [FONT=Tahoma][CODE] AddFlux new_categorie = new AddFlux(); new_categorie.ShowDialog(); if (new_categorie.DialogResult == System.Windows.Forms.DialogResult.OK) { // on recupere les donnees string nom_dossier = new_categorie.getName(); if (nom_dossier != "") { //AjouterDossier(this.nouveau_dossier.nom_nouveau_dossier); int nb_dossier = this.treeView1.GetNodeCount(false); bool trouver_nom_dossier = false; // on verifie qu'un autre dossier ne porte pas le meme nom for (int i = 0; i < nb_dossier && !trouver_nom_dossier; i++) { if (this.treeView1.Nodes[i].Text == nom_dossier) { trouver_nom_dossier = true; } } if (!trouver_nom_dossier) { this.treeView1.Nodes.Add(nom_dossier); XmlDocument xml = new XmlDocument(); try { // lecture du rss xml.Load("DEV.xml"); //création de la balise "dossier" XmlElement balise = xml.CreateElement("categorie"); balise.InnerText = ""; // création de la balise "nom_dossier" a l'interrieur de dossier XmlElement balise2 = xml.CreateElement("name"); balise2.InnerText = nom_dossier; balise.AppendChild(balise2); xml.DocumentElement.AppendChild(balise); xml.Save("DEV.xml"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } else { MessageBox.Show("La catégorie {" + nom_dossier + " }existe déjà", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } } [/CODE][/FONT] [CENTER][/CENTER] [FONT=Tahoma][/TAB] [TAB=VisualStudio version C++ ou Visual C++] code[/TAB] [/TABS] [/FONT] [CENTER][FONT=Tahoma][SIZE=5][B]Après compilation du projet, voici le résultat[/B] [/SIZE] [IMG]http://image.noelshack.com/fichiers/2014/31/1406840965-adddossier.png[/IMG] La sauvegarde du dossier est [B]automatique [/B]puisque l'ont [B]écrit[/B] dans le fichier .XML qui sera [B]recharger[/B] a la prochaine utilisations [IMG]http://image.noelshack.com/fichiers/2014/31/1406845588-book119.png[/IMG] [IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [B][FONT=Tahoma][SIZE=6][COLOR=rgb(176, 102, 102)]Aj[/COLOR][COLOR=rgb(181, 98, 98)]ou[/COLOR][COLOR=rgb(185, 94, 94)]te[/COLOR][COLOR=rgb(190, 89, 89)]r d[/COLOR][COLOR=rgb(195, 85, 85)]es [/COLOR][COLOR=rgb(199, 81, 81)]fl[/COLOR][COLOR=rgb(204, 77, 77)]ux [/COLOR][COLOR=rgb(209, 72, 72)]pe[/COLOR][COLOR=rgb(213, 68, 68)]rs[/COLOR][COLOR=rgb(218, 64, 64)]on[/COLOR][COLOR=rgb(223, 60, 60)]ne[/COLOR][COLOR=rgb(227, 55, 55)]ls[/COLOR] [/SIZE][/FONT][/B] [FONT=Tahoma][TABS] [TAB=VisualStudio version C# ou Visual C#] [/FONT] [CENTER][FONT=Tahoma]Comme pour la création de dossier, nous allons recréer un formulaire Windows donc[/FONT] [B][B][FONT=Tahoma]Projet > Ajouter un formulaire Windows [/FONT][/B][/B] [FONT=Tahoma]Nommer le comme vous voulez, ça a peu d'importance au finale Pour ma part, voici à quoi ressemble mon formulaire : [IMG]http://image.noelshack.com/fichiers/2014/31/1406842882-addflu.png[/IMG] Vous pouvez voir que c'est similaire mais différent, puisque cette fois-ci on choisit la [B]catégorie cible [/B]ou le flux sera ajouté Comme tout à l'heure nous allons déclaré une [B]nouvel instance[/B], donc allez dans [B]Public Partial Class[/B] et déposer ce code : [/FONT][/CENTER] [FONT=Tahoma][CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT] [FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT]private Cflux local_flux; public Cflux Get_new_flux() { return local_flux; } [/CODE][/FONT] [CENTER][FONT=Tahoma]Maintenant, allez dans l'événement [B]Form_Load [/B]du Formulaire ou [B]Double cliquez [/B]dessus ;) [/FONT][/CENTER] [FONT=Tahoma][CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT] [FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT]categorie.Items.AddRange(local_flux.GetCategories_tab());//Combobox [/CODE][/FONT] [CENTER][FONT=Tahoma]Une fois ceci fait, allez dans le code du bouton nommer "[B]Explore[/B]"[/FONT][/CENTER] [FONT=Tahoma] [CODE] System.Xml.XmlDocument xml = new System.Xml.XmlDocument(); try { // lecture du Flux rss xml.Load(url.Text); System.Xml.XmlNodeList noeud = null; System.Xml.XmlNodeList noeud_chanel = null; noeud_chanel = xml.DocumentElement.GetElementsByTagName("channel"); foreach (System.Xml.XmlNode xmlnod in noeud_chanel) { string channel; channel = "Titre"; foreach (System.Xml.XmlNode xmlnod2 in xmlnod.ChildNodes) { if (xmlnod2.LocalName == "title") { channel = xmlnod2.InnerText; name.Text = channel; } } } noeud = xml.DocumentElement.GetElementsByTagName("item"); // pour chaque "item" } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur de chargement :" + url.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Puis dans le bouton "[B]OK[/B]"[/FONT][/CENTER] [FONT=Tahoma] [CODE] if (name.Text != "" && url.Text != "" && categorie.Text != "") { local_flux.SetFlux_name(name.Text); local_flux.SetUrl(url.Text); local_flux.SetCategorie(categorie.Text); // on ferme la boite de dialogue this.Close(); } else { //traduction MessageBox.Show("Veuillez remplir les champs , "Erreur!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Votre formulaire est maintenant terminé, mais comme pour les catégories, il va falloir qu'un bouton déclanche l'événement, pour ma part j'ai encore choisit un de mes bouton de mon toolStrip Pour commencer nous devons déclarer une utilisations d'espace de nom [/FONT][/CENTER] [FONT=Tahoma][CODE][/FONT][/LEFT][/FONT][/LEFT][/FONT][/LEFT] [FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT][FONT=Tahoma] [LEFT]using "lenomduprojet"; [/CODE][/FONT] [CENTER][FONT=Tahoma]Ensuite allez sur votre Formulaire Principale et retourner dans P[B]ublic[/B][/FONT] [B][FONT=Tahoma]Partial Class[/FONT][/B] [FONT=Tahoma]Il faut déclaré une autre instance D'ailleurs, supprimer le "[B]Public[/B]" de "[B]Public partial Class[/B]" sinon des problème d'accéssibilité vont apparître [/FONT][/CENTER] [FONT=Tahoma][CODE] Cflux new_flux = new Cflux("", "", "", null); [/CODE] [/FONT] [CENTER][FONT=Tahoma]Ensuite en [B]dessous[/B] vous devez avoir ceci : public class [/FONT][/CENTER] [FONT=Tahoma][CODE] public AjouterFlux(Cflux new_flux)//Cflux new _flux est a ajouter { InitializeComponent(); local_flux = new Cflux(new_flux.GetCategorie(), new_flux.GetFlux_name(), new_flux.GetUrl(), new_flux.GetCategories_tab()); //Ceci est a ajouter aussi } [/CODE] [/FONT] [CENTER][FONT=Tahoma]Et pour finir dans votre [B]bouton[/B] pour ajouter un flux[/FONT][/CENTER] [FONT=Tahoma][CODE] this.new_flux.SetFlux_name(""); this.new_flux.SetUrl(""); this.new_flux.SetCategorie(""); // on met tous les nom de dossier dans le tableau string[] tableau = new String[this.treeView1.GetNodeCount(false)]; for (int i = 0; i < this.treeView1.GetNodeCount(false); i++) { tableau[i] = this.treeView1.Nodes[i].Text; } this.new_flux.SetCategories_tab(tableau); AjouterFlux new_f = new AjouterFlux(this.new_flux); new_f.ShowDialog(); // on recupere les donnees this.new_flux = new_f.Get_new_flux(); if (this.new_flux.GetFlux_name() != "" && this.new_flux.GetUrl() != "" && this.new_flux.GetCategorie() != "") { //création d'un document XML XmlDocument fichier = new XmlDocument(); try { fichier.Load("DEV.xml"); // annalyse des donnees du fichier XmlNodeList noeud_dossier = null; noeud_dossier = fichier.DocumentElement.GetElementsByTagName("categorie"); // pour chaque balise de type "dossier" string nom_dossier_courant = ""; foreach (XmlNode noeud1 in noeud_dossier) { // pour chaque balise fille de "dossier" foreach (XmlNode noeud2 in noeud1.ChildNodes) { if (noeud2.LocalName == "name") { // on ecrit le nom du dossier nom_dossier_courant = noeud2.InnerXml; if (nom_dossier_courant == this.new_flux.GetCategorie()) { // on ajoute le flux dans le treelistview F.AddChannel(this.new_flux.GetFlux_name(), this.new_flux.GetCategorie(), treeView1); // on prepare ce que l'on va ecrire XmlElement balise_flux = fichier.CreateElement("flux"); balise_flux.InnerText = ""; XmlElement balise_nom_flux = fichier.CreateElement("flux_name"); balise_nom_flux.InnerText = this.new_flux.GetFlux_name(); balise_flux.AppendChild(balise_nom_flux); XmlElement balise_url_flux = fichier.CreateElement("url"); balise_url_flux.InnerText = this.new_flux.GetUrl(); balise_flux.AppendChild(balise_url_flux); // on ajoute tout dans le noeud1 noeud1.AppendChild(balise_flux); fichier.Save("DEV.xml"); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur du chargement " + "XML_data_flux.xml", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } [/CODE] [/TAB] {TAB=VisualStudio version C++ ou Visual C++] Ca arrive ;)[/TAB] [/TABS] [/FONT] [CENTER][FONT=Tahoma] [SIZE=5][B]Après avoir compiler le programme et fait un test, voici ce que ça donne[/B] [/SIZE] [IMG]http://image.noelshack.com/fichiers/2014/31/1406845000-addflux.png[/IMG] [IMG]http://image.noelshack.com/fichiers/2014/31/1406845637-youtube30.png[/IMG] [IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] [/FONT][/CENTER] [B][FONT=Tahoma][SIZE=6][COLOR=rgb(176, 102, 102)]Co[/COLOR][COLOR=rgb(180, 99, 99)]nv[/COLOR][COLOR=rgb(183, 95, 95)]er[/COLOR][COLOR=rgb(187, 92, 92)]tir [/COLOR][COLOR=rgb(192, 87, 87)]un [/COLOR][COLOR=rgb(196, 84, 84)]lie[/COLOR][COLOR=rgb(201, 79, 79)]n Y[/COLOR][COLOR=rgb(205, 76, 76)]ou[/COLOR][COLOR=rgb(209, 72, 72)]Tub[/COLOR][COLOR=rgb(214, 67, 67)]e e[/COLOR][COLOR=rgb(218, 64, 64)]n fl[/COLOR][COLOR=rgb(223, 59, 59)]ux [/COLOR][COLOR=rgb(227, 56, 56)]RSS[/COLOR][/SIZE][/FONT][/B] [CENTER][FONT=Tahoma] Je vais vous montrer pour l'utilisations YouTube, la méthode à suivre pour convertir les lien YouTube en flux RSS Je montre juste la méthode, à vous de transformer le code pour que l'URL soit directement traduit ;) C'est tout bêtes en faite, il y'as un URL de base pour les FLUX qui est [/FONT] [B][URL='http://gdata.youtube.com/feeds/base/users/ID-USER/uploads?alt=rss'][FONT=Tahoma]http://gdata.youtube.com/feeds/base/users/ID-USER/uploads?alt=rss[/FONT][/URL][/B] [FONT=Tahoma] Pour suivre une chaine YT, il faudra juste allez sur une chaîne, récuperer l'ID en fin d'URL dans l'exemple [B]UCeohvTWYjZDOubRaSIlpBCQ[/B][/FONT] [FONT=Tahoma]Le changer dans le lien et le tour est joué ;) [/FONT] [URL='http://www.pcastuces.com/'][FONT=Tahoma]Source pour la conversion de l'URL[/FONT][/URL] [FONT=Tahoma][IMG]http://www.elektromag-joest.com/Images/separator_line.png[/IMG] Voilà, ce petit tutoriel est maintenant terminé, merci à ceux qui ont eu le courage de lire l'intégralité je vous comprend c'est long, même moi j'ai mis 5H pour la rédactions :rofl: D'ailleurs, la partie code C++ arrive sous peu ;) Enfin bon, comme d'habitude, si vous avez des questions envoie moi en message privée ;) (NE DEMANDER PAS "AIDE MOI SKYPE STP WSH") Sur ce, bonne journée/soirée, à la prochaine :bye: [URL='http://reality-gaming.fr/teams/good-topic-premium.43/'][IMG]http://reality-gaming.fr/proxy.php?image=http%3A%2F%2Fimage.noelshack.com%2Ffichiers%2F2014%2F28%2F1404831415-gtp-gif.gif&hash=29286e9f966ee2d005ed9c5836507105[/IMG][/URL][/FONT][/CENTER] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
RealityGaming
[C++/C#] Suivre une chaîne YouTube ou RealityGaming grâce au flux RSS !
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut