Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Выполнять что-то раз в сутки, но в определенное время. (http://www.flasher.ru/forum/showthread.php?t=167815)

maljavka 13.09.2011 14:32

Выполнять что-то раз в сутки, но в определенное время.
 
Здравствуйте.
Необходимо сохранять некоторые данные раз в сутки в 00:00. Независимо от того, когда программа запущена (Приложение Air). Класс Timer для такого, вроде, не подходит. Есть какие-нибудь ещё варианты?
Спасибо.

Genzo 13.09.2011 14:40

ENTER_FRAME + Date

goodguy 13.09.2011 14:41

По таймеру можно проверять текущую дату и время, которые брать из экземпляра класса Date. И если они соответствуют нужным, выполнять необъодимое действие

maljavka 13.09.2011 14:45

Ну я тоже изначально думал только на Date+Timer. Но как-то это несколько загруженно что ли... Я надеялся что имеется какой-нибудь встроенный класс "будильник"...

DaFive 13.09.2011 15:59

Цитата:

Я надеялся что имеется какой-нибудь встроенный класс "будильник"
Код AS3:

var date:Date = new Date();
date.getHours() +":"+date.getMinutes()+":"+date.getSeconds();

Ну нули сами добавите куда надо.

Dukobpa3 13.09.2011 16:17

ну минутный таймер не шибко загрузит. Плюс еще одну проверку при запуске запилить.

Добавлено через 58 секунд
@DaFive - это для проверки ок. А вот саму проверку запускать по таймеру ;)

Astraport 13.09.2011 17:32

Цитата:

Необходимо сохранять некоторые данные раз в сутки в 00:00. Независимо от того, когда программа запущена (Приложение Air).
Непонятно требуется ли запуск программы для сохранения?
Если - нет, то решается только системными утилитами или прогами типа Sheduler.
Если - да, то можно писать в SharedObject дату сохранения и если она отличается от текущей, то сохранять.

goodguy 13.09.2011 18:12

Цитата:

Сообщение от maljavka (Сообщение 1031094)
Ну я тоже изначально думал только на Date+Timer. Но как-то это несколько загруженно что ли... Я надеялся что имеется какой-нибудь встроенный класс "будильник"...

Ну допустим он был бы. Как бы он работал? Точно так же. Всегда нужно постоянное обновление данных.
Таймер систему не загрузит, это вообще мелочи.

BuKT 14.09.2011 08:16

CIH? (:

А может быть задача описана неполно? Допустим не просто в полночь что-либо делать, а при каком-то дополнительном условии. Тогда и решить возможно будет как-то иначе.

TanaTiX 14.09.2011 09:59

Получить текущую дату. Создать дату, обозначенную, как время срабатывания будильника. Вычислить между ними разницу. Поставить один таймер на полученное значение. Делать это каждый раз при запуске программы и/или при срабатывании таймера. Если необходимо вычислять значения не зависимо от того, включена программа или нет, запоминаем необходимые значения, например, через SharedObject и при запуске программы вычисляем интересующие значения.


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

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