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

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

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

Регистрация: Feb 2007
Сообщений: 16
Attention Проблема с загрузкой данных из *.txt и преобразование их в combobox и list

Всем привет

Загружаю данные из текстовика и чето он не хочет загражать как мне нужно.

во флешке
Код:
System.useCodepage = true;
txt = new LoadVars();
txt.load("start.txt");
txt.onLoad = function() {
	txt_ID1 = this.ID1.split("^").concat();
	for (i=0; i<=txt_ID1.length; i++) {
		_glavi_.addItem(txt_ID1[i]);
	}
	txt_ID2 = this.ID2.split("|").concat();
	txt_ID3 = this.ID2.split("^").concat();
	for (i=0; i<=txt_ID3.length; i++) {
		podglavi.addItem(txt_ID2[i]);
	}
};
function change(evt) {
	//trace(evt.target.selectedItem.label);
}
_glavi_.addEventListener("change", this);
_glavi_ - ComboBox
podglavi - List

в текстовике
Код:
//*Главы*//
&ID1=1^2^3^4^5&

//*Содержание глав*//
&ID2=1_1|1_2|1_3^2_1|2_2|2_3^3_1|3_2|3_3|^4_1|4_2|4_3^5_1|5_2|5_3&

//*Путь на файл к содержанию глав*//
&ID3=www.1.ru|www.1.ru|www.1.ru^www.2.ru|www.2.ru|www.2.ru&
1 проблема:
Откуда береться undefined,undefined, в component.ComboBox? Все остальное то он вставляет в него нормально...
2 проблема:
Загружаю данные и ни как не могу их разделить толком вставив в component.List?
3 проблема
Как упралять ComboBox? Хочу чтоб при нажатии на в ComboBox "1", в component.List появлялись строки
1_1
1_2
1_3
и т.д., а он сволоч не дает

подскажите, отстал от жизни...


Последний раз редактировалось _bioscorpio_; 08.02.2007 в 14:07.
Старый 08.02.2007, 14:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
useCodepage — зло.
Комментарии в текстовом файле убери, потому что это данные, а не комментарии.
А ещё лучше пользовать XML для подобных вещей.

Старый 08.02.2007, 14:42
_bioscorpio_ вне форума Посмотреть профиль Отправить личное сообщение для _bioscorpio_ Найти все сообщения от _bioscorpio_
  № 3  
Ответить с цитированием
_bioscorpio_

Регистрация: Feb 2007
Сообщений: 16
__etc
Да я бы с радостью все поменял если бы знал как обращаться с XML

Старый 08.02.2007, 14:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Самое время научиться.
http://livedocs.macromedia.com/flash.../00001592.html

Старый 08.02.2007, 14:55
_bioscorpio_ вне форума Посмотреть профиль Отправить личное сообщение для _bioscorpio_ Найти все сообщения от _bioscorpio_
  № 5  
Ответить с цитированием
_bioscorpio_

Регистрация: Feb 2007
Сообщений: 16
___ect
хорошо я почитаю. может все же поможете как так сделать. а?


Последний раз редактировалось _bioscorpio_; 08.02.2007 в 14:58.
Старый 08.02.2007, 14:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не знаю, такая организация данных заведомо гиблая, поэтому, если кому-то хочется помочь её реализовать — пожалуйста. А я пас, я бы переделал в XML.

Старый 08.02.2007, 16:03
Kogrom вне форума Посмотреть профиль Отправить личное сообщение для Kogrom Посетить домашнюю страницу Kogrom Найти все сообщения от Kogrom
  № 7  
Ответить с цитированием
Kogrom
 
Аватар для Kogrom

Регистрация: Aug 2005
Адрес: Уфимец в СПб
Сообщений: 360
Отправить сообщение для Kogrom с помощью ICQ
Похожая проблема тут.
Файл лучше сохранять в кодировке UTF с сигнатурой (блокнот автоматически добавляет сигнатуру в текстовый файл). Тогда useCodepage не будет злом.

Старый 08.02.2007, 16:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Он не будет злом, потому что станет ненужным. А вот сигнатура лишняя.

Старый 08.02.2007, 16:42
_bioscorpio_ вне форума Посмотреть профиль Отправить личное сообщение для _bioscorpio_ Найти все сообщения от _bioscorpio_
  № 9  
Ответить с цитированием
_bioscorpio_

Регистрация: Feb 2007
Сообщений: 16
ладно, переделал.

во флехе
Код:
var lan:XML = new XML();
var masterArray:Array = new Array();
lan.ignoreWhite = true;
lan.load("asd.xml");
lan.onLoad = function(success) {
	var currentLangNode:XMLNode = this.firstChild.firstChild;
	var i:Number = 0;
	for (var childNode = currentLangNode; childNode != null; childNode=childNode.nextSibling, i++) {
		var j:Number = 0;
		masterArray[i] = new Array();
		masterArray[i][0] = childNode.nodeName;
		j++;
		for (var stringNode:XMLNode = childNode.firstChild; stringNode != null; stringNode=stringNode.nextSibling, j++) {
			masterArray[i][j] = stringNode.firstChild.nodeValue;
		}
	}
	for (var k = 0; k<masterArray.length; k++) {
		glavi.addItem(masterArray[k][0]);
	}
};
var evt:Object = new Object();
evt.change = function(eventObj) {
	txt.removeAll();
	for (var l = 0; l<masterArray.length; l++) {
		if (masterArray[l][0] == eventObj.target.value) {
			txt.addItem(masterArray[l][1]);
			trace(masterArray[l][1]);
		}
	}
};
glavi.addEventListener("change", evt);
в XML
Код:
<strings>
	<1>
	            <1_1>
		       <url>1_1.txt</url>
	            </1_1>
	            <1_2>
		       <url>1_2.txt</url>
	            </1_2>
	            <1_3>
		       <url>1_3.txt</url>
	            </1_3>
	</1>
	<2>
	            <2_1>
		       <url>1_1.txt</url>
	            </2_1>
	            <2_2>
		       <url>1_2.txt</url>
	            </2_2>
	            <2_3>
		       <url>1_3.txt</url>
	            </2_3>
	</2>
	<3>
	            <3_1>
		       <url>1_1.txt</url>
	            </3_1>
	            <3_2>
		       <url>1_2.txt</url>
	            </3_2>
	            <3_3>
		       <url>1_3.txt</url>
	            </3_3>
	</3>
</strings>
Все равно не работает. Как заставить все это выстраиваться как нужно?
3 проблема

Старый 08.02.2007, 17:23
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
var listXML = new XML();
listXML.ignoreWhite = true;
listXML.onLoad = function(success) {
	if (!this.loaded||this.status) {
		throw new Error('An error occured while loading XML');
		return;
	}
	var nodes = this.firstChild.childNodes;
	var nodesLength = nodes.length;
	for (var i = 0;i<nodesLength;i++) {
		var node = nodes[i];
		list_cmb.addItem(node.attributes['label'],node.childNodes);
	}
	list_cmb.dispatchEvent({type:'change'});
}
var comboboxListener = {};
comboboxListener.change = function(event) {
	var nodes = event.target.selectedItem.data;
	var nodesLength = nodes.length;
	this.items_lst.removeAll();
	for (var i = 0;i<nodesLength;i++) {
		var node = nodes[i];
		this.items_lst.addItem(node.attributes['label'],node);
	}
}
comboboxListener.items_lst = items_lst;
var listListener = {};
listListener.change = function(event) {
	trace('URL: '+event.target.selectedItem.data.attributes['url']);
}
items_lst.addEventListener('change',listListener);
list_cmb.addEventListener('change',comboboxListener);
listXML.load('asd.xml');
asd.xml:
Код:
<?xml version="1.0" encoding="utf-8"?>
<strings>
	<list label="1">
		<item label="1_1" url="1_1.txt"/>
		<item label="1_2" url="1_2.txt"/>
		<item label="1_3" url="1_3.txt"/>
	</list>
	<list label="2">
		<item label="2_1" url="2_1.txt"/>
		<item label="2_2" url="2_2.txt"/>
		<item label="2_3" url="2_3.txt"/>
	</list>
	<list label="3">
		<item label="3_1" url="3_1.txt"/>
		<item label="3_2" url="3_2.txt"/>
		<item label="3_3" url="3_3.txt"/>
	</list>
</strings>
items_lst — List на сцене
list_cmb — ComboBox на сцене

Все-таки мне пришлось сделать за вас вашу работу.


Последний раз редактировалось etc; 08.02.2007 в 17:27.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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