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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 10.10.2010, 22:23
misterika вне форума Посмотреть профиль Отправить личное сообщение для misterika Найти все сообщения от misterika
  № 1  
misterika

Регистрация: Mar 2007
Сообщений: 3
По умолчанию Падежи в счетчике отсчета времени

Здравствуйте, уважаемые мастера)

Если найдется здесь гуру, который сможет мне помочь буду очень рада.

Есть код отсчета времени до даты. Работает нормально. Проблема в том, что не получается уговорить склонять по-человечески падежи, т.е. днЕЙ, днЯ, дЕНЬ.

Вот собственно скрипт:

Код AS1/AS2:
function MyMarch(currentYear)
{
    for (i = 31; i >= 23; i--)
    {
        var _loc1 = new Date(currentYear, 2, i);
        var _loc2 = _loc1.getDay();
        if (_loc2 == 0)
        {
            var _loc3 = _loc1.getTime();
            break;
        } // end if
    } // end of for
    return (_loc3);
} // End of the function
function MyOctober(currentYear)
{
    for (i = 31; i >= 23; i--)
    {
        var _loc1 = new Date(currentYear, 09, i);
        var _loc2 = _loc1.getDay();
        if (_loc2 == 0)
        {
            var _loc3 = _loc1.getTime();
            break;
        } // end if
    } // end of for
    return (_loc3);
} // End of the function
function MCountdown(FtargetTime, currentTime)
{
    var _loc5 = FtargetTime - currentTime;
    var _loc1 = Math.floor(_loc5 / 1000);
    var _loc2 = Math.floor(_loc1 / 60);
    var _loc3 = Math.floor(_loc2 / 60);
    var _loc4 = Math.floor(_loc3 / 24);
    _loc1 = String(_loc1 % 60);
    if (_loc1.length < 2)
    {
        _loc1 = "0" + _loc1;
    } // end if
    _loc2 = String(_loc2 % 60);
    if (_loc2.length < 2)
    {
        _loc2 = "0" + _loc2;
    } // end if
    _loc3 = String(_loc3 % 24);
    if (_loc3.length < 2)
    {
        _loc3 = "0" + _loc3;
    } // end if
    _loc4 = String(_loc4);
    if (_loc4 > 0)
    {
        var _loc6 = _days + " дн. " + _loc3 + " час. " + _loc2 + " мин. " + _loc1 + " сек.";
    }
    else if (_loc3 > 0)
    {
        _loc6 = _loc3 + " час. " + _loc2 + " мин. " + _loc1 + " сек.";
    }
    else if (_loc2 > 0)
    {
        _loc6 = _loc2 + " мин. " + _loc1 + " сек.";
    }
    else
    {
        _loc6 = _loc1 + " сек.";
    } // end else if
    return (_loc6);
} // End of the function
function MCountup(FtargetTime, currentTime)
{
    var _loc5 = currentTime - FtargetTime;
    var _loc1 = Math.floor(_loc5 / 1000);
    var _loc2 = Math.floor(_loc1 / 60);
    var _loc3 = Math.floor(_loc2 / 60);
    var _loc4 = Math.floor(_loc3 / 24);
    _loc1 = String(_loc1 % 60);
    if (_loc1.length < 2)
    {
        _loc1 = "0" + _loc1;
    } // end if
    _loc2 = String(_loc2 % 60);
    if (_loc2.length < 2)
    {
        _loc2 = "0" + _loc2;
    } // end if
    _loc3 = String(_loc3 % 24);
    if (_loc3.length < 2)
    {
        _loc3 = "0" + _loc3;
    } // end if
    _loc4 = String(_loc4);
    if (_loc4 > 0)
    {
        var _loc6 = _loc4 + " дн. " + _loc3 + " час. " + _loc2 + " мин. " + _loc1 + " сек.";
    }
    else if (_loc3 > 0)
    {
        _loc6 = _loc3 + " час. " + _loc2 + " мин. " + _loc1 + " сек.";
    }
    else if (_loc2 > 0)
    {
        _loc6 = _loc2 + " мин. " + _loc1 + " сек.";
    }
    else
    {
        _loc6 = _loc1 + " сек.";
    } // end else if
    return (_loc6);
} // End of the function
link_mc._alpha = 0;
var bool = false;
if (_root.mcolor)
{
    mcolor = "0x" + _root.mcolor;
}
else
{
    mcolor = "0xff0000";
} // end else if
if (_root.mtext)
{
    mtext = _root.mtext;
}
else
 // end else if
if (_root.myear)
{
    var myear = Number(_root.myear);
}
else
{
    var myear = 2010;
} // end else if
if (_root.mmonth)
{
    var mmonth = Number(_root.mmonth);
}
else
{
    var mmonth = 11;
} // end else if
if (_root.mday)
{
    var mday = Number(_root.mday);
}
else
{
    var mday = 2;
} // end else if
if (_root.doot)
{
    doot = _root.doot;
}
else
{
    doot = 0;
} // end else if
if (_root.mtext1)
{
    mtext1 = _root.mtext1;
}
else if (doot == 0)
{
    mtext1 = "Праздник уже прошел";
}
else
{
    mtext1 = "Праздник еще не наступил";
} // end else if
if (_root.docircle)
{
    docircle = _root.docircle;
}
else
{
    docircle = 0;
} // end else if
var my_color = new Color(bgrec_mc);
my_color.setRGB(mcolor);
var my_fmt = new TextFormat();
my_fmt.color = mcolor;
party.text = mtext;
party.setTextFormat(my_fmt);
var targetDate = new Date(myear, mmonth, mday);
if (doot == 0)
{
    var targetTime = targetDate.getTime();
}
else
{
    var targetTime = targetDate.getTime() ;
} // end else if
this.onEnterFrame = function ()
{
    var _loc3 = new Date();
    var _loc5 = _loc3.getDate();
    var _loc2 = _loc3.getFullYear();
    var _loc4 = _loc3.getMonth();
    var _loc1 = _loc3.getTime();
    if (_loc1 > MyMarch(_loc2) && _loc1 < MyOctober(_loc2))
    {
        if (doot == 1)
        {
            _loc1 = _loc1 + 3600000;
        } // end if
    } // end if
    var _loc7 = new Date(_loc2 + 1, mmonth, mday);
    var _loc6 = _loc7.getTime();
    if (bool && link_mc._alpha <= 100)
    {
        link_mc._alpha = link_mc._alpha + 7;
    }
    else if (!bool && link_mc._alpha >= 0)
    {
        link_mc._alpha = link_mc._alpha - 7;
    } // end else if
    if (doot == 0)
    {
        if (targetTime > _loc1)
        {
            time_txt.text = MCountdown(targetTime, _loc1);
        }
        else if (mday == _loc5 && mmonth == _loc4 && myear == _loc2)
        {
            time_txt.text = "Этот праздник сегодня ";
        }
        else if (docircle == 1)
        {
            time_txt.text = MCountdown(_loc6, _loc1);
        }
        else
        {
            time_txt.text = mtext1;
        } // end else if
    }
    else if (mday == _loc5 && mmonth == _loc4 && myear == _loc2)
    {
        time_txt.text = "Этот праздник сегодня ";
    }
    else if (targetTime < _loc1)
    {
        time_txt.text = MCountup(targetTime, _loc1);
    }
    else
    {
        time_txt.text = mtext1;
    } // end else if
};
bgrec_mc.onRollOver = function ()
{
    bool = true;
};
bgrec_mc.onRollOut = function ()
{
    bool = false;
};
bgrec_mc.onRelease = function ()
{
    getURL("http://estpovod.ru", "_blank");
};
Может кто-то знает как решить проблемку??


Последний раз редактировалось udaaff; 10.10.2010 в 23:10.
Старый 10.10.2010, 23:10
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Обсуждение кода полученного в результате декомпиляции запрещено.

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

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

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


 


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


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