{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}} {\colortbl ;\red0\green128\blue0;\red102\green102\blue102;\red128\green0\blue128;\red0\green0\blue0;\red0\green0\blue255;\red255\green102\blue0;\red255\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20 // DESCRIPTION Gestion de votre BIBLIOTHEQUE --- \cf2\par \cf1 // AUTHOR JUIN J\'e9r\'f4me \par // LANGUAGE FR\cf3\par \cf2\par \cf3 MovieDatabaseValue\cf2 = "B\cf1 Dnet\cf2 "\par \par \cf1 // MODE DEBUG: enlever le double slash pour verifier que votre adresse de recherche est correcte.\cf2\par \cf1\lang2057 // ShellExecute("http://www.bdnet.com/recherche.htm?recherche=\lang1036 " + TitleToSearch + "\lang2057 &type=tout&BDNET_RECHpg=1")\cf2\par \par \cf1\lang1036 // cette page liste les livres\par \lang2057 HtmlCode1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=1"\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1 HtmlCode\cf2 2\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 2\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1 HtmlCode\cf2 3\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 3\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1 H\cf2 tmlCode, message15, message50 are \cf4 String\par \cf1\par \cf4 If\cf2 \cf5 YesNo\cf2 ("\tab\tab\tab\tab\tab\tab --- ATTENTION --- \tab\tab\tab\tab " + cr + ...\par \tab "Le site correspondant \'e0 votre recherche ne classe pas ses BD toujours de la m\'eame fa\'e7on:" + cr + ...\par \tab "exemple : Si vous ne trouvez pas de r\'e9ponses pour ""Trolls de TROY"" alors faites une recherche sur le titre du volume : "" Le feu occulte "" est le volume 4 de Trolls de TROY..." + cr + ...\par \tab "Idem pour GASTON LAGAFFE : le Tome 19 s'appelle Marsuppilami... " + cr + cr + ...\par \tab "PENSEZ DONC A FAIRE UNE RECHERCHE SUR LE VOLUME SI LE TITRE NE DONNE RIEN" + CR + CR + CR + ...\par \tab "Pensez vous qu'il puisse y avoir PLUS DE 15 REPONSES pour votre recherche ?" + cr + "Si, oui, alors la recherche sera \'e9te\cf4 nd\cf2 ue \'e0 50 REPONSES mais sera plus longue pour \'eatre affich\'e9e") \cf4 Then\par \cf2\par \cf1\tab HtmlCode\cf2 4\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 4\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 5\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 5\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 6\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 6\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 7\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 7\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 8\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 8\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 9\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 9\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \cf1\tab HtmlCode\cf2 10\cf1 is \cf4 String\cf1 = \cf5\lang1036 GetPage\cf1 ("\lang2057 http://www.bdnet.com/recherche.htm?recherche=\lang1036 " , \cf6 TitleToSearch\cf1 , "\lang2057 &type=tout&BDNET_RECHpg=\cf2 10\cf1 "\cf2\lang1036 \cf1 )\cf2\lang2057\par \lang1036\tab HtmlCode = HtmlCode1 + HtmlCode2 + HtmlCode3 + HtmlCode4 + HtmlCode5 + HtmlCode6 + HtmlCode7 + HtmlCode8 + HtmlCode9 + HtmlCode10\par \tab message15 = ""\par \tab message50 = "Vous avez d\'e9ja demand\'e9 le maximum de 50 r\'e9ponses ! D\'e9sol\'e9 mais rien ne correspond \'e0 votre recherche" \par \par \cf4 Else\cf2\par \tab HtmlCode = HtmlCode1 + HtmlCode2 + HtmlCode3\par \cf4\tab m\cf2 essage50 = ""\cf4\par \cf2\tab message15 = "Vous avez demand\'e9 seulement 15 r\'e9ponses, recommencez avec 50" +cr+ "(INUTILE SI VOUS AVEZ REMARQUE QU'IL Y AAVAIT MOINS DE 15 REPONSES DANS LA LISTE)"\cf4\par End\cf2\par \cf4\par If\cf1 HtmlCode = "" \cf4 Then\cf2\par \cf1\tab\cf5 UserErrorMessage\cf1 ("Cette page n'a pas \'e9t\'e9 trouv\'e9")\cf2\par \cf1\tab\cf4 Return\cf2\par \cf4 End\cf2\par \par \cf1 //arborescence g\'e9n\'e9rale\par \cf2\lang2057 Delimiter is \cf4 String\cf2 = "Titre : "\par \cf1 Number is \cf4 Int \cf1 = \cf5 StringCounter\cf1 (\cf2 HtmlCode\cf1 , Delimiter)\cf2\par \cf4\lang1036 If\cf1 Number = 0 \cf4 Then\cf2\par \cf1\tab\cf5 UserErrorMessage\cf1 ("A\cf2 ucun BD n'est list\'e9e..." + CR + "Recommencez votre recherche avec des mots plus simples...")\cf1\par \cf4\tab Return\par End\par \lang2057 If\cf2 Number < 15 \cf4 Then\cf2\par \tab message15 = "Il n'y a pas plus de 15 r\'e9ponses; inutile de recommencer en affichant 50 r\'e9sultats"\par \cf4 End\par \cf1\lang1036 // MODE DEBUG : enlever les deux slash devant Information pour tester la capture du nombre de films\cf2\par \cf1\lang2057 //\cf7 Information\cf1 ("Number = " + Number)\cf2\par \par i is int\par ID, Title, URL are \cf4 String\cf2\par \cf4 For\cf2 i=2 to Number + 1\par \tab\cf0 Title = Delimiter + \cf5 StringExtraction\cf0 (\cf1 HtmlCode\cf0 , i ,Delimiter )\par \cf2\tab ID = \cf5 BetweenStrings\cf2 (Title , "")\par \tab Serie1 is \cf4 String\cf2 = \cf5 LinesAfter\cf2 (Title , 2 , "Titre :")\par \tab Serie2 is \cf4 String\cf2 = \cf5 LinesAfter\cf2 (Title , 3 , "Titre :")\par \tab S\cf1 erie is \cf4 String\cf1 = \cf5 S\cf2 erie1 + Serie2\par \tab Serie = \cf5 BetweenStrings\cf2 (Serie, "fiche_serie.htm"">" , "<" )\cf1\par \tab Serie = \cf5 StringReplace\cf1 (Serie, \lang1036\fs18 " \'04" , "\cf2 -\cf1 ")\par \cf2\lang2057\fs20\tab\cf1 Title = \cf5 BetweenStrings\cf1 (Title, "sans-serif"">" , "")\cf2\par \tab Title = Title + " - " + serie2\par \tab\cf1 Title = \cf5 StringRefine\cf1 (Title)\cf2\par \tab\cf1 Title = \cf5 FormatString\cf1 (Title, "UC")\par \cf2\tab\cf1 Title = RemoveHTMLTags (Title)\cf2\par \tab URL = "http://www.bdnet.com/" + ID\par \par \cf5 AddMovieToList\cf2 (i, ID, Title, URL)\par \cf1\par \lang1036 //MODE DEBUG : enlever les deux slash devant \cf7 Trace\cf1 pour tester la capture des titres\par \lang2057 //\cf7 Trace\cf1 (ID, Title, URL)\cf2\par \cf4\lang1036 End\cf2\par \cf1 // Ouverture de la liste des films trouv\'e9s\par \cf5\lang2057 OpenMoviesList\cf1 ()\cf2\par \cf4 If\cf1 \cf3 MovieIDValue\cf1 = "" \cf4 Then\cf2\par \cf1\tab\cf5 UserErrorMessage\cf1 ("Vous n'avez s\'e9lectionn\'e9 aucune\cf2 BD." + cr + message15 + cr + message50\cf1 )\cf2\par \tab\cf4 Return\cf2\par \cf4 End\cf2\par \par \par \cf1\lang1036 // Extraction du code Html de la page d\'e9sir\'e9e\cf2\par \lang2057 HtmlCode = \cf5 GetMovie\cf2 (\cf3 MovieURLValue\cf2 ,"", "")\par \cf4 If\cf2 HtmlCode = "" \cf4 Then\cf2\par \tab\cf5\lang1036 UserErrorMessage\cf2 (\cf1 "Cette page n'a pas \'e9t\'e9 trouv\'e9e"\cf2 )\par \cf4 Return\cf2\par \cf4 End\par \cf2\par \cf1 //Recuperation des don\'e9es \cf2 de la BD\par \par \cf1 // R\'e9sum\'e9\par \cf2 Ligne1 is \cf4 String\cf2 = \cf5 LinesAfter\cf2 (HtmlCode , 2 , "Commentaires:\cf3 "\cf2 )\par Ligne2 is \cf4 String\cf2 = \cf5 LinesAfter\cf2 (HtmlCode , 3 , "Commentaires:\cf3 "\cf2 )\par \cf3 MovieSummaryValue\cf2 = Ligne1 + Ligne2\par \cf3 MovieSummaryValue\cf1 =\cf2 \cf5 RemoveHTMLTags\cf2 (\cf3 MovieSummaryValue\cf2 )\par \cf1\par \cf2\par \cf1 // Ann\'e9e\cf2\par \cf3\lang2057 A\cf2 nnee is \cf4 String\cf2 = \cf5 BetweenStrings\cf2 (HtmlCode, "Paru en:" , "\cf1 \cf2 "\cf1 )\cf3\par MovieYearValue\cf1 = \cf5 StringRight\cf1 (Annee , 4)\par \cf4\lang1036\fs18 If\cf2 \cf3\lang2057\fs20 MovieYearValue\cf2\lang1036\fs18 = "\cf1\'04"\cf2 \cf4 Then\cf2\par \tab MessagAn is \cf4 String\cf2 = "D\'e9sol\'e9 mais d'ann\'e9e de parution." \par \lang2057\fs20\tab\cf3 MovieYearValue\cf2\lang1036\fs18 = ""\par \cf4 End\cf2\lang2057\fs20\par \cf1\par // Genre\par \cf3 MovieFamilyValue\cf2 = \cf5 BetweenStrings \cf2 (HtmlCode , "Genre:" , "
")\par \cf3 MovieFamilyValue\cf2 = \cf5 BetweenStrings \cf2 (\cf3 MovieFamilyValue\cf2 , "htm"">" , "Série:" , "
\lang1036 " )\par \cf3\fs18 MovieTitleValue\cf2\lang2057\fs20 = \cf5 BetweenStrings\cf2 (\cf3\lang1036\fs18 MovieTitleValue \cf2 ,\lang2057\fs20 "htm"">" , " ICI ca correspond au dessinateur(stock\'e9 dans variable realisateur)\par \cf5\lang1036 A\cf2 uteur is \cf4 String\cf2 = \cf5 BetweenStrings\cf2 (HtmlCode , "Dessinateur:" , "
" )\par Auteur = \cf5 BetweenStrings\cf2 (Auteur , \lang2057 "htm"">" , "\fs18 " )\par Edition = \cf5 BetweenStrings\cf2 (Edition \fs20 , \lang2057 "htm"">" , "