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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.05.2011, 19:03
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 1  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Question Перебор элементов массива

Есть масив, элементы которого беруться из XML файла. Циклом перебераю элементы массива и сравниваю с эталонным, при совпадении код должене выдать номер элемента массива. Это не происходит, где моя ошибка?
Код и исходник прилагаю
Код AS1/AS2:
var name_ind:Array = new Array();
var XMLfile:XML = new XML();
XMLfile.load("score.xml");
XMLfile.ignoreWhite = true;
XMLfile.onLoad = zagr;
function zagr()
{
	vsego = XMLfile.childNodes.length;
	for (var i:Number = 0; i < XMLfile.childNodes.length; i++)
	{
		name_ind[i] = XMLfile.childNodes[i].childNodes[0].firstChild;
		if(name_ind[i]=="Иван")
		{
   			trace(i);
 		}
	}
}
Вложения
Тип файла: rar pack.rar (53.3 Кб, 50 просмотров)

Старый 02.05.2011, 19:30
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Надо так.
Код AS1/AS2:
if (String(name_ind[i]) == 'Иван')
А еще лучше при парсинге:
Код AS1/AS2:
	for (var i:Number = 0; i < XMLfile.childNodes.length; i++)
	{
		name_ind[i] = XMLfile.childNodes[i].childNodes[0].firstChild.toString();
	}
А вообще используйте атрибуты и не понадобится громоздкий цикл для таких проверок, какой же id у юзера:
Код AS1/AS2:
var name_ind:Array = new Array();
var XMLfile:XML = new XML();
XMLfile.load("score.xml");
XMLfile.ignoreWhite = true;
XMLfile.onLoad = zagr;
function zagr()
{
	var xmlnode:XMLNode = XMLfile.firstChild;
	vsego = xmlnode.childNodes.length;
	for (var i:Number = 0; i < vsego; i++)
	{
		var id:Number = Number(xmlnode.childNodes[i].attributes['id'])
		name_ind[id] = xmlnode.childNodes[i].firstChild.toString();
		trace('id:' +  id + ' name: ' + name_ind[id]);
	}
 
}
Код:
<?xml version="1.0" encoding="utf-8"?>
<plaers>
	<name id="1">Иван</name>
	<name id="2">Петр</name>
	<name id="3">Сидр</name>
</plaers>
Так получится массив, где индексы - это id юзеров из атрибутов и всегда можно по ним обратиться.
__________________
Идите первым!


Последний раз редактировалось mooncar; 02.05.2011 в 19:50.
Старый 02.05.2011, 19:37
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 3  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Ой спасибо выручили. А ведь действительно String. Упустил каюсь

Старый 02.05.2011, 19:41
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
См. обновленной пост выше.
__________________
Идите первым!

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

Регистрация: Aug 2010
Сообщений: 107
И еще вопрос. В случе
Код AS1/AS2:
if (String(name_ind[i]) == 'Иван')
Переменная "Иван" уже зашита в код, но эту переменную будет вводить пользователь в поле ввода
Код AS1/AS2:
input_name.text
А в этом случае код
Код AS1/AS2:
if (String(name_ind[i]) == input_name.text)
и
Код AS1/AS2:
if (String(name_ind[i]) == String(input_name.text))
несрабатывает. В чем может быть дело?

Старый 02.05.2011, 19:53
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В чем угодно, синтаксически всё верно. Обе части имеют один тип, и если и тут и там "Иван", то проблема где-то еще.
Например, момент для проверки выбран неправильно: либо данные еще не получены, либо проверка осуществляется когда-то не тогда, когда ввод еще не осущ-н.
__________________
Идите первым!

Старый 02.05.2011, 20:10
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 7  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Спасибо, буду разбираться, на упрощенном варианте работает, думаю действительно проблема в синтаксисе где-то

Добавлено через 8 минут
Разобрался, проблема была в том, что не был внедрен шрифт поля input. Вот уж где обжегся...

Старый 03.05.2011, 14:31
Arkadiy вне форума Посмотреть профиль Отправить личное сообщение для Arkadiy Найти все сообщения от Arkadiy
  № 8  
Ответить с цитированием
Arkadiy

Регистрация: Apr 2011
Сообщений: 13
Спасибо за интересную тему и примеры. У меня есть вопрос, да, не используя атрибуты код становится слишком громоздким порой, но я где то читал, что использование атрибутов не желательно, но в чем конкретно это выражается, какие накладываются ограничения? Если можете, поясните пожалуйста, я бы тогда с радостью "перешел на атрибуты".

Старый 03.05.2011, 17:38
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Увы, в теории не силен. Найдете, где читали, киньте ссылочку, интересно.
__________________
Идите первым!

Старый 03.05.2011, 17:53
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Атрибуты xml вы имеете в виду?
__________________
hauts.ru

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

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

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


 


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


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