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

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

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

Регистрация: Mar 2011
Сообщений: 4
По умолчанию Проблема с dataProvider'ом?

Итак, проблема в том, что ничего не могу добавить в таблицу входных данных.. Хотя в таблицу для программы все нормально добавляется..Пробовал оставить только таблицу для входных данных, все равно не работает...

Код AS3:
import flash.net.FileReferenceList;
import fl.data.DataProvider;
import flash.net.FileReference;
import flash.events.*;
import fl.controls.*;
 
var funcArr:Array;  //массив для программы РАСПа...
var inputArr:Array; //массив для входных данных..
var metki:DataProvider = new DataProvider();  //создаю датаПровайдер
var colIns:DataProvider = new DataProvider();
var inputdata:DataProvider = new DataProvider();
var outPutData:DataProvider = new DataProvider();
var totalEntries:uint=1;
 
metki.addItem(totalEntries); 
colIns.addItem({Data:1});  
inputdata.addItem({Data:1});
 
//таблица для номеров строк
var dg:DataGrid = new DataGrid();
dg.columns=["num of string"];
dg.editable=false;
dg.dataProvider=metki;
dg.move(180,10);
dg.setSize(40,500);
dg.sortableColumns = false;
 
//таблица для программы
var dg2:DataGrid = new DataGrid();
dg2.columns=["Data"];
dg2.editable=true;
dg2.dataProvider=colIns;
dg2.move(230,10);
dg2.setSize(40,500);
dg2.sortableColumns = false;
 
//таблица для входных значений
var dg3:DataGrid = new DataGrid();
dg3.columns=["inPut"];
dg3.editable=true;
dg3.dataProvider=inputdata;
dg3.move(10,10);
dg3.setSize(40,500);
dg3.sortableColumns = false;
 
//таблица для выходных значений
var dg4:DataGrid = new DataGrid();
dg4.columns=["OutPut"];
dg4.editable=false;
dg4.dataProvider=outPutData;
dg4.move(450,10);
dg4.setSize(60,500);
dg4.sortableColumns = false;
 
var editinPutData:Button = new Button();
editinPutData.move(50,10);
editinPutData.label="Добавить строку";
editinPutData.addEventListener(MouseEvent.CLICK,editInPut);
 
var editButton:Button = new Button();
editButton.move(300,10);
editButton.label="Добавить строку";
editButton.addEventListener(MouseEvent.CLICK,editGrid);
 
var startButton:Button = new Button();
startButton.move(300,40);
startButton.label="Начать";
startButton.addEventListener(MouseEvent.CLICK,startProg);
 
addChild(dg);
addChild(dg2);
addChild(dg3);
addChild(dg4);
addChild(editinPutData);
addChild(editButton);
addChild(startButton); 
 
function editInPut(e:MouseEvent):void            //увеличиваю датаПровайдеров на 1 строку
{                  
	inputdata.addItem({Data:1});
}
 
function editGrid(e:MouseEvent):void            //увеличиваю датаПровайдеров на 1 строку
{  
	totalEntries++;
	metki.addItem(totalEntries);                    
	colIns.addItem({Data:1});
}
 
function startProg(e:MouseEvent):void            //основаная функция
{  
	funcArr = startCompil(colIns);
	inputArr = startCompil(inputdata);
	trace(inputArr);
	trace(funcArr);
}
 
function startCompil(col:DataProvider):Array        //преобразование таблицы данных в массив чисел        
{
	var arrInstr:Array = new Array;
	var arrProg: Array = new Array;
	arrInstr = col.toArray();
	var j: int;
	var u: int = 1;
	for (j=0; j<arrInstr.length; j++)
	{
		var k: int;
		var str:String;
		k = poisk(look(arrInstr[j]));
		str = look(arrInstr[j]).substring(6,k);
		arrProg[u] = uint(str);
		u++;
	}
	arrProg[0] = 0;  // присваиваю аккумулятору 0
	return(arrProg);
}
function poisk(st:String):int  //поиск скобки в строке
{
	var iter: int = 1;
	var skobka:Boolean = true;
	while (skobka)
	{
		if (st.charAt(iter) == "}")
		{ 
			skobka = false;
		}
		else {iter++;}
	}
	return(iter);
}
 
function look (object:*):String   //функция перевода объекта в строку
{
	var result:String = "";
	if (!object || object is Boolean || object is int || object is String || object is Number)
	{
		result += String(object);
	}
	else if (object is Array)
	{
		result += "[";
		for (var i:int = 0; i < object.length; i++)
		{
			result += look(object[i]);
		}
		result += "]";
	}
	else if (object is Object)
	{
		result += "{";
		for (var key:* in object)
		{
			result += String(key) + ":" + look( object[key] );
		}
		result += "}";
	}
	return result;
}

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

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

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


 


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


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