Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.12.2010, 21:16
Lyso вне форума Посмотреть профиль Отправить личное сообщение для Lyso Посетить домашнюю страницу Lyso Найти все сообщения от Lyso
  № 1  
Ответить с цитированием
Lyso

Регистрация: Sep 2010
Адрес: Красноярск
Сообщений: 217
Отправить сообщение для Lyso с помощью Skype™
The bomb! Автоматическое внесение в массив, id всех участников приложения.

Я хочу сделать массив, в который на индекс массива, равному id пользователя будет лететь его id. Например

Как только id123 добавил приложение, viewer_id внеслось в массив userIds[viewer_id]=viewer_id;

Я представлял это таким образом: (условие нужно, чтобы один id не вносился несколько раз):
Код AS3:
for(var i:Number;i<userIds.length;i++){
				var provUserId=userIds[i];
				if(provUserId!==viewer_id){
					userIds[viewer_id]=viewer_id;
				}
			}
В таком случае, я не могу обращаться к userIds[viewer_id]. Пишет вместо этого undifined, значит пусто. Как это можно реализовать, подскажите пожалуйста. Какие способы реализации можно сделать?

Сервер есть, переменные вскоре запишу туда, если это как-то поможет, то можно сказать с использованием сервера.

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

Приведите пожалуйста небольшие примеры реализации в ActionScript 3.0. Код целиком просить не буду, тут дают удочки, а не рыбу

Старый 14.12.2010, 21:56
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
что это за знак?
Цитата:
!==
Неравенство пишется так:
Код AS3:
!=
Цитата:
Индекс равный id пользователя нужен для удобства обращения.
Страшно представить какой длины получится массив, это будет работать очень тормознуто. Не думаю, что цикл, перебирающий массив длинной в несколько миллионов ячеек, добавит удобства.

да и для пробежки по массиву, я бы лучше использовал такую конструкцию:
Код AS3:
for (var i in userIds)
вместо этой:
Код AS3:
for(var i:Number;i<userIds.length;i++)

Старый 14.12.2010, 22:43
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 3  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от goodguy Посмотреть сообщение
что это за знак?
http://help.adobe.com/en_US/FlashPla...ict_inequality

Цитата:
Сообщение от Lyso
Как только id123 добавил приложение, viewer_id внеслось в массив userIds[viewer_id]=viewer_id;
Не понятно в какой массив вы собираетесь вносить id. Он что у вас где-то храниться будет на сервере? id пользователя можно использовать в качестве ключа в бд, собственно, туда его и вносить.

Старый 14.12.2010, 23:21
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 4  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Никаких массивов миллионной длины не будет. Array - это массив, допускающий "дырки".

Старый 15.12.2010, 09:42
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 5  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Dictionary?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 15.12.2010, 11:26
Lyso вне форума Посмотреть профиль Отправить личное сообщение для Lyso Посетить домашнюю страницу Lyso Найти все сообщения от Lyso
  № 6  
Ответить с цитированием
Lyso

Регистрация: Sep 2010
Адрес: Красноярск
Сообщений: 217
Отправить сообщение для Lyso с помощью Skype™
Да, учитываю что будут дырки, не будет многомиллионого массива. Знак !== означает НЕ равно.

udaaff, в массив, который будет храниться на сервере в такой конструкции
Код AS3:
userIds[viewer_id]=viewer_id;
Будет храниться список всех кто есть в приложении. К ним будет удобно обращаться и.т.п. Помогите с реализацией задуманного, это же легко для вас, более опытных флешеров, чем я =/

Старый 15.12.2010, 11:57
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 7  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Используйте Object.
В качестве ключа - строчка c идом пользователя.
Не используйте тождественное неравенство.

Код AS3:
var o:Object = new Object()
o["41005314"] = {name:"Artur", lastVizit:0};
 
if(!o["41005314"]){
     //Такого юзера нет в списке
}
Проблемы с повторяющимися идами тоже не будет, тк ид в Object уникален

Старый 15.12.2010, 12:19
Lyso вне форума Посмотреть профиль Отправить личное сообщение для Lyso Посетить домашнюю страницу Lyso Найти все сообщения от Lyso
  № 8  
Ответить с цитированием
Lyso

Регистрация: Sep 2010
Адрес: Красноярск
Сообщений: 217
Отправить сообщение для Lyso с помощью Skype™
terbooter, пожалуйста дайте ссылку на русский хелп, желательно от adobe. Просто раньше не пользовался этой функцией, заранее спасибо А можно использовать вместо "41005314" viewer_id?

Добавлено через 21 минуту
Нашёл и прочитал хелп, не ощутил большой разницы между массивом и объектом. Мне кажется массив использовать удобнее.

Старый 15.12.2010, 14:54
Enpire вне форума Посмотреть профиль Отправить личное сообщение для Enpire Найти все сообщения от Enpire
  № 9  
Ответить с цитированием
Enpire

Регистрация: Dec 2010
Сообщений: 3
боже мой, вы собираетесь хранить массив со всеми айдишниками юзеров в одной ячейке БД?

PHP код:
$strQuery3 "INSERT INTO `users` (`id`, `idvk`, `name`, `last`, `rate`, `votes`, `ratio`, `imp_news`, `news`, `subscr`) VALUES ('$new_id', '{$user['id']}', '{$user['name']}', '{$user['lastname']}', '0', '0', '0', '1', '1', '1')"
P.S. запись в бд из действующего приложения iframe, пишется, если по айди пользователя в базе нет записи


Последний раз редактировалось Enpire; 15.12.2010 в 14:55. Причина: p.s.
Старый 15.12.2010, 17:04
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Сообщение от chabapok Посмотреть сообщение
Никаких массивов миллионной длины не будет. Array - это массив, допускающий "дырки".
С чего бы это? Если доавить элемент, скажем, на индекс 2434, то до него будет создано 2433 ячейки со свойством null или undefined. Но это не дырки

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
автоматическое , вконтакте , массив , пользователи

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.