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

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

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

Регистрация: Jan 2011
Сообщений: 8
По умолчанию Ошибка 1006

Возникла проблема...написал код с тремя проверками, по отдельности работают все, а вот интегрировать в программу без ошибок не получилось пишет:
Код AS3:
TypeError: Error #1006: split не является функцией.
at SocketNetworkConnectionAdmin_fla::MainTimeline/onPublicMessage()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at it.gotoandplay.smartfoxserver.handlers::SysHandler/handlePublicMessage()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at it.gotoandplay.smartfoxserver.handlers::SysHandler/handleMessage()
at it.gotoandplay.smartfoxserver::SmartFoxClient/xmlReceived()
at it.gotoandplay.smartfoxserver::SmartFoxClient/handleMessage()
at it.gotoandplay.smartfoxserver::SmartFoxClient/handleSocketData()
Искал... искал... в чем проблема,да так и не смог найти...вот сам код :

Код AS3:
/*BEGIN проверка Б заданий для пользователя 1*/
if (evt.params.message.substring(0,2) == "01")
{
if (evt.params.message.substring(2,5) == "B08")
{ 
 
number=8;//номер задания 
var i = 0;
var j = 0;
/*Begin тип НУЛЕВОГО варианта проверки(Обычное сравнение)*/
if (OtvetsBinfo[number] == "0")
{
if (IDB1[number] == OtvetsB[number])
{
   ID1BCorrector[number]=[1,0];
}
else
{
   ID1BCorrector[number]=[0,1];
}
};//закончена нулевая проверка
/*End тип НУЛЕВОГО варианта проверки(Обычное сравнение)*/
 
 
/*Begin тип ПЕРВОГО варианта проверки(Последовательность)*/
if (OtvetsBinfo[number] == "1")
 {
 	/*обнуление предыдущих значений*/
i=0; MaxLength=0; ball=0;
/*Разбивка присылаемого ответа в массив*/
IDB1[number] = evt.params.message.substring(5,evt.params.message.length);
IDB1[number]=IDB1[number].split(",");
OtvetsB[number]=OtvetsB[number].split(",");
/*поиск наибольшего из вариантов*/
if(IDB1[8].length > OtvetsB[number].length){
MaxLength=IDB1[number].length;
} else {
MaxLength=OtvetsB[number].length;
};
/*цикл проверки последовательности*/
while (i<MaxLength)
{
if(IDB1[number][i]==OtvetsB[number][i]){
 ball=ball+1;
};
i++;
};
/*сохраняю в массиве количество правильных ответов и не правильных*/
ID1BCorrector[number]=[ball,MaxLength-ball];
 
 
 
 }; //закончена первая проверка
/*End тип ПЕРВОГО варианта проверки(Последовательность)*/
 
 
/*Begin тип ВТОРОГО варианта проверки(Совпадение слов)*/
if (OtvetsBinfo[number] == "2")
{
/*обнуление предыдущих значений*/
i=0; MaxLength=0; ball=0;j = 0;
/*Разбивка присылаемого ответа в массив*/
IDB1[number] = evt.params.message.substring(5,evt.params.message.length);
IDB1[number]=IDB1[number].split(",");
OtvetsB[number]=OtvetsB[number].split(",");
/*поиск наибольшего из вариантов*/
if(IDB1[number].length > OtvetsB[number].length){
MaxLength=IDB1[number].length;
} else {
MaxLength=OtvetsB[number].length;
};
/*цикл проверки совпадений*/
while (i<MaxLength)
{
j = 0;
while (j<OtvetsB[number].length)
{
 if (IDB1[number][i] == OtvetsB[number][j])
 {
 	ball = ball + 1;
 }
 j++;
};
i++;
};
/*сохраняю в массиве количество правильных ответов и не правильных*/
ID1BCorrector[number]=[ball,MaxLength-ball];
 
}//закончена вторая проверка
/*End тип ВТОРОГО варианта проверки(Совпадение слов)*/
 
trace(ID1BCorrector[8]);
 
}; /*Задание номер 8*/
 
};
/*END проверка Б заданий для пользователя 1*/

Старый 08.01.2011, 02:40
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 2  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
А вы уверены что в IDB1[number] находится String?
Код AS3:
IDB1[number]=IDB1[number].split(",");
OtvetsB[number]=OtvetsB[number].split(",");
trace(IDB1[number]) не пробовали?

Не пишите в кадрах, не пользуйтесь Flash IDE для программирования.

Старый 08.01.2011, 03:32
Vindenta вне форума Посмотреть профиль Отправить личное сообщение для Vindenta Найти все сообщения от Vindenta
  № 3  
Ответить с цитированием
Vindenta

Регистрация: Jan 2011
Сообщений: 8
Да там тип String, данные получаю через сокет сервер.Там примерно такая строка сохраняется в массив -3,8,1,9.

Старый 08.01.2011, 03:40
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 4  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
А как вы вставляете элементы в массив? Проверяйте каждый элемент, в каком то у вас скорей всего не String а Int например.
Либо:
Код AS3:
IDB1[number]=IDB1[number].toString().split(",");
OtvetsB[number]=OtvetsB[number].toString().split(",");

Старый 08.01.2011, 06:14
Vindenta вне форума Посмотреть профиль Отправить личное сообщение для Vindenta Найти все сообщения от Vindenta
  № 5  
Ответить с цитированием
Vindenta

Регистрация: Jan 2011
Сообщений: 8
Возможно ошибка была в этом OtvetsB[i] = [TestList. @ ["B" + i.toString()][0]];,но ваш совет мне ЗДОРОВО ПОМОГ!Огромное вам спасибо!И еще хотел спросить ,а как программно проверить тип элемента?

Старый 08.01.2011, 15:36
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 6  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Не за что. Проверять тип можно оператором is.
Код AS3:
var a:String = "...";
//var a:int = 1;
 
if(a is String)
{
   trace(1);
}
else if( a is int)
{
   trace(2);
}

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

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

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


 


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


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