Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вывод даты... (http://www.flasher.ru/forum/showthread.php?t=58699)

ЭрСи 27.05.2004 09:26

Вывод даты...
 
Как сделать, чтобы во флэш ролике динамически отображалась дата в таком формате сб 13.03.2004, где сб день недели. Как на Jav'е сделать я знаю, а вот с Action Script у меня не очень пока.
P.S.
И еще такой вопрос: как можно вставить такой (с датой) Java-скрипт во Флэш. Насчет переменных мне все понятно, но я в Jav'e использую вот еще что document.write(перечисление переменных), как с этим быть?

Крин 27.05.2004 09:29

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

dimarik 27.05.2004 10:54

По поводу отображения даты в вышеприведенном формате: RTFM -> ActionScript Dictionary -> D -> Date class -> Date.getDay(), Date.getDate(), Date.getMonth(), Date.getFullYear(). Date.getDay() (он от 0 до 6) проверяешь case'ом и выдаешь "вс", "пн", "вт" и т.д. Складываешь все вместе и viola! Да, еще вешаешь код на onClipEvent(enterFrame){} или создаешь компоненту ;)

greyshaman 27.05.2004 12:41

createTextField("df",1,5,20,100,20);
days=["Вс","Пн","Вт","Ср","Чт","Пт","Сб"];
dt=new Date(getDate());
df.text=days[dt.getDay()]+" "+ ((dt.getDate()<10) ? "0" + dt.getDate() : dt.getDate()) + "."+((dt.getMonth()+1<10) ? "0" + (dt.getMonth()+1) : (dt.getMonth()+1)) + "."+dt.getFullYear();
tf = new TextFormat();
tf.font="Arial";tf.bold = true;tf.color=0x999999;
df.setTextFormat(tf);

ЭрСи 28.05.2004 09:34

Спасибо greyshaman. Код работает. Но помогите чайнику разобраться, что я делал неправильно.

Попрбовал вот как сделать, создал текстовое поле присвоил ему переменную date, вставил вот такой скрипт:
Код:

mydate = new Date(); 
data = mydate.getDate(); 
den = mydate.getDay();
god = mydate.getFullYear(); 
mes = mydate.getMonth()+1;   
if (den=0) {
  den2 = "вс";  } 
if (den=1) {
  den2 = "пн";  }
if (den=2) {
  den2 = "вт";  } 
if (den=3) {
  den2 = "ср";  } 
if (den=4) {
  den2 = "чт";  }
if (den=5) {
  den2 = "пт";  } 
if (den=6) {
  den2 = "сб";  }   
if (data<10) {         
  data = "0"+data;  } 
if (mes<10) {
  mes = "0"+mes;  }
time = den2 add " " add data add "." add  mes add "." add god;

С числовыми значениями, вроде, все нормально, но вот день недели он мне выводит все время сб. В чем дело?

Жень Шень 28.05.2004 12:16

правильно писать == а не =
(== сравнение, а = присвоение)

if (den==0) {
den2 = "вс"; }
if (den==1) {
den2 = "пн"; }

итд...

Но лучше case'ом (писали ужо!)

ЭрСи 29.05.2004 07:58

Извини, но я ничего не понимаю в вашем юморе, что значит:
Цитата:

лучше case'ом
Я только начинаю осваивать Flash.

kostyanK 29.05.2004 09:33

имеется ввиду конструкция
switch ... case

Жень Шень 29.05.2004 11:39

Это не юмор. Включай мозги! Дали ключевое слово - сходи в хэлп. Так потихоньку и освоишь флеш ;) .
Ты уж так не рви серце :) , вот код:

switch (den) {
case 0:
den2 = "вс";;
break;
case 1:
den2 = "пн";;
break;

...

case 6:
den2 = "сб";;
break;
}

Dindin 29.05.2004 13:10

Вслучаях со сравнениями знеачений на строгое равенство лучше swith и правда не найти. Но если проверять надо на разные параметры, то конструкция
Код:

if (expression1){
....} else if (expression2){
....}else if (expression3){
....} else{
.....}

выполняется на порядок быстрее.


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

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