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

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

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

Добавлено через 1 час 1 минуту
Кеш запретил в браузере, вроде как всё работает. Но это конечно не вариант (
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
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
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru