Usar sripts para retornar informações

Olá galera;

Estou a desenvolver uma aplicação que precisa retornar informaçoes da internet, mais especificamente do site “adoro cinema”

Eu vi que tem um software (Ant Movie Catalog) que já possui um script que busca informações do site e as joga na aplicação. Coloquei em anexo uma imagem do editor de script que o software usa. A minha duvida é a seguinte: Como eu posso usar este script para me retornar informações? No caso, alguem saberia dizer em que linguagem este script é escrito, e omo eu poderia integra-lo a minha aplicação? é nescessário um interpretador ou algo do tipo? estou colocando abaixo o script, caso alguem consiga identificar que linguagem é.
Ou até mesmo se esse Scripting é um programa que já faz isso para mim, e como eu poderia usá-lo?

Obrigado.

program AdoroCinema;
var MovieName:string;
uses StringUtils1;

procedure AnalyzeFilmPage(Address:string);
var Page:TStringList;
    valor, Pag, Pag2, Text, valor2:String;
    j, i, min, Code, min2:integer;
begin
  Page := TStringList.Create;
  valor:= Address;
  Page.Text:=GetPage(valor);
  SetField(fieldURL,valor);
 
  SetField(fieldMediaType,'DVD');

  i:=FindLine('<p itemprop="description">',Page,0);
  valor:=Page.GetString(i);
  valor:=TextBetween(Page.Text,'<p itemprop="description">'#13#10,'</p>');
  valor:= Utf8Decode(valor);
  HTMLDecode(valor);
  valor:= StringReplace(valor, '<br/>', #13#10);
  HTMLRemoveTags(valor);
  SetField(fieldDescription, valor);

  i:=FindLine('="og:title" content="',Page,0);
  valor:=Page.GetString(i);
  valor:=TextBetween(valor,'t="','" />');
  valor:= Utf8Decode(valor);
  HTMLDecode(valor);
  SetField(fieldTranslatedTitle, valor);

  i:=FindLine('<th>Ano de produ',Page,0);
  valor:=Page.GetString(i);
  valor:=TextBetween(valor,'<th>Ano de produ' , '</span></');
  valor:=TextAfter(valor,'">');
  SetField(fieldYear,valor);

  i:=FindLine('original</th><td>',Page,0);
  valor:=Page.GetString(i);
  valor := TextBetween(valor, 'td>' , '</td>');
  valor:= Utf8Decode(valor);
  HTMLDecode(valor);
  SetField(fieldOriginalTitle, valor);

  Pag:=Page.Text;
  Text:='';
  repeat
    i:=pos('<span itemprop="genre">',Pag);
    if i>0 then begin
       valor:=copy(Pag,i+20,Length(Pag));
       valor := TextBetween(valor, '">' , '</span>');
       valor:= Utf8Decode(valor);
       delete(Pag,i,19);
       Text:=Text+' / '+valor;
    end;
  until i=0;
  Delete(Text,1,3);
  SetField(fieldCategory,Text);

  i:=FindLine('itemprop="duration"',Page,0);
  valor:=Page.GetString(i);
  valor:=TextBetween(valor,'">','</');
  HTMLRemoveTags(valor);
  if copy(valor,2,1)='h' then begin
     Text:=copy(valor,1,1);
     min:=StrToInt(Text,-1);
     if min<>-1 then
        min:=min*60;
  end
  else min:=0;
  Text:=copy(valor,4,1);
  Pag:=copy(valor,5,1);
  if StrToInt(Pag,-1)<>-1 then
     Text:=Text+Pag;
  min2:=StrToInt(Text,-1);
  if min2<>-1 then
     min:=min+min2;
  valor:=IntToStr(min);
  SetField(fieldLength,valor);

  i:=FindLine('itemprop="url" ><span itemprop="name">',Page,0);
  valor:=Page.GetString(i);
  valor := TextBetween(valor, '="name">' , '</span>');
  valor:= Utf8Decode(valor);
  HTMLDecode(valor);
  SetField(fieldDirector,valor);
 
  valor:=Page.Text;
  valor := TextBetween(valor, 'Nacionalidade </span>' , #13#10'</div>');
  valor := TextAfter(valor,'<span class="acLnk');
  valor := TextAfter(valor, '">');
  valor:= Utf8Decode(valor);
  HTMLDecode(valor);
  HTMLRemoveTags(valor);
  SetField(fieldCountry,valor);

  i:=FindLine('<meta property="og:image"',Page,0);
  valor:=Page.GetString(i);
  valor:=TextBetween(valor,'"og:image"','/><');
  valor:=TextBetween(valor,'content="','"');
  //*valor:= StringReplace(valor,'195x289','290x478');
  GetPicture(valor);

  valor:= Address+'/creditos';
  Page.Text:=GetPage(valor);
  Text:='';
  Pag:=TextBetween(Page.Text,'Atores e atrizes','id="production">Topo</span>'#13#10);
  if trim(Pag)='' then
     Pag:=TextBetween(Page.Text,'Atores e atrizes','</table>'#13#10);
  repeat
    i:=FindLine('Personagem:',Page,0);
    valor:=Page.GetString(i-3);
    valor2:=Page.GetString(i);
    Delete(valor2,pos('Personagem:',valor2),12);
    Page.SetString(i,'nothing important');
    valor:=trim(valor);
    valor:=valor+' - '+valor2;
    valor:= StringReplace(valor, #13#10, ' - ');
    valor:=trim(valor);
    HTMLRemoveTags(valor);
    if Length(valor)>1 then
       Text:=Text+#13#10+valor;
  until i=-1;
 
  repeat
       i:=pos('<div class="tab_tooltip',Pag);
       valor:=TextBetween(Pag,'<div class="tab_tooltip',#13#10'</span>');//</a>');
       j:=pos('<span itemprop="name">',valor);
       if j>0 then
          valor:=TextAfter(valor,'<span itemprop="name">'#13#10)
       else begin
          valor:=TextAfter(valor,'">'#13#10);
          valor:=TextAfter(valor,'">'#13#10);
       end;

       valor:=trim(valor);
       valor2:=TextBetween(Pag,'<td>'#13#10,#13#10'</td>');
       valor:=valor+' - '+valor2;
       j:=pos('<td>',Pag);
       Delete(Pag,j,5);
       j:=pos('<td>',Pag);
       Delete(Pag,j,5);
       Delete(Pag,i,23);

       valor:= StringReplace(valor, #13#10, ' - ');
       valor:=trim(valor);
       HTMLRemoveTags(valor);
       if Length(valor)>1 then
          Text:=Text+#13#10+valor;
  until i=0;
  Text:= Utf8Decode(Text);
  valor:=copy(Text,3,Length(Text));
  SetField(fieldActors,valor);

  Page.free;
end;

procedure AnalyzePage(Address: String);
var Page:string;
    i:integer;
    nome, nome2, ano, url, Pag, Search:string;
begin
  PickTreeClear;
  Search:='busca/1/?q='; //1 = filmes
  Page := GetPage(Address+Search+MovieName);
  Pag:=Page;
  repeat
    i:=pos('"margin-top:-5px;">', Pag);
    url:=copy(Pag,i+30,26);
    url:=TextBetween(url,'/','''');
    nome:=copy(Pag,i+30,pos('<br',Pag));
    nome:=TextBetween(nome,'>'#13#10,'<div>');
    nome:=copy(nome,1,Length(nome)-2);
    nome2:=nome;
    ano:=nome;
    nome:=copy(nome,1,pos(#13#10,nome)-1);
    nome2:=copy(nome2,pos(#13#10,nome2)+2,length(nome2));
    ano:=nome2;
    nome2:=copy(nome2,1,pos(#13#10,nome2)-1);
    ano:=TextBetween(ano,'="fs11">'#13#10,'<br />');
    nome:=nome+' '+nome2+' - '+ano;
    nome:= Utf8Decode(nome);
    HTMLRemoveTags(nome);
    delete(Pag,i,19);
    nome:=trim(nome);
    if (length(nome)>2) and (pos('AdoroCinema',nome)=0) then begin
      url:='http://adorocinema.com/'+url;
      PickTreeAdd(nome,url);
    end;
  until i=0;
 if PickTreeExec(Address) then
      AnalyzeFilmPage(Address);
end;


begin
  PickListClear;
  MovieName := GetField(fieldOriginalTitle);
  if Input('Importar do AdoroCinema.com', 'Escreva o nome do filme:', MovieName) then
  begin
    MovieName := StringReplace(MovieName, ' ', '+');
    AnalyzePage('http://adorocinema.com/');
  end;
end. 


Isso é Pascal, que algumas pessoas conhecem por “Delphi”.