Работа с циклом

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Re: Работа с циклом

Сообщение Александр » 19 сен 2011, 21:24

legioner
Метод video.get возвращает за один раз сразу несколько видеозаписей.
Вызвал метод video.get -> записал в массив id видеозаписей -> вызвал метод редактирования первой записи из массива -> подождал ответа от сервера (СОБЫТИЕ) -> вызвал метод редактирования второй записи -> подождал ответ и т.д.
Можно и по 3 запроса редактирования отправлять одновременно.

Можно попробовать с http://vkontakte.ru/developers.php?oid=-1&p=execute что-нибудь придумать.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Работа с циклом

Сообщение legioner » 19 сен 2011, 21:59

Александр писал(а):legioner
Метод video.get возвращает за один раз сразу несколько видеозаписей.
Вызвал метод video.get -> записал в массив id видеозаписей -> вызвал метод редактирования первой записи из массива -> подождал ответа от сервера (СОБЫТИЕ) -> вызвал метод редактирования второй записи -> подождал ответ и т.д.
Можно и по 3 запроса редактирования отправлять одновременно.


Вот примерно о таком я и думал. Сейчас буду изучать как работают события. И буду очень признателен,если вы мне поможете

Я же так и хотел с самого начала. Один раз чтоб выполнялся video.get, а потом с некоторым интервалом выполнялись каждый video.edit. Но я технически не знаю как это осуществить. Знаний не хватает. Помогите
legioner

 
Автор темы
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Работа с циклом

Сообщение psix55 » 19 сен 2011, 22:24

Хорошо. Пиши сюда свои варианты кода. Читай больше книг. Чем больше ты прочитаешь, тем больше ты будешь понимать. Помогать будем, если ты сам будешь стараться понять код, логику и т.д.
Ну и прочитай это: topic2309.html
Изучили флеш? Знаете где что находится? Можете понять простой код? Тогда переходите к урокам по использованию ВКонтакте API.
Если в процессе изучения этих уроков будут возникать трудности - вернитесь к изучению флеша.


P.S. Передумал писать тебе код :) Ради тебя ;) Чтоб ты больше изучил, и чтоб в будущем было проще создавать приложения.
Если хочешь помочь голодному, не давай ему рыбы, дай ему удочку.
Аватара пользователя
psix55
Модератор
Модератор
 
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16
Благодарил (а): 17 раз.
Поблагодарили: 74 раз.

Re: Работа с циклом

Сообщение legioner » 19 сен 2011, 22:51

Логику я понимаю. Я не могу это все выразить в коде. Все, что я смог написать, показал в первом посте.

  1. function Update(e:Object):void
  2.     {
  3.          VK.api("video.get", {uid:138711504}, Success, Fail);
  4.              }
  5.      function Success(e:Object):void
  6.     {
  7.    VK.api("video.edit", {vid:e[1]["vid"], oid:138711504, name:e[1]["title"], desc:"Описание", privacy_comment:3});
  8. txtField.text = e[1]["title"];
  9.         }


Нужно чтоб video.edit выполнялся много раз, а это я сделать не могу. Вам же не сложно такое сделать, а мне потом на готовых примерах будет легче учиться.

p.s. Не хочу показаться нескромным, но у меня завтра день рождения. Неужели вы мне не сможете сделать мне такой маленький подарочек..
legioner

 
Автор темы
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Работа с циклом

Сообщение Александр » 20 сен 2011, 22:05

legioner
поздравляю.
  1.             var videoArray = new Array();
  2.             var VK:APIConnection = new APIConnection(flashVars);
  3.             VK.api("video.get", {gid:17157755,width:320,count:3}, onVideoLoaded, onError);
  4.  
  5.  
  6.         private function onVideoLoaded(data: Object):void
  7.         {
  8.              var videoCount = data.length;
  9.              //первый объект хранит количество видео "всего"
  10.              trace('Всего видео: ' + data[0]);
  11.              
  12.              // добавляем видео в массив videaArray
  13.              // можно работать и с полученным json объектом, но тогда его нужно будет сделать глобальным
  14.              for (var i=1; i<videoCount; i++) {
  15.                    videoArray.push(data[i].vid);
  16.              }
  17.              // отправляем первое видео на редактирование
  18.              editVideo(videoArray[0]);
  19.         }
  20.  
  21.         private function editVideo(vid):void
  22.         {
  23.             // тут запрос к api
  24.             // при отправлении запроса к api как обычно ждем ответа от сервера, например функция videoEdited
  25.         }
  26.        
  27.         private function videoEdited(data: Object):void
  28.         {
  29.             // получили ответ от сервера, тут можно узнать было ли видео отредактировано
  30.             // увеличиваем счетчик подсчета отправленного на редактирование видео
  31.             // если отредактировали ещё не все видео, то снова запускам editVideo(), но уже со следующим vid. Его берем на основе счетчика
  32.         }

Дальше сам.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Работа с циклом

Сообщение legioner » 21 сен 2011, 00:03

Спасибо. Завтра на свежую голову буду изучать код, а пока у меня еще один вопрос:
В документации написано, Пример ответа в формате JSON {"response":1} Насколько я знаю из программирования, то 1 - значит что все сделано, а 0 - значит не сделано. Как можно проверить там 1 или 0?
legioner

 
Автор темы
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Работа с циклом

Сообщение bodnar » 21 сен 2011, 04:55

Хм... if'ом?
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

Re: Работа с циклом

Сообщение legioner » 21 сен 2011, 14:09

bodnar писал(а):Хм... if'ом?


Я понял что ifом.
Типа "if ({"response":k} == 1)" По моему это не правильно. Как правильно нужно такое условие написать?
legioner

 
Автор темы
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Работа с циклом

Сообщение bodnar » 21 сен 2011, 14:22

данные передаются в формате json зачем? чтобы вы их декодировали в объект. Тогда ваш объект будет иметь свойство response значение которого вы можете сравнивать как хотите
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

Re: Работа с циклом

Сообщение legioner » 21 сен 2011, 14:51

bodnar писал(а):данные передаются в формате json зачем? чтобы вы их декодировали в объект. Тогда ваш объект будет иметь свойство response значение которого вы можете сравнивать как хотите


Было б еще неплохо, если б вы показали как это сделать кодом. Как декодировать, и как правильно сравнивать
legioner

 
Автор темы
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Пред.След.

Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron