{\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 KINO.DE\cf2\par \cf1 // DATALANGUAGE GERMAN\cf2\par \cf1 // AUTHOR MVS\cf2\par \par \cf3 MovieDatabaseValue\cf2 = "KINO"\par \par \cf1 // Extract the html code of the Web page\cf2\par HtmlCode is \cf4 String\cf2 = \cf5 GetPage\cf2 ("http://www.kino.de/megasuche.php4?typ=filme&wort=" , \cf6 TitleToSearch\cf2 , "")\par \cf4 If\cf2 HtmlCode = "" \cf4 Then\par \cf2\tab\cf4 Switch\cf2 \cf4 Language\par \cf2\tab\cf4 Case\cf2 1 \cf1 // German\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("Diese seite wurde nicht gefunden")\par \tab\cf4 Case\cf2 3 \cf1 // English\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("This page has not been found")\par \tab\cf4 Case\cf2 5 \cf1 // Fran\'e7ais\cf2\par \tab\tab\cf5 UserErrorMessage\cf2 ("Cette page n'a pas \'e9t\'e9 trouv\'e9e")\par \cf4\tab End\cf2\par \tab\cf4 Return\cf2\par \cf4 End\cf2\par \par \cf1 // Compute the movies number in the HTML code\cf2\par Movies_Delimiter is \cf4 String\cf2 = "headline3"">", "<")\par \tab Movie_Title = \cf5 StringRefine\cf2 (Movie_Title)\par \cf1\tab Movie_URL = "\cf2 http://www.kino.de/kinofilm.php4?nr=\cf1 " + Movie_ID\cf2\par \tab\cf1 // Add the ID, the Title and the URL in the Movies List For choice\cf2\par \tab\cf5 AddMovieToList\cf2 (i, Movie_ID, Movie_Title, Movie_URL)\par \cf4 End\cf2\par \cf1\par // Open the list of the movies\cf2\par \cf5 OpenMoviesList\cf2 ()\par \par \cf1 // The movies list returns the ID, the Title and the URL (\cf3 MovieIDValue\cf1 , \cf3 MovieTitleValue\cf1 , \cf3 MovieURLValue\cf1 )\cf2\par \cf1 // of the movie choosen by the user\cf2\par \cf4 If\cf2 \cf3 MovieIDValue\cf2 = "" \cf4 Then\par \cf2\tab\cf4 Switch\cf2 \cf4 Language\cf2\par \tab\cf4 Case\cf2 1 \cf1 // German\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("Dieser film wurde nicht gefunden")\par \tab\cf4 Case\cf2 3 \cf1 // English\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("This film has not been found")\par \tab\cf4 Case\cf2 5 \cf1 // Fran\'e7ais\cf2\par \tab\tab\cf5 UserErrorMessage\cf2 ("Ce film n'a p\cf1 as \cf2\'e9t\'e9 trouv\'e9")\par \cf4\tab End\cf2\par \tab\cf4 Return\cf2\par \cf4 End\cf2\par \par \par \cf1 // Extract the html code of the movie\cf2\par HtmlCode = \cf5 GetMovie\cf2 ("http://www.kino.de/kinofilm.php4?nr=" , \cf3 MovieIDValue\cf2 , "")\par \cf4 If\cf2 HtmlCode = "" \cf4 Then\par \cf2\tab\cf4 Switch\cf2 \cf4 Language\par \cf2\tab\cf4 Case\cf2 1 \cf1 // German\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("This page has not been found")\par \tab\cf4 Case\cf2 3 \cf1 // English\cf2\par \cf5\tab\cf2\tab\cf5 UserErrorMessage\cf2 ("This page has not been found")\par \tab\cf4 Case\cf2 5 \cf1 // Fran\'e7ais\cf2\par \tab\tab\cf5 UserErrorMessage\cf2 ("Diese seite wurde nicht gefunden")\par \cf4\tab End\cf2\par \tab\cf4 Return\cf2\par \cf4 End\cf2\par \cf1\par // \cf3 MovieOriginalTitleValue\par \cf2 n is \cf4 Int \cf2 = \cf5 Position\cf2 (HtmlCode, "standardsmall"">
(",1)\par \cf4 If\cf2 \cf3 n\cf2 <>0 \cf4 Then\par \cf3\tab MovieOriginalTitleValue\cf1 =\cf5 BetweenStrings\cf2 (HtmlCode, "standardsmall"">
(", ")
- ", "
")\par \cf1 // Movie Year\cf2\par \cf3 MovieYearValue\cf1 =\cf5 StringMiddle\cf1 (\cf2 chain\cf1 , Length(\cf3 c\cf2 hain\cf1 )-\cf2 3\cf1 , 4)\par // Remove the String (YEAR) at the End of the Country\cf2\par \cf3 MovieCountryValue\cf1 = \cf5 StringMiddle\cf1 (\cf2 chain\cf1 , 1 , Length(\cf2 chain\cf1 ) - 6)\par \cf2\par \cf1 // Movie Duration\par \cf2 chain = \cf5 BetweenStrings\cf2 (HtmlCode, "headline2", " Min.")\par chain=\cf5 FormatString\cf2 (\cf5 StringRight\cf2 (chain,3), "WOS")\par \cf4 If\cf2 \cf5 StringLeft\cf2 (chain,1) = ">"\par \cf3\tab MovieDurationValue=\cf5 StringRight\cf2 (chain,2)\par \cf4 Else\cf2\par \cf3\tab MovieDurationValue=c\cf2 hain\par \cf4 End\cf2\par \par \cf1 // Movie Family\cf2\par \cf3 MovieFamilyValue\cf2 = \cf5 BetweenStrings\cf2 (HtmlCode, "", "")\par \cf1\par // Movie Summary\cf2\par HtmlCode = \cf5 GetMovie\cf2 ("http://www.kino.de/kinofilm.php4?typ=film&nr=" , \cf3 MovieIDValue\cf2 , "")\par \par n\cf4 \cf2 = \cf5 Position\cf2 (HtmlCode, "width=""2"" height=""100%"">",1)\par \cf4 If\cf2 \cf3 n\cf2 <>0 \cf4 Then\par \cf1\tab\cf3 MovieSummaryValue\cf1 =\cf5 RemoveHTMLTags\cf2 (\cf5 BetweenStrings\cf1 (HtmlCode,"\cf2 width=""2"" height=""100%"">","\cf1 "))\cf2\par \cf4 Else\par \cf2\tab n\cf4 \cf2 = \cf5 Position\cf2 (HtmlCode, "Website
",1)\par \cf4\tab If\cf2 \cf3 n\cf2 <>0 \cf4 Then\cf2\tab\par \cf1\tab\tab\cf3 MovieSummaryValue\cf1 =\cf5 RemoveHTMLTags\cf2 (\cf5 BetweenStrings\cf1 (HtmlCode,"\cf2 Website","\cf1 "))\cf2\par \cf4\tab Else\par \cf1\tab\tab\cf3 MovieSummaryValue\cf1 =\cf5 RemoveHTMLTags\cf2 (\cf5 BetweenStrings\cf1 (HtmlCode,"\cf2 align=""left"" >","\cf1 "))\par \cf2\tab\cf4 End\cf2\par \cf4 End\par If \cf3 MovieSummaryValue\cf1 \cf2 =\cf4 Charact\cf2 (4) \cf4 Then\cf2 \cf3 MovieSummaryValue\cf1 \cf2 ="" \par \par \cf1 // Movie Image\par \cf3 MoviePictureValue\cf2 = \cf5 BetweenStrings\cf2 (HtmlCode, ""\cf1 )\cf2\par Directors_Number is \cf4 Int \cf2 = \cf5 StringCounter\cf2 (Directors, "")\par Writers_Number is \cf4 Int \cf2 = \cf5 StringCounter\cf2 (Writers, "")\par Composers_Number is \cf4 Int \cf2 = \cf5 StringCounter\cf2 (Composers, "",1)\par n2 is \cf4 Int \cf2 = \cf5 PositionOccurrence\cf2 (HtmlCode,"""dbtrefferdark"" WIDTH=""50%"">",1)\par cha is \cf4 String\cf2 = ""\cf4\par If\cf2 n1>n2 \cf4 Then\par \cf2\tab cha = ""\par \cf4 End\par \cf5 n\cf2 1= \cf5 PositionOccurrence\cf2 (htmlcode,cha,1)\par \cf5 n2\cf2 = \cf5 PositionOccurrence\cf2 (htmlcode,"headlinewhite"">Crew",1)\par Actors is \cf4 String\par \cf2 n2=n2-n1\par \par Actors=\cf5 StringMiddle\cf2 (HtmlCode, n1, n2)\par \cf7 A\cf2 ctors=\cf5 StringReplace\cf2 (actors,"\cf1 "\cf2 ,"?")\cf7\par \cf2 Actors=\cf5 RemoveHTMLTags\cf2 (\cf5 A\cf2 ctors)\par \par Actors_Number is \cf4 Int \cf2 = \cf5 StringCounter\cf2 (Actors, ";")\par \cf1 // 15 Actors max per film\cf2\par O\cf1 ne_Role\cf2 is \cf4 String\cf2 = \cf5 StringExtraction\cf2 (Actors, 1, " ")\par \cf4 If\cf2 Actors_Number > 15 \cf4 Then\cf2 Actors_Number = 15\par \cf4 For\cf2 i=1 to Actors_Number\par \tab one_actor is \cf4 String\cf2 =\cf5 StringExtraction\cf2 (Actors, i, "?")\par \tab one_actor=\cf5 StringExtraction\cf2 (one_actor,2,";")\par \cf1\tab\cf5 AddMovieActors\cf1 (One_Actor, One_Role)\par \cf2\tab O\cf1 ne_Role\cf2 = \cf5 StringExtraction\cf2 (Actors, i+1, " ")\par \tab one_role=\cf5 StringExtraction\cf2 (one_role,2,"?")\par \tab\par \cf4 End\par \cf2\par HtmlCode = \cf5 GetMovie\cf2 ("http://www.kino.de/kinofilm.php4?typ=fotoshow&nr=" , \cf3 MovieIDValue\cf2 , "")\par Photo_Number is \cf4 Int \cf2 = \cf5 StringCounter\cf2 (HtmlCode, "bildnr=")\par \cf1 // 15 Photos max per film\cf2\par \cf4 If\cf2 Photo_Number > 15 \cf4 Then\cf2 Photo_Number = 15\par \cf4 For\cf2 i=1 to Photo_Number\par \tab one_photo is \cf4 String= "\cf2 bildnr=" \cf1 + \cf5 NumToString\cf2 (\cf1 i-\cf2 1)\par \tab one_photo=\cf5 StringExtraction\cf2 (HtmlCode , 2, one_photo)\par \tab one_photo=\cf5 BetweenStrings\cf2 (one_photo,\cf1 "');"">