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

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

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

Регистрация: May 2010
Сообщений: 10
По умолчанию Достать переменные из файла

в файле лежат пременные в таком виде:
time=15:10&name=Иван&id=123

нужно вывести в поле mbox переменные в формате time - name (id)

пишу
Код AS1/AS2:
var mbox = time - name (id);
во флешке пишет "undefined"

подскажите, как задать значение переменной?
если можно поподробней, я программирую всего неделю)

Старый 11.05.2010, 19:24
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Как вы загружаете данные из файла?
Откройте хелп и посмотрите примеры для класса LoadVars.

Потом, когда разберетесь с этим, у вас должно получиться нечто следующее:
Код AS1/AS2:
var lv:LoadVars = new LoadVars();
 
lv.onLoad = function  (success:Boolean) 
{
	if (success)
	{
		trace('Данные загружены');
		var vtime:String = this.vtime;
		var vname:String = this.vname;
		var id:String = this.id;
		mbox.text = vtime + '-' +  vname + '(' + id + ')';
	}
}
lv.load('file.txt'); //если файл лежит рядом
Настоятельно рекомендую поменять имена time и name на другие, как это сделал я, это служебные слова, могут быть неприятности.
Код:
vtime=15:10&vname=Иван&id=123
Если сразу не получится, потрейсите внутри обработчика:
Код AS1/AS2:
trace(this.vtime)
и т.д, чтобы понять, происходит вообще загрузка и разбор данных или нет.


Последний раз редактировалось mooncar; 11.05.2010 в 19:28.
Старый 11.05.2010, 19:31
prokopoffmusic вне форума Посмотреть профиль Отправить личное сообщение для prokopoffmusic Найти все сообщения от prokopoffmusic
  № 3  
Ответить с цитированием
prokopoffmusic

Регистрация: May 2010
Сообщений: 10
Загружаю вот так:

Код AS1/AS2:
setInterval(function () {
loadVariables("base.txt", _root);
},200);
верно?

Добавлено через 5 минут
Всё, разобрался! Спасибо!

Старый 11.05.2010, 19:40
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Нет, не верно. Я же написал как делается.
Никаких loadVariables и тем более с setInterval ! Это бред.
Такая конструкция имела право на жизнь лет 6-7 назад, если не больше.

Старый 11.05.2010, 19:41
prokopoffmusic вне форума Посмотреть профиль Отправить личное сообщение для prokopoffmusic Найти все сообщения от prokopoffmusic
  № 5  
Ответить с цитированием
prokopoffmusic

Регистрация: May 2010
Сообщений: 10
а как тогда без setInterval сделать чтобы иформация в поле mbox обновлялась?

Старый 11.05.2010, 19:45
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от prokopoffmusic Посмотреть сообщение
а как тогда без setInterval сделать чтобы иформация в поле mbox обновлялась?
Про обновление вы ничего не писали. Я писал, что бредово использовать связку устаревшего и непригодного loadVariables и вполне себе рабочей лошадки setInterval.

Тогда так:
Код AS1/AS2:
var lv:LoadVars = new LoadVars();
 
lv.onLoad = function  (success:Boolean) 
{
	if (success)
	{
		trace('Данные загружены');
		var vtime:String = this.vtime;
		var vname:String = this.vname;
		var id:String = this.id;
		mbox.text = vtime + '-' +  vname + '(' + id + ')';
	}
}
 
function loadFile () 
{
	lv.load('base.txt'); 
}
 
var lf:Number = setInterval(loadFile, 200);
PS. Еще вот что. Сохраняйте ваш base.txt в кодировке UTF-8 во избежание граблей, на которые многие встают.


Последний раз редактировалось mooncar; 11.05.2010 в 20:04.
Старый 11.05.2010, 20:05
prokopoffmusic вне форума Посмотреть профиль Отправить личное сообщение для prokopoffmusic Найти все сообщения от prokopoffmusic
  № 7  
Ответить с цитированием
prokopoffmusic

Регистрация: May 2010
Сообщений: 10
Цитата:
Сохраняйте ваш base.txt в кодировке UTF-8
Никак иначе!

что-то обновление не происходит...

Старый 11.05.2010, 20:12
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вы на сайте тестите или в среде разработки?

Добавлено через 3 минуты
Если на сайте, то пишите так:
Код AS1/AS2:
lv.load('base.txt?' + Math.random());
— этим избегается кэширование base.txt браузером.


Последний раз редактировалось mooncar; 11.05.2010 в 20:16.
Старый 11.05.2010, 20:23
prokopoffmusic вне форума Посмотреть профиль Отправить личное сообщение для prokopoffmusic Найти все сообщения от prokopoffmusic
  № 9  
Ответить с цитированием
prokopoffmusic

Регистрация: May 2010
Сообщений: 10
нет, не на сайте, локально запускаю swf-ку, меняю содержимое файла base.txt, а обновление не происходит.
причем таким вот образом всё работало
Код AS1/AS2:
messageURL = "base.txt";
setInterval(function () {
loadVariables(messageURL, _root);
},100);
но так переменные не вытащить

Старый 11.05.2010, 20:30
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Все нормально работает.
Вложения
Тип файла: rar load.rar (32.9 Кб, 62 просмотров)

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

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

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


 


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


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