Автор Тема: Разработка скриптов (вопросы)  (Прочитано 164427 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Resha

  • Постоялец
  • ***
  • Сообщений: 126
Разработка скриптов (вопросы)
« : 04 Июля 2008, 11:03:58 »
Импорт с сайта скриншотов.
     Массив ссылок на скриншоты уже получил, но подгружается только один (первый скриншот) и тот ставится вместо постера.

  • Как можно загрузить несколько картинок (постеров, скриншотов, обложек)?
  • Как можно указать тип изображения: постер, скриншот, обложка передняя, обложка задняя?
« Последнее редактирование: 04 Июля 2008, 11:17:17 от Resha »
Win10 x64, PVD 1.0.2.7

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #1 : 04 Июля 2008, 18:19:43 »
Скрипты пока не могут грузить никакие изображения кроме постера, сорри. Ф-циональность скриптов всё время расширяется так, что возможность загружать скриншоты появится.
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #2 : 15 Ноября 2008, 18:35:56 »
Решил покодить немного , хочу попробовать создать скрипт для сайта киномания , инструктаж почитал , Нотепад ++ установил. Образцы страниц с сайта скачал . Есть вопросы :
Есть программа через которую можно запустить этот скрипт отдельно , или опишите работу функции ShowMessage

Программа Нотепад++ поддерживает синтаксис различных языков программирования , данный скриптовый язык ближе к чему относится , я наобум поставил Postscript , хотя не то

Появилась новая версия движка на странице загрузки 0.2.0.0 , пробовал сделать обновление но рамеры не совпадают ( ПВД 0.9.9.1 scriptins.dll от 29.10.08) , в ней есть какие нибудь изменения , или принципы построения команд и все остальное остались прежние.


Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Разработка скриптов (вопросы)
« Ответ #3 : 15 Ноября 2008, 18:39:49 »
2 djek-ural
Я открываю всегда через AkelPad, он на ура все читает!!! Рекомендую!

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #4 : 15 Ноября 2008, 19:16:32 »
Цитировать
Есть программа через которую можно запустить этот скрипт отдельно

Зачем? Саму программу просто запускай с параметром -debug. В Help -> Log можно следить, что происходит

Цитировать
или опишите работу функции ShowMessage

ShowMessage('Test', 'Information'); //Создаёт окно с заголовком Information и тесктом Test


Цитировать
Программа Нотепад++ поддерживает синтаксис различных языков программирования , данный скриптовый язык ближе к чему относится , я наобум поставил Postscript , хотя не то

Pascal

Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #5 : 16 Ноября 2008, 12:13:47 »
И самое главное опишите функции ввода данных в ячейки Бюджет и Сборы , на этом сайте эти данные сушествуют , и еще бы не помешало дату релиза.
« Последнее редактирование: 16 Ноября 2008, 12:19:24 от djek-ural »

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #6 : 16 Ноября 2008, 13:26:16 »
И самое главное опишите функции ввода данных в ячейки Бюджет и Сборы , на этом сайте эти данные сушествуют , и еще бы не помешало дату релиза.

Нужно использовать вот эту ф-цию:
AddFieldValueXML(const AField: WideString; AValue : WideString);

//переменная Value содержит значение поля
AddFieldValueXML('budget', Value); //Бюджет
AddFieldValueXML('money', Value); //Сборы
AddFieldValueXML('rdate', Value);  //Дата релиза
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #7 : 17 Ноября 2008, 11:10:11 »
Я тут немного запутался , есть вопрос
Допустим в результатах поиска получили список фильмов которые нужно пропарсить и вывести в список , но в сайте есть один недостаток он показывает не больше 4 фильмов , а если надо больше пожалуйста отдельная страница , запрос на эту страницу выглядит почти также как и запрос на поиск http://www.kinomania.ru/search4.shtml?text=%C3%EE%F2%E8%EA%E0&to-search=%EF%EE%E8%F1%EA , за исключением нескольки элементов http://www.kinomania.ru/search6.shtml?fsearch=2&text=%D7%F3%E6%E8%E5 , так вот как загрузить эту страницу.
Просто передать в переменную Result := , запрос в виде УРЛ адреса , или я что то не понимаю.

П.С. Кодинг идет очень медленно , приходится наряду с программированием изучать некоторые основы Паскаля.

Добавил
Можно ли использовать функцию GetDownloadURL еще раз кроме начала , т.е вставить её в середине где нибудь , я как понял загрузка второй страницы начинается когда в переменную второго адреса попадает адрес и в Result := , значение prDownload , после этого происходит выход из программы и вроде бы её перезапуск , но как сохраняется адрес второй страницы если эта переменная снова обьявляется и соответственно стирается. Вроде бы так понял.
« Последнее редактирование: 17 Ноября 2008, 12:44:05 от djek-ural »

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #8 : 19 Ноября 2008, 15:21:24 »
с адресом разобрался , но немогу допереть как работает механизм загрузки других страниц ( не постеров ) , извиняюсь но изучал Бейсик , а переход на Паскаль нельзя сделать за несколько дней.

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #9 : 19 Ноября 2008, 18:50:40 »
что конкретно не понятно? все страницы загружаются одинакого, сама картинка должна быть загружена последней.
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #10 : 19 Ноября 2008, 19:31:03 »
Мне непонятно как это происходит , вот допусти в переменную CreditsURL попал адрес страницы для загрузки , а в переменную Result := psDownload , по идее сейчас должна идти процедура загрузки страницы GetDownloadURL , а её нет до самого конца программы , и получается что программа заканчивает работу. Ну еще в переменную Mode :=  smSearch.

Т.е получается при стечение этих переменных скрипт запускается снова , и соответственно вначале инициализируются адрес загрзки страницы и режим работы программы.

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #11 : 01 Декабря 2008, 15:12:41 »
Кажись до меня доперло , Result - это имя процедуры , тогда все вопросы сразу же снимаются.
ПС продолжаю осваивать книгу Turbo Paskal начальный курс

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #12 : 03 Декабря 2008, 00:44:52 »
Кажись до меня доперло , Result - это имя процедуры , тогда все вопросы сразу же снимаются.
ПС продолжаю осваивать книгу Turbo Paskal начальный курс

Так и есть. В некоторых языках это имя ф-ции, в некоторых return, тут Result, но значение одно - возвращаемое значение ф-ции.
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Разработка скриптов (вопросы)
« Ответ #13 : 03 Декабря 2008, 01:14:29 »
Мне непонятно как это происходит , вот допусти в переменную CreditsURL попал адрес страницы для загрузки , а в переменную Result := psDownload , по идее сейчас должна идти процедура загрузки страницы GetDownloadURL , а её нет до самого конца программы , и получается что программа заканчивает работу. Ну еще в переменную Mode :=  smSearch.

Т.е получается при стечение этих переменных скрипт запускается снова , и соответственно вначале инициализируются адрес загрзки страницы и режим работы программы.

Значит так:
Плагины работаю таким образом:
1. подгружается библиотека
2. проверяется наличие в ней нужных ф-циё и т.д.
3. программа спрашивает у плагина что ей делать
4. результат выполнения действия передаёт плагину
5. спрашивает что делать дальше
...
6. отгружает библиотеку

Это в общих чертах. Теперь подробно на примере плагина получения информации из интернет:
1. Ищем нужные ф-ции в плагине
2. Спрашиваем у плагина данные для логина на сайт [GetLoginInfo]
2.1. Если данные получены - логинимся
3. Выясняем кодовую страницу для использования по умолчанию (если плагин предоставляет эту информацию) [GetCodePage]
4. Программа говорит плагину, что начинается работа (плагин имеет возможность инициализировать переменные или сделать другие подготовительные процедуры)
5. Передаём плагину список польз. полей (если он их поддерживает)
6. Запрашиваем у плагина URL [GetDownloadURL]
7. Загружаем данные
8. Передаём полученные данные плагину и спрашиваем, что делать дальше [ParsePage]
8.1. Если плагин говорит, что получил список фильмов, то получаем его и показываем окно для выбора
8.1.1. Загружаем URL выбранный пользователем
8.1.2. Переходим к п. 8
8.2. Если плагин говорит, что нужно загрузить ещё одну страницу, то берём у него URL [GetDownloadURL]
8.2.1. Переходим к п. 8
8.2. Если плагин получил данные по фильму и/или постер, то присваиваем их фильму
9. Говорим плагину, что работа закончена

В квадратных скобках указаны ф-ции вызываемые в скрипте.
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Разработка скриптов (вопросы)
« Ответ #14 : 05 Декабря 2008, 12:51:21 »
А вот как работать с новыми функциями , можно создать процедуру

Wait(2000); //ждёт 3 секунды
Для добавления изобраыжения передавать путь к нему вот так:
AddImageURL(0, 'http://www.test.com/test.jpg'); //первый параметер: 0 - Poster, 1 - Screenshot, 2 - Front cover, 3 - CD Cover

пример....
 procedura DownloadPoster(.......)
 (обьявляем переменные)
 begin
 парсим страницу и ишем адрес изображения
 передаем её функции
 AddImageURL(0, 'http://www.test.com/test.jpg')
 проверяем если конец списка изображений то все иначе парсим дальше
 end

ну и по аналогии для других типов изображения.