<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Silveira Neto &#187; script</title>
	<atom:link href="http://silveiraneto.net/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>http://silveiraneto.net</link>
	<description>the world is a pixel</description>
	<lastBuildDate>Sun, 08 Jan 2012 05:17:57 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Creating a lot of thumbnails with Shell script</title>
		<link>http://silveiraneto.net/2008/09/25/creating-a-lot-of-thumbnails-with-shell-script/</link>
		<comments>http://silveiraneto.net/2008/09/25/creating-a-lot-of-thumbnails-with-shell-script/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 09:34:47 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=1310</guid>
		<description><![CDATA[This script create a thumbnail with width 100 of each png file in the actual directory. #!/bin/sh for i in *.png do echo &#34;convert -thumbnail 100 $i $i&#34; convert -thumbnail 100 $i $i done]]></description>
			<content:encoded><![CDATA[<p>This script create a thumbnail with width 100 of each png file in the actual directory.</p>
<div class="wp_syntax">
<div class="code">
<pre class="shell" style="font-family:monospace;">#!/bin/sh
for i in *.png
do
	echo &quot;convert -thumbnail 100 $i $i&quot;
	convert -thumbnail 100 $i $i
done</pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/09/25/creating-a-lot-of-thumbnails-with-shell-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java, showing script engines</title>
		<link>http://silveiraneto.net/2008/09/10/java-showing-script-engines/</link>
		<comments>http://silveiraneto.net/2008/09/10/java-showing-script-engines/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 06:18:19 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSR 223]]></category>
		<category><![CDATA[Rhyno]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[ScriptEngine]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=1261</guid>
		<description><![CDATA[A simple code to show the script engines installed in your system. As it uses the JSR-223 you need at least java 6. import javax.script.ScriptEngineManager; import javax.script.ScriptEngineFactory; import java.util.List; &#160; public class ListEngines &#123; public static void main&#40;String&#91;&#93; args&#41;&#123; ScriptEngineManager manager = new ScriptEngineManager&#40;&#41;; List &#60;ScriptEngineFactory&#62; engines = manager.getEngineFactories&#40;&#41;; for&#40;ScriptEngineFactory engine: engines&#41;&#123; String name = [...]]]></description>
			<content:encoded><![CDATA[<p>A simple code to show the script engines installed in your system.</p>
<p>As it uses the <a href="http://jcp.org/en/jsr/detail?id=223">JSR-223</a> you need at least java 6.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.script.ScriptEngineManager</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.script.ScriptEngineFactory</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.List</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ListEngines <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	ScriptEngineManager manager <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ScriptEngineManager<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #003399;">List</span> <span style="color: #339933;">&lt;</span>ScriptEngineFactory<span style="color: #339933;">&gt;</span> engines <span style="color: #339933;">=</span> manager.<span style="color: #006633;">getEngineFactories</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>ScriptEngineFactory engine<span style="color: #339933;">:</span> engines<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> name <span style="color: #339933;">=</span> engine.<span style="color: #006633;">getEngineName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #003399;">String</span> lang <span style="color: #339933;">=</span> engine.<span style="color: #006633;">getLanguageName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #003399;">String</span> ver <span style="color: #339933;">=</span> engine.<span style="color: #006633;">getLanguageVersion</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>name<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>lang<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>ver<span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<blockquote><p>$ java -version<br />
java version &#8220;1.6.0_0&#8243;<br />
OpenJDK  Runtime Environment (build 1.6.0_0-b11)<br />
OpenJDK Client VM (build 1.6.0_0-b11, mixed mode, sharing)<br />
$ javac ListEngines.java<br />
$ java ListEngines<br />
Mozilla Rhino ECMAScript 1.6</p></blockquote>
<p>For now I just have Rhino ECMAScript (JavaScript) engine accessible that comes with Java 6. I&#8217;m trying now to call <a href="http://www.jython.org/Project/">Jython</a> and <a href="http://jruby.codehaus.org/">JRuby</a> code.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/09/10/java-showing-script-engines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to Installing JavaFX Compiler</title>
		<link>http://silveiraneto.net/2008/07/16/script-to-installing-javafx-compiler/</link>
		<comments>http://silveiraneto.net/2008/07/16/script-to-installing-javafx-compiler/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 06:10:46 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[installing]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[javafx compiler]]></category>
		<category><![CDATA[javafxc]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=968</guid>
		<description><![CDATA[Right in this moment you can choose between three options to develop JavaFX: Use the old version of JavaFX, interpreted. Not recommended. Use the JavaFX Milestone 3. Little bit old but more stable. Use the JavaFX Continuous Build. Is more dangerous but give us fresh builds. :) I did this little script to download the [...]]]></description>
			<content:encoded><![CDATA[<p>Right in this moment you can choose between three options to develop JavaFX:</p>
<ul>
<li>Use the old version of JavaFX, interpreted. Not recommended.</li>
<li>Use the <a title="JavaFX M3" href="http://openjfx.java.sun.com/builds/javafxc-M3/">JavaFX Milestone 3</a>. Little bit old but more stable.</li>
<li>Use the <a title="JavaFX Continuous Build" href="http://openjfx.java.sun.com/hudson/job/openjfx-compiler">JavaFX Continuous Build</a>. Is more dangerous but give us fresh builds. :)</li>
</ul>
<p>I did this little script to download the last version of JavaFX continuos build and install it for you.</p>
<div class="wp_syntax">
<div class="code">
<pre class="sh" style="font-family:monospace;">#!/bin/sh
envfile=$HOME/.bash_profile
&nbsp;
#download and unpatch the last build of JavaFx
mkdir jfx
cd jfx
wget http://openjfx.java.sun.com/hudson/job/openjfx-compiler/lastBuild/artifact/openjfx-compiler/dist//*zip*/dist.zip
unzip dist.zip
rm dist.zip
&nbsp;
#set files at bin folder as executable
chmod +x dist/bin/*
&nbsp;
#add those executables to the path
echo &quot;PATH=\$PATH:`pwd`/dist/bin&quot; &gt;&gt; $envfile</pre>
</div>
</div>
<p>Save this script as <em>install_jfx.sh</em> and execute it. Probably you want to execute it at you home directory. If you want to install JavaFX to root change envfile for <em>/root/.bash_profile</em>, if you want to install to all users change for <em>/etc/profile</em>. I tested this script successfully on my Ubuntu 8.04.</p>
<p>After that open a new terminal and try to see if javafx, javafxc and javafxdoc are available. You can test your enviroment with this simple program.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.ui.*</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.lang.*</span>;
&nbsp;
<span style="color: #003399;">Frame</span> <span style="color: #009900;">&#123;</span>
  visible<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">true</span>
  content<span style="color: #339933;">:</span> FlowPanel <span style="color: #009900;">&#123;</span>
  content<span style="color: #339933;">:</span> <span style="color: #003399;">Button</span> <span style="color: #009900;">&#123;</span>
      var n <span style="color: #339933;">=</span> 0
      text<span style="color: #339933;">:</span> bind <span style="color: #003399;">Integer</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>
      action<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        n++;
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>Save it as Counter.fx, compile with <em>javafxc Counter.fx</em> and so execute it with <em>javafx Counter.fx</em>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/hEdj9F1lVlU&amp;hl=pt-br&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/hEdj9F1lVlU&amp;hl=pt-br&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>To know more, take a look into the preliminary <a href="https://openjfx.dev.java.net/nonav/api/index.html">JavaFX API</a> or in the article <a title="Using JavaFX GUI Toolkit" href="http://java.sun.com/javafx/script/reference/gui_toolkit/">Using JavaFX GUI Toolkit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/07/16/script-to-installing-javafx-compiler/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Terminal with colors in OpenSolaris</title>
		<link>http://silveiraneto.net/2008/05/07/terminal-with-colors-in-opensolaris/</link>
		<comments>http://silveiraneto.net/2008/05/07/terminal-with-colors-in-opensolaris/#comments</comments>
		<pubDate>Thu, 08 May 2008 02:51:25 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[Opensolaris]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=863</guid>
		<description><![CDATA[As the earlies versions of OpenSolaris, my terminal is without colors. That&#8217;s a little annoying. As the default user uses Bash you can configure your Bash options in the file ~/.bashrc. Insert in the last lines of your .bashrc file: alias ls=&#8217;ls &#8211;color=auto&#8217; Save, close and open your terminal (or just type source ~/.bashrc).]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-865" title="opensolaris bash without colors" src="http://silveiraneto.net/wp-content/uploads/2008/05/opensolaris-bash-without-colors.png" alt="" /></p>
<p>As the earlies versions of OpenSolaris, my terminal is without colors. That&#8217;s a little annoying. As the default user uses Bash you can configure your Bash options in the file <em>~/.bashrc</em>. Insert in the last lines of your .bashrc file:</p>
<blockquote><p>alias ls=&#8217;ls &#8211;color=auto&#8217;</p></blockquote>
<p>Save, close and open your terminal (or just type <em>source ~/.bashrc</em>).</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-864" title="OpenSolaris bash with colors" src="http://silveiraneto.net/wp-content/uploads/2008/05/opensolaris-bash-with-colors.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/05/07/terminal-with-colors-in-opensolaris/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JavaFX: Color picker</title>
		<link>http://silveiraneto.net/2008/02/19/javafx-color-picker/</link>
		<comments>http://silveiraneto.net/2008/02/19/javafx-color-picker/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 01:56:01 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[color picker]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfx]]></category>
		<category><![CDATA[jfxbest]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[openjfx]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vídeo]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/2008/02/19/javafx-color-picker/</guid>
		<description><![CDATA[An simple color picker that can be also used as a gadget. import javafx.ui.*; import javafx.ui.canvas.*; var colors = [red:Color, orange:Color, yellow:Color, green:Color, cyan:Color,blue:Color, magenta:Color, gray:Color]; var chosenColor: Paint; chosenColor = black:Color; var x = 120; var y = 70; Canvas{ content: Group{ transform: bind translate(x,y) content: [Star{ points: sizeof colors rin: 30 rout: 50 [...]]]></description>
			<content:encoded><![CDATA[<p>An simple color picker that can be also used as a gadget.</p>
<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/nlldqniJiDg&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/nlldqniJiDg&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<pre name="code" class="JAVA">
import javafx.ui.*;
import javafx.ui.canvas.*;

var colors = [red:Color, orange:Color, yellow:Color, green:Color,
     cyan:Color,blue:Color, magenta:Color, gray:Color];

var chosenColor: Paint;
chosenColor = black:Color;

var x = 120;
var y = 70;

Canvas{
    content: Group{
        transform: bind translate(x,y)
        content: [Star{
            points: sizeof colors
            rin: 30
            rout: 50
            fill: bind chosenColor
            onMouseDragged: operation(e) {
                x += e.localDragTranslation.x;
                y += e.localDragTranslation.y;
            }
        },
        foreach (i in [1..sizeof colors]) Circle {
            var: self
            transform: [rotate(i*360/sizeof colors,0,0), translate(50,0)]
            radius: 10
            fill: colors[i%sizeof colors]
            onMouseClicked: operation (e){
                chosenColor = self.fill;
            }
        }]
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/02/19/javafx-color-picker/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Draggable and Growable Ball in JavaFX</title>
		<link>http://silveiraneto.net/2008/02/16/draggable-and-growable-ball-in-javafx/</link>
		<comments>http://silveiraneto.net/2008/02/16/draggable-and-growable-ball-in-javafx/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 00:41:52 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[ball]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[growable]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfx]]></category>
		<category><![CDATA[jfxbest]]></category>
		<category><![CDATA[openjfx]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[red ball]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vídeo]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/2008/02/16/draggable-and-growable-ball-in-javafx/</guid>
		<description><![CDATA[Two simple JavaFX code handling onMouseDragged event. import javafx.ui.*; import javafx.ui.canvas.*; Canvas { content: Circle { var x = 50 var y = 50 transform: bind translate(x, y) radius: 30 fill: red onMouseDragged: operation(e) { x += e.localDragTranslation.x; y += e.localDragTranslation.y; } } } import javafx.ui.*; import javafx.ui.canvas.*; Canvas { content: Circle { var x [...]]]></description>
			<content:encoded><![CDATA[<p>Two simple JavaFX code handling onMouseDragged event.</p>
<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/M6G_N80UvZg&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/M6G_N80UvZg&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<pre name="code" class="JAVA">
import javafx.ui.*;
import javafx.ui.canvas.*;

Canvas {
    content: Circle {
        var x = 50
        var y = 50
        transform: bind translate(x, y)
        radius: 30
        fill: red
        onMouseDragged: operation(e) {
                x += e.localDragTranslation.x;
                y += e.localDragTranslation.y;

        }
    }
}
</pre>
<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/XvMGQomAcnc&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/XvMGQomAcnc&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<pre name="code" class="JAVA">
import javafx.ui.*;
import javafx.ui.canvas.*;

Canvas {
    content: Circle {
        var x = 50
        var y = 50
        var radius = 30
        transform: bind translate(x, y)
        radius: bind radius
        fill: red
        onMouseDragged: operation(e) {
            if (e.button == 1){
                x += e.localDragTranslation.x;
                y += e.localDragTranslation.y;
            }
            if (e.button == 3) {
                radius += e.localDragTranslation.x;
            }
        }
    }
}
</pre>
<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/VOdjY8lR51Y&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/VOdjY8lR51Y&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center></p>
<pre name="code" class="JAVA">
import javafx.ui.*;
import javafx.ui.canvas.*;

Canvas {
    content: [
    Rect {x: 50, y: 50, width: 50, height: 50, fill: orange },
    Circle {
        var x = 50
        var y = 50
        var radius = 30
        var color = red:Color
        transform: bind translate(x, y)
        radius: bind radius
        fill: bind color
        onMouseDragged: operation(e) {
            if (e.button == 1){
                x += e.localDragTranslation.x;
                y += e.localDragTranslation.y;
            }
            if (e.button == 3) {
                radius += e.localDragTranslation.x;
            }
        }
        onMousePressed: operation(e){
            color = Color {blue: 0.0, green: 0.0, red: 1.0, opacity: 0.5};
        }
        onMouseReleased: operation(e){
            color = red:Color;
        }
    }]
}
</pre>
<p>You can test this examples with thhe <a href="http://download.java.net/general/openjfx/demos/javafxpad.jnlp">JavaFX Pad</a> or using Netbeans with the <a href="http://javafx.netbeans.org/">JavaFX Plugin</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/02/16/draggable-and-growable-ball-in-javafx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaScript: Relógio Digital</title>
		<link>http://silveiraneto.net/2007/09/02/javascript-relogio-digital/</link>
		<comments>http://silveiraneto.net/2007/09/02/javascript-relogio-digital/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 01:47:46 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[português]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[ecmascript]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[relógio]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/2007/09/02/javascript-relogio-digital/</guid>
		<description><![CDATA[Código-Fonte Aqui na página colocamos: &#60;input type='text' value='00:00:00' id='relogio' readonly size='6' style=&#34;font-size: 200%; color:red&#34;/&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;/scripts/relogio.js&#34;&#62;&#60;/script&#62; Que cria um input de texto com nome relógio e depois chamamos o script relogio.js que contém o seguinte código: function proximo_segundo&#40;&#41;&#123; var hoje = new Date var hora = hoje.getHours&#40;&#41; var minutos = hoje.getMinutes&#40;&#41; var segundos = [...]]]></description>
			<content:encoded><![CDATA[<p><center><br />
<input type='text' value='00:00:00' id='relogio' readonly size='6' style="font-size: 200%; color:red"/>
<script type="text/javascript" src="/scripts/relogio.js"></script></center></p>
<h3>Código-Fonte</h3>
<p>Aqui na página colocamos:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html" style="font-family:monospace;">&lt;input type='text' value='00:00:00' id='relogio' readonly size='6'
style=&quot;font-size: 200%; color:red&quot;/&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/scripts/relogio.js&quot;&gt;&lt;/script&gt;</pre>
</div>
</div>
<p>Que cria um input de texto com nome <em>relógio</em> e depois chamamos o script <strong>relogio.js</strong> que contém o seguinte código:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> proximo_segundo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> hoje <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date
	<span style="color: #003366; font-weight: bold;">var</span> hora <span style="color: #339933;">=</span> hoje.<span style="color: #660066;">getHours</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #003366; font-weight: bold;">var</span> minutos <span style="color: #339933;">=</span> hoje.<span style="color: #660066;">getMinutes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #003366; font-weight: bold;">var</span> segundos <span style="color: #339933;">=</span> hoje.<span style="color: #660066;">getSeconds</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	relogio <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'relogio'</span><span style="color: #009900;">&#41;</span>
	relogio.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> hora <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;:&quot;</span><span style="color: #339933;">+</span>minutos<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;:&quot;</span><span style="color: #339933;">+</span>segundos
	setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'proximo_segundo()'</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span>
proximo_segundo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre>
</div>
</div>
<p>Ele cria um objeto Date, encontro o elemento com id <em>&#8216;relogio&#8217;</em> e coloca no valor dele as informações extraídas do objeto Date. Em seguida ele agenda para daqui a um segundo chamar a si próprio, recursivamente.</p>
<p>Um refinamento que se pode fazer nesse código é uma função auxiliar para preencher com um zero à esquerda, transformando 1:2:3 em 01:02:03. Eu não coloquei isso para deixar o código o mais simples possível.</p>
<p>Como eu ainda sou muito novinho no JavaScript eu não sei se usar uma recursão desse tipo é uma boa idéia ou não. Era isso ou um laço infinito.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2007/09/02/javascript-relogio-digital/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

