проекты     блоги     лицей


Обратите внимание: если для получения работы от вас требуют оплaтить cтрaxoвoй взнoc или внести какой-либо залог, знайте - это мошенники. Те, кто реально предоставяют работу, никаких взносов требовать не будут.

Серверные часы
Уроки
О лицее
Автор урока: Золотов Максим [golden]
Категория: Флэш-программирование
Дата публикации: 20.12.2009
Откроем Flash
Создадим новый документ в редакторе Flash.
Для начала мы создадим программные часы, затем мы сделаем более эффектный вариант.

Вставьте в первый кадр этот код:

var txtFormat:TextFormat = new TextFormat();
//создаем объект класса TextFormat, он нужен для программного создания текстового поля
txtFormat.align = "center";
//указываем, что текст в поле должен располагаться по центру
txtFormat.bold = true;
//указываем, что текст в поле должен быть полужирным
txtFormat.font = "Verdana";
//указываем шрифт
txtFormat.size = 19;
//указываем размер шрифта

var txtField:TextField = this.createTextField("txtField", 0, Stage.width/2-75, Stage.height/2-14, 150, 28);
//создаем программно текстовое поле, располагаем его по центру

txtField.selectable = false;
//запрещаем выделения в поле
txtField.border = true;
//указываем, что поле имеет видимую границу

_root.onEnterFrame = function ()
{
//часы должны постоянно обновляться...
var txtDate:Date = new Date();
//каждый раз создаем новый объект даты, так как время меняется
clocks_hours = txtDate.getHours()<10 ?
clocks_hours = "0"+txtDate.getHours() :
clocks_hours = txtDate.getHours();
//делаем проверку на наличие нуля перед числами меньше 10

clocks_minutes = txtDate.getMinutes()<10 ?
clocks_minutes = "0"+txtDate.getMinutes() :
clocks_minutes = txtDate.getMinutes();

clocks_seconds = txtDate.getSeconds()<10 ?
clocks_seconds = "0"+txtDate.getSeconds() :
clocks_seconds = txtDate.getSeconds();

txtField.text = clocks_hours+":"+clocks_minutes+":"+clocks_seconds;
//выводим результат в поле
txtField.setTextFormat(txtFormat);
//применяем к полю созданное выше оформление
}
Это простейшие программные часы.
Показывают время, но выглядят не очень эффектно. Мягко говоря.

В начале кода мы описываем формат текстового поля.
Затем создаём текстовое поле, располагая его в центре рабочего поля.

Часы должны «идти», поэтому мы постоянно обновляем дату и выводим результат в текстовое поле.

Эти часы показывают время на вашем компьютере.
Вы можете скачать исходник часов, описанных выше, с подробным комментарием кода.
Идём дальше...
Хороши часики, но гарантии, что они покажут именно то время, которое нужно — нет.
Эти часы в точности повторяют время, установленное на компьютере пользователя.
А если Вы хотите сделать, например, приветствие типа «Добрый день!» или «Добрый вечер», то эти фразы могут выглядеть нелепо, если у пользователя «сбиты» локальные часы.

Выход есть — взять значение времени с сервера, используя PHP.
PHP выручит
Создаём файл time.php и помещаем в него следующий код:

<?php
echo("utc_time=".time());
?>

Таким образом вы выводим пременную:

utc_time = [значение функции time()]

Функция time() возвращает количество секунд, прошедших с 1 января 1970 года.
Flash отлично генерирует даты, использую данное значение. Единственное отличие в том, что нам будет необходимо умножить данное значение на 1000 потому, что Flash любит миллисекунды, а не секунды.

Теперь нам нужно передать эти параметры во Flash.
PHP и Flash могут дружить
Осталось только заставить флэш работать с сервером.
Оказывается, это совсем несложно. Используем загрузку данных из time.php.

Создаём новый флэш-проект.
Добавляем в него текстовое поле Dynamic Text и даём ему имя time_server. Также создадим аналогичное поле с именем time_local, чтобы выводить время на вашем компьютере.

Предполагается, что в нашем примере файлы .swf и .php лежат в одной директории.
Создаём время
Вставляем в первый кадр проекта следующий код:

time_server.text = "...";
//выводим три точки до момента, пока значение времени не будет получено
var plus:Number = getTimer();
//погрешность в миллисекундах на получение времени с сервера
var txtTime:LoadVars = new LoadVars();
txtTime.load("time.php", "POST");
//загружем данные с сервера использую класс LoadVars
txtTime.onLoad = function ()
{
//отслеживаем событие, когда время получено
utc = txtTime.utc_time*1000+plus;
//переменная «utc», содержащая необходимое значение
delete plus;
//удаляем более не нужную переменную погрешности
function resresh_clocks()
{
//создаём функцию обновления времени
var server_date:Date = new Date(utc);
//выводим серверное время
var server_date:Date = new Date(utc);
clocks_s_hours = server_date.getHours()<10 ?
clocks_s_hours = "0"+server_date.getHours() :
clocks_s_hours = server_date.getHours();

clocks_s_minutes = server_date.getMinutes()<10 ?
clocks_s_minutes = "0"+server_date.getMinutes() :
clocks_s_minutes = server_date.getMinutes();

clocks_s_seconds = server_date.getSeconds()<10 ?
clocks_s_seconds = "0"+server_date.getSeconds() :
clocks_s_seconds = server_date.getSeconds();
time_server.text = clocks_s_hours+":"+clocks_s_minutes+":"+clocks_s_seconds;

//выводим локальное время
var local_date:Date = new Date();
clocks_hours = local_date.getHours()<10 ?
clocks_hours = "0"+local_date.getHours() :
clocks_hours = local_date.getHours();

clocks_minutes = local_date.getMinutes()<10 ?
clocks_minutes = "0"+local_date.getMinutes() :
clocks_minutes = local_date.getMinutes();

clocks_seconds = local_date.getSeconds()<10 ?
clocks_seconds = "0"+local_date.getSeconds() :
clocks_seconds = local_date.getSeconds();
time_local.text = clocks_hours+":"+clocks_minutes+":"+clocks_seconds;
utc+=1000;
}
utc_interval = setInterval(resresh_clocks, 1000);
//обновляем время каждую секунду
}

Исходник прилагается.
Что получилось?
Мы взяли время с сервера и можем быть спокойны за его точность.
Второй вариант
Выше был описан вариант для пользователей с отключённым JavaScript.

Но можно сделать всё проще через SWF Object.

Передавая переменную utc_time через SWF Object, мы избавляемся от надобности создавать файл time.php.
Прикручиваем SWF Object
Вам не нужно разбираться в алгоритме данного скрипта — просто добавьте его на страницу, вставив в тело тэга head следующий код:

<script type="text/javascript" src="swfobject.js"></script>

Сам swfobject.js вы найдёте в данном архиве.
Публикуем флэш-ролик
В необходимом месте странице публикуем следующий код.

<span id="flash"></span>
<script type="text/javascript">
var fl = new SWFObject("clocks.swf", "", "550", "400", "8");
fl.addParam("menu","false");
fl.write("flash");
fl.addParam("utc_time", "<?php echo(time()); ?>");
</script>

Этим кодом мы выводим на страницу ролик clocks.swf, размером 550 на 400 пикселей.

Через функцию addParam мы передаём флэш-ролику ту же самую переменную utc_time.
Далее всё делаем по описанному выше методу, исключив лишь надобность класса LoadVars, — что является более рациональным методом.

Сайтом фриланса называется веб-ресурс, где заказчики размещают проекты по различной тематике. Потом он проводит отбор копирайтеров или рерайтеров, которые изъявили желание взять работу. Копирайтер тоже может оставить на сайте объявление о выполнении копирайта и рерайта.
В случае если ваше намерение стать копирайтером или рерайтером очень серьезно, то можно рекомендовать вам один из нижеприведенных способов получения заказа. Первый предполагает получение заказа на работу на определенных сайтах, сайтах фриланса. Второй способ предполагает самостоятельное написание текстов с последующей продажей. Реализуются статьи на специальных биржах контента. Оба способа имеют свои плюсы и минусы. Рассмотрим все аспекты подробнее.
Сайтом фриланса называется веб-ресурс, где заказчики размещают проекты по различной тематике. Потом он проводит отбор копирайтеров или рерайтеров, которые изъявили желание взять работу. Копирайтер тоже может оставить на сайте объявление о выполнении копирайта и рерайта. Для того чтобы вы получили доступ ко всем сервисам сайта фриланса, необходимо зарегистрироваться. Здесь необходимо точно указать все свои контактные данные. Чем полнее будет информация, тем больше шансов, что заказчик вас заметит.
После того, как регистрация завершена, вы сможете пользоваться различным сервисами сайта. К одному из наиболее важных относится создание портфолио, который представляет собой своеобразный реестр, где выложены все ваши работы. Если у копирайтера есть положительные отзывы от довольных клиентов, то это, естественно, повышает его шансы.
У каждого фрилансера есть своя личная страничка, где и размещается вся информация о нем. Также здесь есть разделы, где помещаются отзывы, портфолио, рейтинг. Каждый сайт фриланса формирует рейтинг копирайтеров по-своему. Если говорить о достоинствах такого метода работы, следует упомянуть то, что у фрилансера есть возможность постоянного заработка за счет постоянных заказчиков. Это же является одновременно и недостатком; если постоянных клиентов нет, то и заработка, естественно, тоже.
Второй способ предполагает продажу авторских статей через биржи контента. Здесь также необходимо зарегистрироваться. Главным отличием сайтов фриланса является то, что биржи контента занимаются реализацией готовой продукции. Главное отличие заключается в методах деятельности. Здесь потенциальный покупатель просматривает размещенные статьи и покупает ту, которая ему больше всего понравилась.
Если вы тверды в намерении стать копирайтером, не ждите, что прямо с первого дня к вам деньги потекут ручьем. Для начала надо немного поработать над выработкой стиля письма, а также необходимо зарекомендовать себя как грамотного автора. Даже если на первом этапе вам встретятся трудности, не отчаивайтесь, все новички прошли через это.
В период кризиса многие потеряли работу. А новую найти в условиях все того же кризиса нелегко. Но не надо отчаиваться. Если у вас есть неплохие навыки письма и средний уровень владения компьютером, то у вас есть реальный шанс попробовать себя на новом поприще фриланса. Фрилансом называется удаленная работа. К фрилансерам относится и большая группа копирайтеров, к которой вы запросто можете примкнуть. Копирайтеры занимаются написанием авторских текстов на заданную тему.
© Revolance, Фриланс работа и фрилансеры Регистрация | О проекте