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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.12.2007, 22:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 11  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
С учетом моего класса
Код:
import ru.inils.date.DateName;
var txt:TextField = this.createTextField ("time_txt", 1, Stage.width / 2 - 100, Stage.height / 2 - 10, 200, 20);
var fmt:TextFormat = new TextFormat ();
fmt.font = "Tahoma";
txt.border = true;
txt.borderColor = 0xff0000;
txt.background = true;
txt.backgroundColor = 0xcccccc;
txt.autoSize = true;
txt.textColor = 0xff0000;
txt.setNewTextFormat (fmt);
var yourDate:Date = new Date (2001, 1, 15);
function countup () {
	var date:Date = new Date ();
	date.setMilliseconds (0);
	date.setSeconds (0);
	date.setMinutes (0);
	date.setHours (0);
	var delta:Date = new Date (date.getTime () - yourDate.getTime ());
	var years:String = '';
	var months:String = '';
	var days:String = '';
	if (delta.getFullYear () - 1970 > 0) {
		years = " " + String (delta.getFullYear () - 1970) + " " + DateName.getName (delta.getFullYear () - 1970, DateName.NAME_YEARS);
	}
	if (delta.getMonth () > 0) {
		months = " " + String (delta.getMonth ()) + " " + DateName.getName (delta.getMonth (), DateName.NAME_MONTHS);
	}
	if (delta.getDate () > 0) {
		days = " " + String (delta.getDate ()) + " " + DateName.getName (delta.getDate (), DateName.NAME_DAYS);
	}
	txt.text = "Со дня нашей свадьбы прошло:" + years + months + days;
}
interval = setInterval (countup, 1000);
countup ();
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.12.2007, 23:04
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 12  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
import ru.inils.date.DateName;
//
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "Tahoma";
with (time_txt) {
	border = true;
	borderColor = 0xff0000;
	background = true;
	backgroundColor = 0xcccccc;
	autoSize = true;
	textColor = 0xff0000;
}
var __itr:Number = Number.NaN;
//
var yourDate:Date = new Date(2001, 11, 25);
var months:Number = yourDate.getMonth();
var years:Number = yourDate.getFullYear();
var days:Number = yourDate.getDate();
var msec:Number = yourDate.getTime();
//
var c_Date:Date = new Date();
var c_months:Number = c_Date.getMonth();
var c_years:Number = c_Date.getFullYear();
var c_days:Number = c_Date.getDate();
var c_msec:Number = c_Date.getTime();
function showElapsed():String {
	if(c_msec-msec<0){
		return "Вы не женаты (может стоит задуматься?)...";
	} else {
		var r_str:String = "Со дня нашей свадьбы прошло";
		var r_years:Number = c_years-years;
		var r_months:Number = c_months-months;
		var r_days:Number = c_days-days;
		if(r_days<0){
			switch(c_months){
				case 0:
				case 2:
				case 4:
				case 6:
				case 7:
				case 9:
				case 11:
					r_days = 31+r_days;
					break;
				case 1:
					if(c_years%4){
						r_days = 29+r_days;
					} else {
						r_days = 28+r_days;
					}
					break;
				default :
					r_days = 30+r_days;
					break;
			}
			r_months--;
		}
		if(r_months<0){
			r_months = 12+r_months;
			r_years--;
		}
		if(r_years>0){
			r_str += " " + r_years + " " + DateName.getName (r_years, DateName.NAME_YEARS);
		}
		if(r_months>0){
			r_str += " " + r_months + " " + DateName.getName (r_months, DateName.NAME_MONTHS);
		}
		if(r_days>0){
			r_str += " " + r_days + " " + DateName.getName (r_days, DateName.NAME_DAYS);
		}
		return r_str;
	}
}
function updateText():Void {
	time_txt.text = showElapsed();
}
updateText();
__itr = setInterval(updateText,1000);
Класс iNilsa, соответсвенно, положить в папку [папка с проектом]/ru/inils/date
Ну, код iNilsa пожалуй по-оптимальнее будет =)
Ток не рассматривается ситуация, если дата свадьбы намечена на будущее %)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 23.12.2007 в 23:10.
Старый 24.12.2007, 05:30
Sogdiana вне форума Посмотреть профиль Отправить личное сообщение для Sogdiana Найти все сообщения от Sogdiana
  № 13  
Ответить с цитированием
Sogdiana
 
Аватар для Sogdiana

Регистрация: Dec 2007
Сообщений: 9
Большое спасибо! Буду сегодня тестить, о результатах отпишусь.

Старый 24.12.2007, 10:56
Sogdiana вне форума Посмотреть профиль Отправить личное сообщение для Sogdiana Найти все сообщения от Sogdiana
  № 14  
Ответить с цитированием
Sogdiana
 
Аватар для Sogdiana

Регистрация: Dec 2007
Сообщений: 9
iNils, wvxvw, доброго времени суток! Извините за назойливость, снова нужна ваша помощь.
Файл проекта у меня называется project.swf, соответственно я создала класс в файле project.as и поместила его в: [папка с проектом]/ru/inils/date . Но теперь в просмотре получается следующая картина:
1 undifined 8 undifined 15 undifined (соответственно по дате должно было быть 1 год 8 месяцев 15 дней.
Результаты счетчика работают правильно, но наименование лет, месяцев и дней почему-то код из класса не тянет.
Что я не так сделала? Подскажите пожалуйста.

P/S В кодах ничего не меняла, вставила их как есть из последней редакции wvxvw'а. В файл project.as поместила код iNils'а с поста #8.


Последний раз редактировалось Sogdiana; 24.12.2007 в 11:03.
Старый 24.12.2007, 12:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 15  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ок, предположим, флешка, над которой работаете лежит по такому адресу:
D:\myProjects\flashProjects\project.swf
тогда класс iNilsa нужно положить в:
D:\myProjects\flashProjects\ru\inils\date\DateName.as
__________________
Hell is the possibility of sanity

Старый 24.12.2007, 13:42
Sogdiana вне форума Посмотреть профиль Отправить личное сообщение для Sogdiana Найти все сообщения от Sogdiana
  № 16  
Ответить с цитированием
Sogdiana
 
Аватар для Sogdiana

Регистрация: Dec 2007
Сообщений: 9
Спасибо, теперь всё заработало. Поначалу я так и сделала, поместив класс iNils'a в файл DateName.as, но оказывается, что необходимо было после DateName дать пробел, то есть назвать файл DateName .as.
Большое всем спасибо, тему можно закрывать.

Старый 24.12.2007, 13:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это форум добавил пробел, на самом деле его нет.

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

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

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


 


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


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