Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Не могу присвоить 2-х мерномк массиву значения.. (http://www.flasher.ru/forum/showthread.php?t=76083)

Kukoba 26.02.2006 05:15

Не могу присвоить 2-х мерномк массиву значения..
 
Вложений: 1
Ув. мастера.
простите за ламерство, но беда вот в чем:
есть функция
Код:

var getValues = function () {
// получаем значения компонентов
        JobName = InputWindow.JobName_ti.text;
        JobDateOut[0] = InputWindow.JobDateOut_dc.selectedDate.getDate();
        JobDateOut[1] =InputWindow.JobDateOut_dc.selectedDate.getMonth()+1;
        JobDateOut[2] = InputWindow.JobDateOut_dc.selectedDate.getFullYear();
        JobType = InputWindow.JobType_cb.value;
        JobStatus = "new";
        JobAdder = InputWindow.JobAdder_cb.value;
        JobMaster = InputWindow.JobMaster_cb.value;
        JobDescr = InputWindow.JobDescr_ta.text;
        JobChrono = InputWindow.JobChrono_ns.value;
// и  пhttp://www.flasher.ru/forum/attachment.php?attachmentid=13303&stc=1
jober-test.rarытаемся занести это в массив (JobID меняеццо динамически и сейчас //равна 0)
        JobDB[JobID][0] = JobName;
        JobDB[JobID][1] = JobDateOut;
        JobDB[JobID][2] = JobType;
        JobDB[JobID][3] = JobStatus;
        JobDB[JobID][4] = JobAdder;
        JobDB[JobID][5] = JobMaster;
        JobDB[JobID][6] = JobDescr;
        JobDB[JobID][7] = JobChrono;
        JobDB[JobID][8] = JobID;
       
};

дело в том. что в двух мерный массив JobDB не записываются значения переменных.., пробовал по другому:
Код:

var getValues = function () {
// получаем значения компонентов
        JobName = InputWindow.JobName_ti.text;
        JobDateOut[0] = InputWindow.JobDateOut_dc.selectedDate.getDate();
        JobDateOut[1] =InputWindow.JobDateOut_dc.selectedDate.getMonth()+1;
        JobDateOut[2] = InputWindow.JobDateOut_dc.selectedDate.getFullYear();
        JobType = InputWindow.JobType_cb.value;
        JobStatus = "new";
        JobAdder = InputWindow.JobAdder_cb.value;
        JobMaster = InputWindow.JobMaster_cb.value;
        JobDescr = InputWindow.JobDescr_ta.text;
        JobChrono = InputWindow.JobChrono_ns.value;
// и  пытаемся занести это в массив (JobID меняеццо динамически и сейчас //равна 0)
        Job[0] = JobName;
        Job[1] = JobDateOut;
        Job[2] = JobType;
        Job[3] = JobStatus;
        Job[4] = JobAdder;
        Job[5] = JobMaster;
        Job[6] = JobDescr;
        Job[7] = JobChrono;
        Job[8] = JobID;
        JobDB[JobID] = Job;
       
};

так работает, но только при следующем инкрименировании JobID и перезаписи элементов массива Job, в массиве JobDB все предыдущие элементы меняюццо на последний.

вот трейс(trace(JobDB)):

JobID=0 Название работы 1,26,2,2006,промо,new,Люда Березовская,Борис Кукоба,Описание работы 1,3,0

JobID=1 Название работы 2,27,2,2006,реклама ID,new,Ира Терехова,Юра Койниченко,Описание работы 2,7,1,Название работы 2,27,2,2006,реклама ID,new,Ира Терехова,Юра Койниченко,Описание работы 2,7,1

JobID=2 Название работы 3,28,2,2006,диктор,new,Иван Жилинский,---вокансия---,Описание работы 3,14,2,Название работы 3,28,2,2006,диктор,new,Иван Жилинский,---вокансия---,Описание работы 3,14,2,Название работы 3,28,2,2006,диктор,new,Иван Жилинский,---вокансия---,Описание работы 3,14,2


млин, тупняк какойто бьюсь уже 2 дня.
Я так понимаю, что самый нормальный способ это сразу записывать в двухмерный массив. Но он почему-то не записываеццо....;-((

На всякий случай выкладываю сорс

breez38 26.02.2006 05:38

Если внимательно читать help, то можно заметить, что массив создается след. образом:
Код:

var JobDB:Array = new Array();
AS2 не поддерживает двумерные массивы, но никто нам не мешает сделать массив массивов, например:
Код:

var JobDB:Array = new Array();
for (var i:Number = 0; i < 10; i++)
{
        JobDB[i] = new Array();
        JobDB[i][0] = "Петя";
        JobDB[i][1] = "Вася";
        // и так далее
}

И если мне не изменяет память тема двумерных массивов уже обсуждалась не один раз.

Kukoba 26.02.2006 20:06

Цитата:

Сообщение от breez38
Если внимательно читать help, то можно заметить, что массив создается след. образом:
Код:

var JobDB:Array = new Array();

Это и так автоматически подразумевается. Только чуть по другому
JobDB = new Array ();
Цитата:

Сообщение от breez38
AS2 не поддерживает двумерные массивы, но никто нам не мешает сделать массив массивов, например:
Код:

var JobDB:Array = new Array();
for (var i:Number = 0; i < 10; i++)
{
        JobDB[i] = new Array();
        JobDB[i][0] = "Петя";
        JobDB[i][1] = "Вася";
        // и так далее
}


В данном случае 2-ух мерный массив и массив массивов - это одно и тоже,
А вот код
Код:

JobDB[i][0] = "Петя";
JobDB[i][1] = "Вася";

у меня как раз и не работает.

K.A.T.A.F.A.L.K.E.R 26.02.2006 21:11

ИМХО не хватает в коде
JobDB[JobID] = new Array();, а дальше уже
JobDB[JobID][0]=... и вперед...

З.Ы. А нельзя было как-то описание проблемы сократить? Мне вера не позволяет столько читать :rolleyes:


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

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