С Новым годом! Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7

Обновление текста по таймеру

27.07.2012, 10:01. Показов 2287. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу больно ногами не бить, с флешем работают первый день, вернее первые 2 часа.
Встала задачка сделать информационное табло в холле конторы, хочу использовать для этого китайскую приставку с андройдом, на которой будет запускаться флеш-ролик.
Наткнулся на такие грабли, у меня текст должен обновляться периодически считывая данные с файла, делаю это так.

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* импорт классов */
import flash.utils.Timer;
import flash.events.TimerEvent;/* создаём объект Timer и в качестве параметра указываем периодичность вызова функции (в миллисекундах) */
import fl.motion.Color;
 
var timer:Timer = new Timer(10000);/* ловим событие TimerEvent.TIMER и при наступлении события запускаем функцию anim */
timer.addEventListener(TimerEvent.TIMER, anim);/* функция, периодически запускаемая таймером */
 
//Создаём поля
var format:TextFormat = new TextFormat(); 
format.font = "Verdana"; 
format.color = 0xFF0000; 
format.size = 36; 
 
var USPT:TextField=new TextField();
USPT.defaultTextFormat = format; 
addChild(USPT);
USPT.x = 50;
USPT.y = 150;
USPT.autoSize = TextFieldAutoSize.LEFT;
 
 
//Таймер
var myText:String;
var myLoader:URLLoader = new URLLoader();
var request:URLRequest=new URLRequest("E://params.txt");
 
function anim(event:TimerEvent):void
{
 
myLoader.addEventListener(Event.COMPLETE, allLoad);
myLoader.addEventListener(IOErrorEvent.IO_ERROR,ehError);
myLoader.load(request); 
 
}/* запускаем таймер */
 
timer.start();
 
 
 
function ehError(e:IOErrorEvent):void {
trace("При чтении файла произошла ошибка:\n"+e);
}
 
//Функция выполняемая в результате загрузки данных
function allLoad(event:Event):void 
{
var tempLoader:URLLoader=URLLoader(event.target);
myText=new String(tempLoader.data);
//trace(myText ); //Можем вывести данные в консоль
var myVars:URLVariables = new URLVariables(tempLoader.data);
trace("Продажа $: " + myVars.USP);
trace("Продажа Eu:" + myVars.EUP);
 
USPT.text="Курс USD: "+ myVars.USP;
 
}
Почему то бри изменении данных, старый текст остаётся, мне это как то не понятно , объект то я создаю единожды, а потом меняю его свойство, догадываюсь, что скрипт выполняется не единожды, объясните плиз, где делаю что не так.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2012, 10:01
Ответы с готовыми решениями:

Обновление текста по таймеру
Что нужно: Раз в секунду идёт пересчёт данных внутри приложения и эти обновлённые данные выводятся на экран. Что сделано: ...

Обновление listView по таймеру
Здравствуйте. Вопрос вроде бы очень частый, но ничего годного пока не нашел и не придумал. Есть класс, в нем статический лист, который...

Автоматическое обновление документа по таймеру
есть тaблицa, кaждaя ячеикa тaблицы этo фaил php <table> <tr><td>img.php</td></tr> <tr><td>yy.php</td></tr> </table> ...

11
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 10:26
import ничего не создает, а говорит компилятору, что используется тот или иной класс.
Таймер запускает блок загрузки с каждым тиком. Не останавливается. Загрузка осуществляется каждый раз. Использование myVars очень странное. Я так понимаю, что достаточно было бы нехитрого парсинга.
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7
27.07.2012, 10:37  [ТС]
С импортом понятно,myVars пример из документации, вполне нормально работает.
А почему у меня идёт наложение текста, я меняю в файлике текст, во внеочередной раз значение подгружается и текст старый остаётся, а на него накладывается новый, объект с TextField создаётся единожды, и вроде как я меняю его свойство.
0
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 10:40
Sandro74, похоже, что речь о типичной ошибке, при написании кода в кадрах: если кадров больше одного, то данный код выполняется с каждым кадром, т.е. текстовое поле создается каждый раз со всеми вытекающими
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7
27.07.2012, 10:46  [ТС]
А как от этого уйти можно, не подскажите ?
0
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 10:55
Писать в классах или, как минимум, обеспечить исключение повторного входа в кадр, если в этом нет нужды.
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7
27.07.2012, 11:55  [ТС]
А можно поподробнее , что такое классы представляю, но как от кадров уйти ? Чтоб единожды запустить таймер и обрабатывать его события.
0
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 12:04
В уроках есть статья, пока единственная, но как раз для вас.
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7
27.07.2012, 19:24  [ТС]
Спасибо, полезная статья. Всё сделал, но вот встала теперь другая проблема, файлик я размещаю на веб сервере. Если флеш размещён там же, то отрабатывает,возникают проблемы с кешированием, удаляешь файл или меняешь, флеш это не отрабатывает, отображает старые значения. А если запускать флеш с помощью локального проигрывателя, то он не лезет в сеть, видимо стоит ограничение по безопастности. Подскажите как исправить эти недостатки , очень нужно.

Добавлено через 1 час 1 минуту
Кеш запретил в браузере, вроде как всё работает. Но это конечно не вариант (
0
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 19:46
При таком варианте кешироваться не будет, т.к. ссылка каждый раз будет отличаться.
ActionScript 3
1
var url:URLRequest = new URLRequest(_baseLink + "?rnd=" + (new Date()));
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 7
27.07.2012, 20:19  [ТС]
Спасибо, хитро ) А локальный флеш в интернет как заставить ломиться не подскажите ? На китайском девайсе работает стабильно тока опера мобайл, но там трабл, строчка с адресом не убирается, все настройки перерыл. На табло будет глаза резать (((
0
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
27.07.2012, 20:28
Цитата Сообщение от Sandro74 Посмотреть сообщение
А локальный флеш в интернет как заставить ломиться не подскажите ?
Если прописать соответствующие пути к файлам в сети, то стучаться можно и локально. но при этом необходимо, что бы пользователь разрешил такое обращение для файлов/папок, откуда происходит доступ. Это связано с особенностями политики безопасности. Если это не подойдет (а скорее всего так и будет), то есть смысл посмотреть в сторону Air. Точно не помню (редко приходится заниматься таким направлением), но с ограничениями там вроде получше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2012, 20:28
Помогаю со студенческими работами здесь

Обновление данных в DataGridView по таймеру
Всем привет, подскажите как правильно сделать - у меня на форме создаются и заполняются гриды через функцию. Мне надо заставить их...

Обновление таблицы на странице по таймеру
Собственно, в таблицу вывожу данные из SQL базы. Периодически они там обновляются, как сделать так, чтобы по таймеру данные обновлялись и...

Обновление метки (label) по таймеру
Привет. Используется 2013 Visual Studio C++. Есть GUI проект с использованием .NET Windows Forms. На форме MyForm.h только...

Обновление страницы в WebBrowser по таймеру
Как реализовать обновление webBrowser1.Refresh(); в соответствии с таймером, к примеру - страница обновляется каждые 5 секунд?? Если можно,...

WMI обновление загрузки ЦП по таймеру
Я пытался сделать обновление загрузки ЦП по таймеру, но у меня пустое поле вместо значения. Скажите кто знает как можно еще сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru