Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Программное создание переменных. (http://www.flasher.ru/forum/showthread.php?t=137998)

MrYeti 27.03.2010 18:11

Программное создание переменных.
 
Требуется создать n-ое количество переменных программно, количество которых заранее неизвестно. Необходимы для создания текстовых полей, для ввода значений в матрицу (массив). Как создать n-ое кол-во переменных (с разными названиями) или как создать вводимое текстовое поле, для ввода значений (а не "значение") массива?

wvxvw 27.03.2010 18:31

AS3 != Lisp :D
Не создавайте переменные динамически. Это возможно, но очень сложно. Можно динамически создать поля (свойства или методы) у динамических объектов, как правило, проще для этого использовать типы объектов специально задуманые как коллекции - Object, Array, Dictionary, Vector, XML / XMLList.

MrYeti 27.03.2010 19:03

А можно как-нибудь создать текстовое поле, чтобы элемент массива являлся идентификатором?
Просто к примеру есть алгоритм, для рассчета системы уравнений методом Гаусса, пользователь вводит базис 6, и создаются 36 + 6 текстовых полей для введения коэффициентов в виде матрицы. Создать саму матрицу не сложно вроде как:
Код AS3:

var matrix:Array=[];
var i:int;
var n:int=6;
for(var i=0;i<n;i++){
  matrix[i]=[];
  for(var j=0;j<n;j++){
      matrix[i][j]=0;
  }
}

А вот как прописать в нее значения - help...

Obi 27.03.2010 20:07

matrix[2][8] = 'myValue'; Не?

MrYeti 27.03.2010 20:17

А как сделать так, чтобы matrix[2][8] был идентификатором текстового поля? как из компиллятора написать это то ясно :).

wvxvw 27.03.2010 20:20

А что мешает текстовому полю быть элементом массива?

MrYeti 27.03.2010 21:01

А если будет, то будут возможны математические преобразования? Покажите как?

wvxvw 27.03.2010 21:05

Математические преобразования чего?

MrYeti 27.03.2010 21:42

Элементов матрицы. Деление и вычитание соответствующих элементов массивов, если введены численные значения разумеется.
Код AS3:

for(i:int=0; i<n; i++){
line[i]=line2[i]-line1[i];
}

где line1 и line2 массивы - строки матрицы.

etc 27.03.2010 21:43

Собирайте двумерку после того, как пользователь нажал на кнопку выполнения.


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

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