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

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

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

Сообщение Александр »

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

Можно попробовать с http://vkontakte.ru/developers.php?oid=-1&p=execute что-нибудь придумать.
legioner
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05

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

Сообщение legioner »

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

Я же так и хотел с самого начала. Один раз чтоб выполнялся video.get, а потом с некоторым интервалом выполнялись каждый video.edit. Но я технически не знаю как это осуществить. Знаний не хватает. Помогите
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

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

Сообщение psix55 »

Хорошо. Пиши сюда свои варианты кода. Читай больше книг. Чем больше ты прочитаешь, тем больше ты будешь понимать. Помогать будем, если ты сам будешь стараться понять код, логику и т.д.
Ну и прочитай это: http://flapps.ru/forum/topic2309.html
Изучили флеш? Знаете где что находится? Можете понять простой код? Тогда переходите к урокам по использованию ВКонтакте API.
Если в процессе изучения этих уроков будут возникать трудности - вернитесь к изучению флеша.
P.S. Передумал писать тебе код :) Ради тебя ;) Чтоб ты больше изучил, и чтоб в будущем было проще создавать приложения.
legioner
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05

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

Сообщение legioner »

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

Код: Выделить всё

 function Update(e:Object):void    {         VK.api("video.get", {uid:138711504}, Success, Fail);             }     function Success(e:Object):void    {   VK.api("video.edit", {vid:e[1]["vid"], oid:138711504, name:e[1]["title"], desc:"Описание", privacy_comment:3});txtField.text = e[1]["title"];        }
Нужно чтоб video.edit выполнялся много раз, а это я сделать не могу. Вам же не сложно такое сделать, а мне потом на готовых примерах будет легче учиться.

p.s. Не хочу показаться нескромным, но у меня завтра день рождения. Неужели вы мне не сможете сделать мне такой маленький подарочек..
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

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

Сообщение Александр »

legioner
поздравляю.

Код: Выделить всё

            var videoArray = new Array();            var VK:APIConnection = new APIConnection(flashVars);            VK.api("video.get", {gid:17157755,width:320,count:3}, onVideoLoaded, onError);          private function onVideoLoaded(data: Object):void        {             var videoCount = data.length;             //первый объект хранит количество видео "всего"             trace('Всего видео: ' + data[0]);                          // добавляем видео в массив videaArray             // можно работать и с полученным json объектом, но тогда его нужно будет сделать глобальным             for (var i=1; i<videoCount; i++) {                   videoArray.push(data[i].vid);             }             // отправляем первое видео на редактирование             editVideo(videoArray[0]);        }         private function editVideo(vid):void        {            // тут запрос к api            // при отправлении запроса к api как обычно ждем ответа от сервера, например функция videoEdited        }                private function videoEdited(data: Object):void        {            // получили ответ от сервера, тут можно узнать было ли видео отредактировано            // увеличиваем счетчик подсчета отправленного на редактирование видео            // если отредактировали ещё не все видео, то снова запускам editVideo(), но уже со следующим vid. Его берем на основе счетчика        }
Дальше сам.
legioner
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05

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

Сообщение legioner »

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

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

Сообщение bodnar »

Хм... if'ом?
legioner
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05

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

Сообщение legioner »

bodnar писал(а):Хм... if'ом?
Я понял что ifом.
Типа "if ({"response":k} == 1)" По моему это не правильно. Как правильно нужно такое условие написать?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

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

Сообщение bodnar »

данные передаются в формате json зачем? чтобы вы их декодировали в объект. Тогда ваш объект будет иметь свойство response значение которого вы можете сравнивать как хотите
legioner
Сообщения: 18
Зарегистрирован: 17 сен 2011, 20:05

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

Сообщение legioner »

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