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

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

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

Регистрация: Apr 2012
Сообщений: 5
По умолчанию Проблема с выводом массива

У меня вопрос. Пытаюсь полученный массив "array" вывести в динамическое текстовое поле "Vivod". Попробовал два способа которые нашел на форуме:
Первый способ:

Код AS3:
var text:String = "";
for (var j:uint=0; j < array.length; j++)
{
	text += array[j] + "\n";
}
Vivod.text = text;
Второй способ:

Код AS3:
Vivod.text = String(array.join ('\n'));
И в первом и во втором случае выдает ошибку:

Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at Internet_fla::MainTimeline/onClickVypolnit()
Может я что-то не так делаю. Помогите плз.

Старый 17.04.2012, 19:46
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Приведенный код не имеет никакого отношения к проблеме. У Вас нет нигде определения метода onClickVypolnit().
__________________
тут я

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

Регистрация: Feb 2012
Сообщений: 1,540
Второй способ лучше, а вот проблема в onClickVypolnit().
Выложите код.

Старый 17.04.2012, 20:36
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Второй способ лучше
И чем же он лучше?
__________________
тут я

Старый 17.04.2012, 20:39
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Сообщение от КорДум Посмотреть сообщение
И чем же он лучше?
Тем, что вместо изобретение велосипеда используется стандартное API.

Старый 17.04.2012, 20:43
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А, ясно. Только первый пример выдает текст в столбик + пустая строка. А второй две строчки: с элементами и пустую.
__________________
тут я

Старый 17.04.2012, 22:34
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Да нет, результат одинаковый, если не брать в расчет лишнюю пустую строку в первом варианте.

Старый 17.04.2012, 22:51
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А, вот оно что. Я перепутал с Array#push(). Все смешалось в доме Облонских =)
__________________
тут я

Старый 17.04.2012, 23:04
AlexSany вне форума Посмотреть профиль Отправить личное сообщение для AlexSany Найти все сообщения от AlexSany
  № 9  
Ответить с цитированием
AlexSany

Регистрация: Apr 2012
Сообщений: 5
Вот полный код.

Код AS3:
stop ();
 
znach1.border=true;
znach2.border=true;
znach3.border=true;
znach4.border=true;
znach5.border=true;
znach1.restrict="0-9 '\.'";
znach2.restrict="0-9 '\.'";
znach3.restrict="0-9 '\.'";
znach4.restrict="0-9 '\.'";
znach5.restrict="0-9 '\.'";
 
knopka.addEventListener(MouseEvent.CLICK, onClickknopka);
 
var rasch1, rasch2, rasch3:Number;
var input1:String;
var input2:String;
var input3:String;
var input4:String;
var input5:String;
 
 
function onClickknopka (e:MouseEvent):void
{
	input1=znach1.text;
	input2=znach2.text;
	input3=znach3.text;
	input4=znach4.text;
	input5=znach5.text;
 
var array:Array = [];
var A=parseFloat(input1);
var B=parseFloat(input2);
var C=parseInt(input3);
var D=parseFloat(input4);
var h=parseFloat(input5);
 
for (var i:int = 0; i<100; i++)
{ 
	 rasch1=((C*B)-(A*D))/(C+D);
	 rasch3=7;
 
    if (rasch1 > 0)
    {
       rasch3=-(Math.log(rasch1)/Math.log(10)); 
    }
    else if (rasch1 < 0)
    {
       rasch3=14+(Math.log(Math.abs(rasch1))/Math.log(10));
 
    }
 
	var n = 5;
	var m = 2;
	m = Math.pow(10,m);
	n = Math.pow(10,n);
	D = Math.round(D*m)/m;
	rasch3 = Math.round(rasch3*n)/n;
	array.push ([i, D, rasch3]);
	D += h;
 
}
//trace (array.join ('\n'));
Vivod.text = String(array.push ('\n'));
gotoAndPlay (2);
}
С 'trace' все работает, только вот мне надо вывести ни в окно Output, а на второй кадр в динамическое поле.


Последний раз редактировалось AlexSany; 17.04.2012 в 23:07.
Старый 17.04.2012, 23:08
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 10  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
бла-бла-бла, код из первого кадра не имеет доступа к второму кадру. Запомните
__________________
adobe AS3 manual

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

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

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


 


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


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