Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Незаполняется массив (http://www.flasher.ru/forum/showthread.php?t=62409)

Almik 26.08.2004 18:40

Незаполняется массив
 
вот код 1 фрейма
--------------------------------------
var vuz= new Array();
var acts= new Array();


loadVariablesNum(".....", _self); //загружаю переменные a и b

_root.onData = function() {

vuz[0] = a;
acts[0] = b;

}

-----------------------------------------

проблема в том, что в итоге массив пуст. переменные грузятся точно, проверял.

если кто-то сможет приветси пример загрузки массива через loadVars буду очень благодарен.

fiot 26.08.2004 19:41

может поможет ...
 
Код:

loadedVars = new LoadVars();
loadedVars.onData = function (src) {
  trace("Variables received: " + src);
  if (src =  = undefined) {
    this.onLoad(false);
  } else {
    this.decode(src);
    this.loaded = true;
    this.onLoad(true);
  }
};
 
loadedVars.onLoad = function (success) {
  trace("Vars load successfully? " + success);
}
 
loadedVars.load("http://www.thesite.com/cgi-bin/getData.pl");

vuz[0] = loadedVars.a;
acts[0] = loadedVars.b;


Almik 26.08.2004 21:03

наверное я делаю что-то не так. но теперь с твоим примером я вообще перестал получать переменные. может дело в том, что с помощью

loadedVars.load("http://localhost/myprog/shut.php?
id=1&flag=team&base=0");

я пытаюсь одновременно послать переменные ?

с loadVariablesNum у меня получалось одновременная передача и прием данных. вот только , опять же, в массив их не засунуть.

но за пример спасибо.

fiot 26.08.2004 21:14

может ты расскажешь что ты имненно хочешь сделать и зачем это тебе нужно. ок ?

Almik 26.08.2004 22:08

Так вроде как и объяснил. Просто кое-что не досказал, не посчитал это важным, но в крации нужно след.:

Файл shut.php, в зависимости от значения переменных полученных от shut.swf посылает обратно в shut.swf 2е переменные “a”и ”b” с определенным текстом. Так вот значение этих переменных нужно запихать в массивы “nuz” и “acts” соответственно.

Почему в массивы ? а не в обычные переменные ? потому что запросов N_ое кол-во (в примере ниже - 5) и значение переменных “a” и “b” все время меняется, но их значения нужно обязательно сохранить для дальнейшего пользования. (потом будут выводиться в динамическом поле).

Я сделал это примерно так.
-------------------------------------------------
for(q = 1; q<=5;q++)
{
loadVariablesNum("http://localhost/myprog/shut.php?id="+q+"&flag=team&base=0", _self);

_root.onData = function() {
vuz[q]=a;
acts[q]=b;
}
}
-------------------------------------------------
shut.php, в зависемости от значения полученной переменной id генерирует строку:
echo("&a=blabla&b=kuku");

проблема, повторюсь, в том, что массивы не заполняются, в то время как если поставть вместо массивов обычные переменные и им передать значения a и b все получается. но мне то нужны массивы данных а не пара переменных.

PS спасибо fiot за проявленный интересн ! надеюсь объяснишь дураку, где я ошибся.

fiot 26.08.2004 22:21

есть RTFM советую почитать ...

есть ещё один пример ...
Код:


varSender = new LoadVars();
varReceiver = new LoadVars();
varSender.name = "Bruce";
varSender.age = "13";
varReceiver.onLoad = function () {
  for (p in this) {
    if (typeof this[p] =  = "string") {
      trace("The variable " + p + " has the value " + this[p]);
    }
  }
}
trace("Sending " + varSender.toString());
varSender.sendAndLoad("http://www.yourserver.com/cgi-bin/lookup.pl", varReceiver, "GET");

Цитата:

echo("&a=blabla&b=kuku");
а разве & перед a нужен ?

Almik 27.08.2004 14:09

нечиге не выходит.переменные не грузит.
ладно. буду РТФМ качать.
в любом случаи спасибо.



-----------
а разве & перед a нужен ?
-------------

в моем случаи да. до этого echo() есть еще килограм кода, и флэш, без & путается .

Almik 27.08.2004 15:39

Вот, благодаря твоему примеру, научился пользоваться loadvars, За что тебе большое спасибо !!!!.
Но главная проблема осталась.Т.е. и теперь полученные переменные с легкостью передаются другим переменным, но вот как только я их помещаю в массивы, массивы опять пусты.
---------------------------------
vuz =new Array();
acts=new Array();

Load = new LoadVars();
Send = new LoadVars();

Send.id = "1";
Send.flag = "team";
Send.base = "0";

Send.sendAndLoad("http://localhost/myprog/shut.php", Send, "GET");
Send.onLoad = initVars;
function initVars() {
vuz[0] = Send.a;
acts [0]= Send.b;
}

---------------------------------------------
дальше пытаюсь вывести значения массива , путем создания динамического поля с вар vuz и вар acts. поля пусты. :(

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

KidsKilla 27.08.2004 15:57

ээээ... ты создаешь массивы, потом переменные с тем же именем и удивляешься, что не отображается?

каким образом массив должен отобразиться в динамо-поле?
поставь вместо поля trace и будет те щастье.

Almik 27.08.2004 19:25

странно. мне всегда какалось, если объявлен массив с именем
some Array(); то где бы я не написал some , это слово всегда будет ассоциироваться с массивом.

а как же тогда быть ? как заполнить массив ?


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

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