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

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

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

Регистрация: Apr 2007
Сообщений: 9
По умолчанию Область видимости данных массива

Код:
var magazin_array = new Array (); 
		var load_mag = new LoadVars();
			load_mag.load ("c:/tt/eee.txt");
				load_mag.onLoad = function (success:Boolean){	
						if (success == true){
								magazin_array=load_mag.magtext.split("*");
								//Здесь идет обработка массива
                                                                }		
				}
Этот код выполняется при загрузке
Вопрос в следующем: как использовать элементы массива, например magazin_array[225], вне функции load_mag.onLoad в дальнейшем в программе


Последний раз редактировалось etc; 07.05.2007 в 13:08.
Старый 07.05.2007, 12:47
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 2  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Надо дождаться конца загрузки LoadVars
Т.е. последующие действия (функции) вызываются в onLoad'e
__________________
"We Are The Champions My Friends!" Queen

Старый 07.05.2007, 12:49
As_Serge вне форума Посмотреть профиль Отправить личное сообщение для As_Serge Найти все сообщения от As_Serge
  № 3  
Ответить с цитированием
As_Serge

Регистрация: Apr 2007
Сообщений: 9
Все данные в массив подгружаются и обрабатываются коректно. Трудность в том, что невозможно нигда, кроме как внутри load_mag.onLoad = function (success:Boolean){
Код:
if (success == true){
magazin_array=load_mag.magtext.split("*");
//Здесь идет обработка массива
}
}
использовать данные.


Последний раз редактировалось etc; 07.05.2007 в 13:08.
Старый 07.05.2007, 12:52
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
As_Serge, оформите код в посте тегами [code][/code].

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
А я про что говорил?
Да можно использовать только в функциях вызванных после onLoad или самой onLoad
__________________
"We Are The Champions My Friends!" Queen

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
var magazin_array = new Array (); 
var load_mag = new LoadVars();
load_mag.onLoad = function (success:Boolean){
if ( (success == true ) == true ){
 magazin_array.concat( this.magtext.split("*") );
 doSome();
}}
load_mag.load ("c:/tt/eee.txt");
function doSome(){
 //Здесь идет обработка массива
 trace(  magazin_array );
}
Я там в одном месте жестко прикололся.. Сорри не удержался.
upd: код нерабочий, см. дальше


Последний раз редактировалось Kikasso; 07.05.2007 в 13:19.
Старый 07.05.2007, 13:07
As_Serge вне форума Посмотреть профиль Отправить личное сообщение для As_Serge Найти все сообщения от As_Serge
  № 7  
Ответить с цитированием
As_Serge

Регистрация: Apr 2007
Сообщений: 9
Извините... Я наверное не правильнно задал вопрос
ВОЗМОЖНО ЛИ использовать элементы массива, например magazin_array[225], ВНЕ функции ...onLoad в дальнейшем в программе?
И если - да, то как?
грубо говоря
Код:
trace(magazin_array[225]);
дает undefined вне onLoad

Старый 07.05.2007, 13:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Kikasso, а в чем тайный смысл строки
Код:
if ( (success == true ) == true ){
?

As_Serge, загрузка данных асинхронна, поэтому и создан onLoad. Использовать полученные элементы нужно в обработчике onLoad или так, как написал Kikasso.

Старый 07.05.2007, 13:13
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
var magazin_array = new Array (); 
var load_mag = new LoadVars();
load_mag.onLoad = function (success:Boolean){
if ( success ){
 magazin_array = magazin_array.concat( this.magtext.split("*") );
 doSome();
}else{
 trace("error");
}}
load_mag.load ("eee.txt");
function doSome(){
 //Здесь идет обработка массива
 trace(  magazin_array );
}
2__etc: а в строке
Код:
if (success == true){
больше смысла?
2 As_Serge: теперь работает. Я выделил белым.


Последний раз редактировалось Kikasso; 07.05.2007 в 13:18.
Старый 07.05.2007, 16:59
As_Serge вне форума Посмотреть профиль Отправить личное сообщение для As_Serge Найти все сообщения от As_Serge
  № 10  
Ответить с цитированием
As_Serge

Регистрация: Apr 2007
Сообщений: 9
ОЙ! извиняйте...
Усе заработало!!!
Спасибо всем огромное за помощь!

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

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

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


 


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


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