Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   actionscript и реестр ПК (http://www.flasher.ru/forum/showthread.php?t=187702)

JOGER 22.11.2012 22:09

actionscript и реестр ПК
 
Здравствуйте! Уважаемые форумчане, помогите советом и разъясните:
Можно ли через экшнскрипт записать информацию в реестр компьютера? Для простоты понимания мне нужно сделать чтобы при запуске файла стартовал таймер и показывалось изображение 5 минут, а если прошло 5 минут то появлялось сообщение к примеру "Hello". Только проблема в том, что мне нужно чтобы при закрытии файла 5 минут продолжали тикать. И если открыть файл спустя 5 минут, то уже было написано "Hello". Возможно ли так сделать?

Или есть какой-то более простой способ чем использование реестра?

Заранее спасибо!!!

GBee 22.11.2012 22:14

SharedObject
А в реестр наверно через аир.

JOGER 22.11.2012 22:15

прошу поясни, а то я совсем новичок в этом деле..

Inet_PC 22.11.2012 22:47

Вам нужно было просто поискать, либо здесь на форуме, либо в гугле, и Вы бы точно нашли это.

JOGER 22.11.2012 23:19

В этом то и проблема, если б я знал что искать..

а как примерно это исполнить, можете написать? так сказать без высоких материй..

silin 22.11.2012 23:41

Код AS3:

public class Main extends Sprite 
{
        private var start:Number;
        private var label:TextField = new TextField();
        private var timer:Timer = new Timer(1000);
        private var so:SharedObject;
 
 
        public function Main():void
        {
                so = SharedObject.getLocal("hello");
                //so.clear(); return;// удаление записи
 
 
                if (so.data.start)
                {
                        // если есть записанное время, берем его
                        start = so.data.start;
                }else
                {
                        // если нет, то берем системное и его записываем
                        so.data.start = start = (new Date()).getTime();
 
                }
 
                addChild(label);
                timer.addEventListener(TimerEvent.TIMER, timer_timer);
                timer.start();
        }
 
        private function timer_timer(e:TimerEvent):void
        {
 
                var delta:Number =(new Date()).getTime() - start;
 
                if (delta < 5*6e4)
                {
                        // не прошло 5 мин.
                        label.text = int(delta / 6e4) + " min; " + int(1e-3*(delta % 6e4)) + " sec";
                }else
                {
                        // все, привет..
                        label.text = "hello";
                        timer.removeEventListener(TimerEvent.TIMER, timer_timer);
 
                }
        }
 
}


gagaga 22.11.2012 23:42

в каждом классе в доках есть примеры внизу страницы

Inet_PC 23.11.2012 09:25

Цитата:

В этом то и проблема, если б я знал что искать..
Вам же во втором посте указали что искать...

JOGER 23.11.2012 14:26

Цитата:

Сообщение от silin (Сообщение 1105716)
Код AS3:

public class Main extends Sprite 
{
        private var start:Number;
        private var label:TextField = new TextField();
        private var timer:Timer = new Timer(1000);
        private var so:SharedObject;
 
 
        public function Main():void
        {
                so = SharedObject.getLocal("hello");
                //so.clear(); return;// удаление записи
 
 
                if (so.data.start)
                {
                        // если есть записанное время, берем его
                        start = so.data.start;
                }else
                {
                        // если нет, то берем системное и его записываем
                        so.data.start = start = (new Date()).getTime();
 
                }
 
                addChild(label);
                timer.addEventListener(TimerEvent.TIMER, timer_timer);
                timer.start();
        }
 
        private function timer_timer(e:TimerEvent):void
        {
 
                var delta:Number =(new Date()).getTime() - start;
 
                if (delta < 5*6e4)
                {
                        // не прошло 5 мин.
                        label.text = int(delta / 6e4) + " min; " + int(1e-3*(delta % 6e4)) + " sec";
                }else
                {
                        // все, привет..
                        label.text = "hello";
                        timer.removeEventListener(TimerEvent.TIMER, timer_timer);
 
                }
        }
 
}


вставил код, а компилятор выдал ошибку "Атрибут public может использоваться только внутри пакета. public class Main extends Sprite" как исправить это? или я что то не так делаю?(

silin 23.11.2012 15:35

ага, вставил в кадр..
тогда
Код AS3:

var start:Number;
var label:TextField = new TextField();
var timer:Timer = new Timer(1000);
var so:SharedObject;
 
so = SharedObject.getLocal("hello");
 
if (so.data.start)
{
        // если есть записанное время, берем его (второй и далее запуск флешки)
        start = so.data.start;
}
else
{
        // если нет , то берем системное и его записываем(первый запуск)
        so.data.start = start = (new Date()).getTime();
 
}
 
addChild(label);
timer.addEventListener(TimerEvent.TIMER, timer_timer);
timer.start();
 
function timer_timer(e:TimerEvent):void
{
 
        var delta:Number = (new Date()).getTime() - start;
 
        if (delta < 5 * 6e4)
        {
                // не прошло 5 мин.
                label.text = int(delta / 6e4) + " min; " + int(1e-3 * (delta % 6e4)) + " sec";
        }
        else
        {
                // все, привет..
                label.text = "hello";
                timer.removeEventListener(TimerEvent.TIMER, timer_timer);
 
        }
}



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

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