zagPravAS3
Проект ГРАФИК - Разбор и преобразование данных. Вернуться к описанию проекта "ГРАФИК"
     После загрузки в SWF-файл графика, XML-документа происходит разбор этого документа и полученные данные заносятся в двумерный массив SodXML. Первый уровень массива SodXML состоит из 3 элементов-массивов из которых: SodXML[0] - массив параметров отрисовки самого графика, SodXML[1] - данные откладываемых значений по горизонтальной оси, SodXML[2] - данные откладываемых значений по вертикальной оси. 
     На этой странице приведён код файла parameters.as который подгружается и работает в проекте. В нём происходит передача значений массива SodXML[0] в массивы-аргументы классов GrafikDesign и RegPolzunok.
     По-порядку. Строки 3 по 80 - происходит объявление переменных типа Number prm0 ... prm62 и присвоение им конвертируемых строковых данных полученных из XML-документа. Далее эти переменные раскладываются по массивам т.е. происходит определение двумерных массивов-аргументов для объектов классов GrafikDesign и RegPolzunok. Строки 83-103 двумерный массив argGD - для класса GrafikDesign и строки 105-119 двумерный массив argRP для класса RegPolzunok.

/* --- Данные полученные из XML-документа --- */
/* --- ОСНОВНЫЕ КОНСТРУКТИВНЫЕ РАЗМЕРЫ --- */
var prm0:Number = Number(sodXML[0][1]);        /* Ширина графика --- */
if(String(sodXML[0][1]).charAt(String(sodXML[0][1]).length-1) == "%"){
    var prm0a:String = sodXML[0][1];
}
var prm1:Number = Number(sodXML[0][2]);        /* Высота графика --- */
var prm2:Number = Number(sodXML[0][3]);        /* Отс.от лев.края до текста дел.по верт.оси */
var prm3:Number = Number(sodXML[0][4]);        /* Отс.от пр.края до нач.раб.обл.графика */
var prm4:Number = Number(sodXML[0][5]);        /* Отс.от верха до нач.раб.обл.графика */
var prm5:Number = Number(sodXML[0][6]);        /* Отс.от низа граф.до текс.дел. по гориз. оси */
var prm6:Number = Number(sodXML[0][7]);        /* Max доп.число дел. по гориз. оси X.*/
var prm7:Number = Number(sodXML[0][8]);        /* Max доп.число дел.по верт.оси Y */
var prm8:Number = Number(sodXML[0][9]);        /* Расст.от рисок дел.на оси X до нач.текста дел. */
var prm9:Number = Number(sodXML[0][10]);       /* Расст.от рисок дел.на оси Y до нач.текста дел. */
/* --- ОБЩИЙ ФОН ГРАФИКА --- */
var prm10:Number = Number("0x"+sodXML[0][11]); /* Цвет заливки фона --- */
var prm11:Number = Number(sodXML[0][12]);      /* Плотность заливки фона --- */
var prm12:Number = Number("0x"+sodXML[0][13]); /* Цвет обводки фона --- */
var prm13:Number = Number(sodXML[0][14]);      /* Толщина обводки фона --- */
var prm14:Number = Number(sodXML[0][15]);      /* Плотность линии обводки фона --- */
/* --- ФОН РАБОЧЕЙ ОБЛАСТИ ГРАФИКА --- */
var prm15:Number = Number("0x"+sodXML[0][16]); /* Цвет заливки фона --- */
var prm16:Number = Number(sodXML[0][17]);      /* Плотность заливки фона --- */
var prm17:Number = Number("0x"+sodXML[0][18]); /* Цвет обводки фона --- */
var prm18:Number = Number(sodXML[0][19]);      /* Толщина обводки фона --- */
var prm19:Number = Number(sodXML[0][20]);      /* Плотность линии обводки фона --- */
/* --- ОСИ ГРАФИКА --- */
var prm20:Number = Number("0x"+sodXML[0][21]); /* Цвет линий осей --- */
var prm21:Number = Number(sodXML[0][22]);      /* Толщина линий осей --- */
var prm22:Number = Number(sodXML[0][23]);      /* Плотность линий осей --- */
/* --- КООРДИНАТНАЯ СЕТКА РАБОЧЕЙ ОБЛАСТИ --- */
var prm23:Number = Number("0x"+sodXML[0][24]); /* Цвет линий --- */
var prm24:Number = Number(sodXML[0][25]);      /* Толщина линий --- */
var prm25:Number = Number(sodXML[0][26]);      /* Плотность линий --- */
/* --- ДЕЛЕНИЯ ПО ГОРИЗОНТАЛЬНОЙ ОСИ --- */
var prm26:Number = Number(sodXML[0][27]);      /* Размер текста --- */
var prm27:Number = Number("0x"+sodXML[0][28]); /* Цвет текста --- */
var prm28:Number = Number(sodXML[0][29]);      /* Плотность текста --- */
/* --- ДЕЛЕНИЯ ПО ВЕРТИКАЛЬНОЙ ОСИ --- */
var prm29:Number = Number(sodXML[0][30]);      /* Размер текста --- */
var prm30:Number = Number("0x"+sodXML[0][31]); /* Цвет текста --- */
var prm31:Number = Number(sodXML[0][32]);      /* Плотность текста --- */
/* --- ЛИНИЯ ГРАФИКА --- */
var prm32:Number = Number("0x"+sodXML[0][33]); /* Цвет линий --- */
var prm33:Number = Number(sodXML[0][34]);      /* Толщина линий --- */
var prm34:Number = Number(sodXML[0][35]);      /* Плотность линий --- */
/* --- КНОПКИ ВЫВОДА ПОДСКАЗОК --- */
var prm35:Number = Number("0x"+sodXML[0][36]); /* Цвет кнопки --- */
var prm36:Number = Number(sodXML[0][37]);      /* Плотность цвета кнопки --- */
var prm37:Number = Number("0x"+sodXML[0][38]); /* Цвет обводки --- */
var prm38:Number = Number(sodXML[0][39]);      /* Толщина обводки --- */
var prm39:Number = Number(sodXML[0][40]);      /* Плотность цвета обводки --- */
var prm40:Number = Number(sodXML[0][41]);      /* Радиус кнопки --- */
/* --- ВСПЛЫВАЮЩАЯ ПОДСКАЗКА --- */
var prm41:Number = Number(sodXML[0][42]);      /* Размер текста --- */
var prm42:Number = Number("0x"+sodXML[0][43]); /* Цвет текста --- */
var prm43:Number = Number(sodXML[0][44]);      /* Плотность текста --- */
var prm44:Number = Number("0x"+sodXML[0][45]); /* Цвет фона подсказки --- */
var prm45:Number = Number(sodXML[0][46]);      /* Плотность фона --- */
var prm46:Number = Number("0x"+sodXML[0][47]); /* Цвет обводки фона --- */
var prm47:Number = Number(sodXML[0][48]);      /* Толщина обводки --- */
var prm48:Number = Number(sodXML[0][49]);      /* Плотность обводки --- */
var prm49:Number = Number(sodXML[0][50]);      /* Расст.по гориз.от края подл.до текс.подск. */
var prm50:Number = Number(sodXML[0][51]);      /* Расст.по верт.от края подл.до текс.подск.*/
var prm51:Number = Number(sodXML[0][52]);      /* Пробел по верт.от края кн.до нач.подложки */
/* --- ПОЛЗУНКИ-РЕГУЛЯТОРЫ --- */
var prm52:Number = Number("0x"+sodXML[0][57]); /* Цвет кнопки --- */
var prm53:Number = Number("0x"+sodXML[0][59]); /* Цвет обводки --- */
var prm54:Number = Number(sodXML[0][60]);      /* Толщина обводки --- */
/* --- КНОПКА ОТОБРАЖЕНИЯ РЕЗУЛЬТАТА --- */
var prm55:Number = Number("0x"+sodXML[0][62]); /* Цвет кнопки --- */
var prm56:Number = Number("0x"+sodXML[0][64]); /* Цвет обводки --- */
var prm57:Number = Number(sodXML[0][65]);      /* Толщина обводки --- */
/* --- ОСНОВА ПОЛЗУНКА --- */
var prm58:Number = Number("0x"+sodXML[0][58]); /* Основной цвет фона --- */
var prm59:Number = Number("0x"+sodXML[0][61]); /* Цвет фона кнопок --- */
var prm60:Number = Number("0x"+sodXML[0][63]); /* Цвет дат, стрелок и обводки кнопок --- */
var prm61:Number = Number("0x"+sodXML[0][66]); /* Цвет обводки ползунка --- */
var prm62:Number = Number(sodXML[0][67]);      /* Толщина обводки ползунка --- */
/* --- Перевод данных в аргументы классов GrafikDesign и RegPolzunok --- */
/* ----------------------------------------------------------------------------------- */
var argGD:Array = new Array();
argGD[0] = new Array();
argGD[0] = [prm2, prm3, prm4, prm5, prm6, prm7, prm8, prm9];
argGD[1] = new Array();
argGD[1] = [prm10, prm11, prm12, prm13, prm14];
argGD[2] = new Array();
argGD[2] = [prm15, prm16, prm17, prm18, prm19];
argGD[3] = new Array();
argGD[3] = [prm20, prm21, prm22];
argGD[4] = new Array();
argGD[4] = [prm23, prm24, prm25];
argGD[5] = new Array();
argGD[5] = [prm26, prm27, prm28, "Arial"];
argGD[6] = new Array();
argGD[6] = [prm29, prm30, prm31, "Arial"];
argGD[7] = new Array();
argGD[7] = [prm32, prm33, prm34];
argGD[8] = new Array();
argGD[8] = [prm35, prm36, prm37, prm38, prm39, prm40];
argGD[9] = new Array();
argGD[9] = [prm41, prm42, prm43, "Arial", prm44, prm45, prm46, prm47, prm48, prm49, prm50, prm51];
/* -------------------------------------------------------------------------------------------- */
var argRP:Array = new Array();
argRP[0] = new Array();
argRP[0] = [prm58, 1, prm61, prm62, 1];
argRP[1] = new Array();
argRP[1] = [prm52, 1, prm53, prm54, 1];
argRP[2] = new Array();
argRP[2] = [prm60, 1, prm60, 1, 1];
argRP[3] = new Array();
argRP[3] = [prm55, 1, prm56, prm57, 1];
argRP[4] = new Array();
argRP[4] = [prm59, 1, prm60, prm57, 1, prm60];
argRP[5] = new Array();
argRP[5] = [12, prm60, 1];
argRP[6] = new Array();
argRP[6] = [14, 10, 15, 2];
/* --------------------------------------------------------------------------------------------- */