<?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>Stefan Horochovec</title>
	<atom:link href="http://www.horochovec.com.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.horochovec.com.br/blog</link>
	<description>Blog sobre plataforma Flash - Flex e AIR - e sua integração com Java</description>
	<lastBuildDate>Thu, 28 Jan 2010 00:42:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FlexORM – Framework ORM para persistência em AIR 1.5 &#8211; Download</title>
		<link>http://www.horochovec.com.br/blog/2010/01/27/flexorm-%e2%80%93-framework-orm-para-persistencia-em-air-1-5-download/</link>
		<comments>http://www.horochovec.com.br/blog/2010/01/27/flexorm-%e2%80%93-framework-orm-para-persistencia-em-air-1-5-download/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 00:42:31 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FlexORM]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=270</guid>
		<description><![CDATA[    Olá pessoal
Conforme prometido através de comentários no post anterior, segue o download do projeto DuckToDo com a implementação de um projeto utilizando FlexORM com AIR 1.5
Download aqui.
Forte abraço
 ]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2010/01/27/flexorm-%e2%80%93-framework-orm-para-persistencia-em-air-1-5-download/&title=FlexORM – Framework ORM para persistência em AIR 1.5 &#8211; Download' onclick='readpage(this.href, 270); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_270'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Olá pessoal</p>
<p>Conforme prometido através de comentários no post anterior, segue o download do projeto DuckToDo com a implementação de um projeto utilizando FlexORM com AIR 1.5</p>
<p>Download <a href="http://www.horochovec.com.br/DuckToDo.zip" target="_new">aqui</a>.</p>
<p>Forte abraço</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2010/01/27/flexorm-%e2%80%93-framework-orm-para-persistencia-em-air-1-5-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlexORM &#8211; Framework ORM para persistência em AIR 1.5</title>
		<link>http://www.horochovec.com.br/blog/2010/01/27/flexorm-framework-orm-para-persistencia-em-air-1-5/</link>
		<comments>http://www.horochovec.com.br/blog/2010/01/27/flexorm-framework-orm-para-persistencia-em-air-1-5/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 03:08:04 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FlexORM]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=250</guid>
		<description><![CDATA[    Olá pessoal,
Neste artigo, irei comentar um pouco sobre o FlexORM. Este framework tem como objetivo o mapeamento objeto-relacional em projetos que utilizem AIR e base de dados embarcada (SQLite).

O FlexORM é uma criação de Mark Moloney, e é hospedado pela RIAForge.
O FlexORM tem suporte a versão 1.5 do AIR e abaixo, [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2010/01/27/flexorm-framework-orm-para-persistencia-em-air-1-5/&title=FlexORM &#8211; Framework ORM para persistência em AIR 1.5' onclick='readpage(this.href, 250); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_250'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Olá pessoal,</p>
<p>Neste artigo, irei comentar um pouco sobre o <a href="http://flexorm.riaforge.org/" target="_new">FlexORM</a>. Este framework tem como objetivo o mapeamento objeto-relacional em projetos que utilizem AIR e base de dados embarcada (SQLite).</p>
<p><span id="more-250"></span></p>
<p>O FlexORM é uma criação de <a href="http://flexorm.riaforge.org/index.cfm?event=page.myprojects&amp;id=2317" target="_new">Mark Moloney</a>, e é hospedado pela <a href="http://riaforge.org/" target="_new">RIAForge</a>.</p>
<p>O FlexORM tem suporte a versão 1.5 do AIR e abaixo, podemos listar algumas de suas vantagens para seu uso:</p>
<p>* Não há necessidade de criação e atualização de tabelas. O FlexORM se encarrega da criação da estrutura do banco, através de um mapeamento feito dentro do próprio objeto a ser persistido;</p>
<p>* Possui suporte as operações CRUD;</p>
<p>* Suporta associações 1:N, N:M, N:1 e 1:1;</p>
<p>* Suporte a atributos transientes;</p>
<p>* Suporte a constraints para consistência de chaves-estrangeiras, através de triggers do SQLite;</p>
<p>* Transações;</p>
<p>* Criação automática de índices;</p>
<p>* Lazy Loading;</p>
<p>* Dentre outras;</p>
<p>Para exemplificar o uso do FlexORM, irei criar um projeto chamado DuckToDo e o objetivo do projeto é que eu possa cadastrar algumas tarefas que eu precise realizar. A aplicação é bem simples no quesito visual, uma vez que o intuito do artigo é o conhecimento do FlexORM.</p>
<p>Para iniciar, iremos criar um projeto no FlexBuilder chamado DuckToDo, conforme a tela abaixo:</p>
<p><a href="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/12.jpg"><img class="aligncenter size-full wp-image-255" title="Novo Projeto" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/12.jpg" alt="" width="550" height="478" /></a></p>
<p>Em seguida, vá as propriedades do projeto, e na opção Flex Compiler, adicione a seguinte linha de comando &#8221; -keep-as3-metadata+=Table,Id,Column,ManyToOne,OneToMany,ManyToMany,Transient&#8221;, para que o compilador interprete as Metadatas adicionadas ao mapeamento dos Beans, conforme tela abaixo:</p>
<p><a href="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/21.jpg"><img class="aligncenter size-full wp-image-257" title="Project Properties" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/21.jpg" alt="" width="550" height="364" /></a></p>
<p>Feito isso, você deve fazer o download do FlexORM e adicionar ao seu projeto. Você pode optar por fazer o download do source através de um servidor de versionamento (subversion), ou fazer o download através deste <a href="http://www.horochovec.com.br/blog/flexorm.swc" target="_new">link</a> do arquivo .SWC do projeto FlexORM.</p>
<p>Depois de obter o .SWC, ou por download, ou recompilando o projeto, você deve adicioná-lo a pasta lib/ de seu projeto.</p>
<p>Feito isso, criaremos nossa classe de objeto que será persistida pela nossa aplicação.</p>
<p>Crie uma nova classe actionscript na package &#8220;org.flexduck.model&#8221; chamada Todo, e adicione o código abaixo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p250code6'); return false;">View Code</a> ACTIONSCRIPT3</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p2506"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code" id="p250code6"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> org.flexduck.model
<span style="color: #000000;">&#123;</span>
&nbsp;
	<span style="color: #000000;">&#91;</span>Bindable<span style="color: #000000;">&#93;</span>
	<span style="color: #000000;">&#91;</span>Table<span style="color: #000000;">&#40;</span><span style="color: #004993;">name</span>=<span style="color: #990000;">&quot;TODO&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> Todo
	<span style="color: #000000;">&#123;</span>
		<span style="color: #000000;">&#91;</span>Id<span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> codigo 	<span style="color: #000000; font-weight: bold;">:</span> <a href="http://www.google.com/search?q=int%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:int.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">int</span></a>;
&nbsp;
		<span style="color: #000000;">&#91;</span>Column<span style="color: #000000;">&#40;</span><span style="color: #004993;">name</span>=<span style="color: #990000;">&quot;titulo&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> titulo 	<span style="color: #000000; font-weight: bold;">:</span> <a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">String</span></a>;
&nbsp;
		<span style="color: #000000;">&#91;</span>Column<span style="color: #000000;">&#40;</span><span style="color: #004993;">name</span>=<span style="color: #990000;">&quot;descricao&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> descricao <span style="color: #000000; font-weight: bold;">:</span> <a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">String</span></a>;
&nbsp;
	<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Neste momento, quem trabalha com Java e utiliza Hibernate ou JPA já percebe uma grande semelhança. Através da Metadata <strong>[Table]</strong> no escopo da classe, definimos a qual tabela este objeto deve ser persistido.</p>
<p>No atributo codigo, foi adicionado a Metadata <strong>[Id]</strong> indicando que esse atributo corresponde a chave primária, ou o identificador, do objeto.</p>
<p>E nos atributos, titulo e descrição, adicionado a Metadata <strong>[Column]</strong> indicando que refere-se a uma coluna. Junto a Metadata também foi adicionado o nome respectivo da coluna na tabela.</p>
<p>Com isso, nosso bean está pronto para ser persistido. Vamos para a sua gravação.</p>
<p>Dentro do arquivo DuckToDo.mxml foi criada a seguinte estrutura de componentes.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p250code7'); return false;">View Code</a> ACTIONSCRIPT3</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p2507"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
</pre></td><td class="code" id="p250code7"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding destination=<span style="color: #990000;">&quot;todo.titulo&quot;</span> 		<span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;titulo.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding destination=<span style="color: #990000;">&quot;todo.descricao&quot;</span> 	<span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;descricao.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Panel <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;500&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;250&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> title=<span style="color: #990000;">&quot;O que tenho para fazer?&quot;</span> horizontalCenter=<span style="color: #990000;">&quot;0&quot;</span> verticalCenter=<span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>ViewStack id=<span style="color: #990000;">&quot;vw&quot;</span> <span style="color: #004993;">top</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">left</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas label=<span style="color: #990000;">&quot;Grid&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;100%&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;100%&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Label <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;Título&quot;</span> fontWeight=<span style="color: #990000;">&quot;bold&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;29&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;460&quot;</span> id=<span style="color: #990000;">&quot;titulo&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;{this.todo.titulo}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Label <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;58&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;Descrição&quot;</span> fontWeight=<span style="color: #990000;">&quot;bold&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextArea <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;75&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;460&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;85&quot;</span> id=<span style="color: #990000;">&quot;descricao&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;{this.todo.descricao}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;318&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Adicionar&quot;</span> id=<span style="color: #990000;">&quot;btnAdd&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnAddHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;252&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Listar&quot;</span> id=<span style="color: #990000;">&quot;btnListar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnListarHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;189&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Novo&quot;</span> id=<span style="color: #990000;">&quot;btnNovo&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnNovoHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;406&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Excluir&quot;</span> id=<span style="color: #990000;">&quot;btnDel&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnDelHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas label=<span style="color: #990000;">&quot;Formulario&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;100%&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;100%&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGrid 	<span style="color: #004993;">top</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">left</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;30&quot;</span> 
						id=<span style="color: #990000;">&quot;dg&quot;</span> 
						<span style="color: #004993;">doubleClickEnabled</span>=<span style="color: #990000;">&quot;true&quot;</span> 
						<span style="color: #004993;">doubleClick</span>=<span style="color: #990000;">&quot;doubleClickHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>columns<span style="color: #000000; font-weight: bold;">&gt;</span>
				<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGridColumn dataField=<span style="color: #990000;">&quot;titulo&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>columns<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGrid<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button label=<span style="color: #990000;">&quot;Pesquisar&quot;</span> id=<span style="color: #990000;">&quot;btnPesquisar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnPesquisarHandler(event);&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;5&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button label=<span style="color: #990000;">&quot;Cadastrar&quot;</span> id=<span style="color: #990000;">&quot;btnCadastrar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnCadastrarHandler(event);&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;90&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>ViewStack<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Panel<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Essa estrutura corresponde a um Panel, contendo um ViewStack com dois Canvas dentro. Para o primeiro Canvas foi adicionado um Grid para conter a lista de tarefas e no segundo Canvas, um pequeno formulário para a manutenção dos registros.</p>
<p><strong>Nesse artigo não irei comentar sobre a estrutura do formulário, considerando apenas como relevante as instruções de uso do FlexORM.</strong></p>
<p>Foi adicionado um evento no <strong>creationComplete</strong> da minha aplicação, para instanciar o banco de dados, conforme declaração abaixo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p250code8'); return false;">View Code</a> ACTIONSCRIPT3</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p2508"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p250code8"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>WindowedApplication xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> 
						creationComplete=<span style="color: #990000;">&quot;initApp(event);&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>E dentro do bloco de programação em ActionScript foi adicionado:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p250code9'); return false;">View Code</a> ACTIONSCRIPT3</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p2509"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
</pre></td><td class="code" id="p250code9"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;!</span><span style="color: #000000;">&#91;</span>CDATA<span style="color: #000000;">&#91;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> org.flexduck.model.Todo;
<span style="color: #0033ff; font-weight: bold;">import</span> nz.co.codec.flexorm.EntityManager;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Objeto de persistencia
 */</span> 
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> genericDAO 	<span style="color: #000000; font-weight: bold;">:</span> EntityManager	= EntityManager.instance;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Classe para listar
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> todoClass	<span style="color: #000000; font-weight: bold;">:</span> <a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">Class</span></a>			= Todo;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Bean
 */</span>
<span style="color: #000000;">&#91;</span>Bindable<span style="color: #000000;">&#93;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> todo		<span style="color: #000000; font-weight: bold;">:</span> Todo			= <span style="color: #0033ff; font-weight: bold;">new</span> Todo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Evento disparado no creationComplete da aplicação para fazer a conexão com o banco de dados
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> initApp<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">Event</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> appDataBase <span style="color: #000000; font-weight: bold;">:</span> File = File.documentsDirectory.resolvePath<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;ducktodo.db&quot;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #6699cc; font-weight: bold;">var</span> sqlConn		<span style="color: #000000; font-weight: bold;">:</span> SQLConnection	= <span style="color: #0033ff; font-weight: bold;">new</span> SQLConnection<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
	sqlConn.<span style="color: #004993;">open</span><span style="color: #000000;">&#40;</span>appDataBase<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.sqlConnection	= sqlConn;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Adicionar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnAddHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.<span style="color: #004993;">save</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todo<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Excluir&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnDelHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.remove<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todo<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no duplo click no grid de pesquisa
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> doubleClickHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span> 
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.todo	= <span style="color: #0033ff; font-weight: bold;">this</span>.dg.selectedItem <span style="color: #0033ff; font-weight: bold;">as</span> Todo;
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex	= <span style="color: #000000; font-weight:bold;">0</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Pesquisar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnPesquisarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Cadastrar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnCadastrarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex 	= <span style="color: #000000; font-weight:bold;">0</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Listar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnListarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex	= <span style="color: #000000; font-weight:bold;">1</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Novo&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnNovoHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.todo	= <span style="color: #0033ff; font-weight: bold;">new</span> Todo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Alguns comentários relevantes:</p>
<p>Na função <strong>initApp</strong>, foi criado uma conexão SQLConnection, e a mesma foi passada para um objeto chamado genericDAO. Este objeto é uma instancia da classe EntityManager do FlexORM, responsável por executar os métodos para manipulação do banco de dados.</p>
<p>Na função <strong>btnAddHandler</strong> foi feita a persistencia do objeto Todo. Perceba que essa função é responsável por gravar e atualizar o objeto, não sendo necessário que o desenvolvedor se preocupe com a operação específica, apenas que em determinado momento, o objeto deve ser persistido, gravando-o ou fazendo sua atualização.</p>
<p>Na função <strong>btnDelHandler</strong> foi solicitado que determinado objeto fosse apagado do banco de dados.</p>
<p>Na função <strong> btnPesquisarHandler</strong> foi solicitado uma busca em todos os registros de determinada Classe, e não um objeto, fique atento a essa situação.</p>
<p>Os demais eventos servem para a navegação da tela, portanto, não serão comentados. </p>
<p>Se você fez corretamente a inclusão de todos os fontes, terá o resultado:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p250code10'); return false;">View Code</a> ACTIONSCRIPT3</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p25010"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
</pre></td><td class="code" id="p250code10"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>WindowedApplication xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> 
						creationComplete=<span style="color: #990000;">&quot;initApp(event);&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;!</span><span style="color: #000000;">&#91;</span>CDATA<span style="color: #000000;">&#91;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> org.flexduck.model.Todo;
<span style="color: #0033ff; font-weight: bold;">import</span> nz.co.codec.flexorm.EntityManager;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Objeto de persistencia
 */</span> 
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> genericDAO 	<span style="color: #000000; font-weight: bold;">:</span> EntityManager	= EntityManager.instance;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Classe para listar
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> todoClass	<span style="color: #000000; font-weight: bold;">:</span> <a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">Class</span></a>			= Todo;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Bean
 */</span>
<span style="color: #000000;">&#91;</span>Bindable<span style="color: #000000;">&#93;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> todo		<span style="color: #000000; font-weight: bold;">:</span> Todo			= <span style="color: #0033ff; font-weight: bold;">new</span> Todo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #3f5fbf;">/**
 * Evento disparado no creationComplete da aplicação para fazer a conexão com o banco de dados
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> initApp<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">Event</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> appDataBase <span style="color: #000000; font-weight: bold;">:</span> File = File.documentsDirectory.resolvePath<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;ducktodo.db&quot;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #6699cc; font-weight: bold;">var</span> sqlConn		<span style="color: #000000; font-weight: bold;">:</span> SQLConnection	= <span style="color: #0033ff; font-weight: bold;">new</span> SQLConnection<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
	sqlConn.<span style="color: #004993;">open</span><span style="color: #000000;">&#40;</span>appDataBase<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.sqlConnection	= sqlConn;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Adicionar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnAddHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.<span style="color: #004993;">save</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todo<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Excluir&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnDelHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.remove<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todo<span style="color: #000000;">&#41;</span>;
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no duplo click no grid de pesquisa
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> doubleClickHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span> 
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.todo	= <span style="color: #0033ff; font-weight: bold;">this</span>.dg.selectedItem <span style="color: #0033ff; font-weight: bold;">as</span> Todo;
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex	= <span style="color: #000000; font-weight:bold;">0</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Pesquisar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnPesquisarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.dg.dataProvider	= <span style="color: #0033ff; font-weight: bold;">this</span>.genericDAO.findAll<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.todoClass<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Cadastrar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnCadastrarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex 	= <span style="color: #000000; font-weight:bold;">0</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Listar&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnListarHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.vw.selectedIndex	= <span style="color: #000000; font-weight:bold;">1</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Função disparada no click do botão de &quot;Novo&quot;
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> btnNovoHandler<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><a href="http://www.google.com/search?q=mouseevent%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:mouseevent.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span style="color: #004993;">MouseEvent</span></a><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">this</span>.todo	= <span style="color: #0033ff; font-weight: bold;">new</span> Todo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding destination=<span style="color: #990000;">&quot;todo.titulo&quot;</span> 		<span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;titulo.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding destination=<span style="color: #990000;">&quot;todo.descricao&quot;</span> 	<span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;descricao.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Panel <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;500&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;250&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> title=<span style="color: #990000;">&quot;O que tenho para fazer?&quot;</span> horizontalCenter=<span style="color: #990000;">&quot;0&quot;</span> verticalCenter=<span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>ViewStack id=<span style="color: #990000;">&quot;vw&quot;</span> <span style="color: #004993;">top</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">left</span>=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas label=<span style="color: #990000;">&quot;Grid&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;100%&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;100%&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Label <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;Título&quot;</span> fontWeight=<span style="color: #990000;">&quot;bold&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;29&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;460&quot;</span> id=<span style="color: #990000;">&quot;titulo&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;{this.todo.titulo}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Label <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;58&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;Descrição&quot;</span> fontWeight=<span style="color: #990000;">&quot;bold&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextArea <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;75&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;460&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;85&quot;</span> id=<span style="color: #990000;">&quot;descricao&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;{this.todo.descricao}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;318&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Adicionar&quot;</span> id=<span style="color: #990000;">&quot;btnAdd&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnAddHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;252&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Listar&quot;</span> id=<span style="color: #990000;">&quot;btnListar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnListarHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;189&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Novo&quot;</span> id=<span style="color: #990000;">&quot;btnNovo&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnNovoHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;406&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;172&quot;</span> label=<span style="color: #990000;">&quot;Excluir&quot;</span> id=<span style="color: #990000;">&quot;btnDel&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnDelHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas label=<span style="color: #990000;">&quot;Formulario&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;100%&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;100%&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGrid 	<span style="color: #004993;">top</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">left</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;30&quot;</span> 
						id=<span style="color: #990000;">&quot;dg&quot;</span> 
						<span style="color: #004993;">doubleClickEnabled</span>=<span style="color: #990000;">&quot;true&quot;</span> 
						<span style="color: #004993;">doubleClick</span>=<span style="color: #990000;">&quot;doubleClickHandler(event);&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>columns<span style="color: #000000; font-weight: bold;">&gt;</span>
				<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGridColumn dataField=<span style="color: #990000;">&quot;titulo&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>columns<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>DataGrid<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button label=<span style="color: #990000;">&quot;Pesquisar&quot;</span> id=<span style="color: #990000;">&quot;btnPesquisar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnPesquisarHandler(event);&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;5&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Button label=<span style="color: #990000;">&quot;Cadastrar&quot;</span> id=<span style="color: #990000;">&quot;btnCadastrar&quot;</span> <span style="color: #004993;">click</span>=<span style="color: #990000;">&quot;btnCadastrarHandler(event);&quot;</span> <span style="color: #004993;">bottom</span>=<span style="color: #990000;">&quot;5&quot;</span> <span style="color: #004993;">right</span>=<span style="color: #990000;">&quot;90&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Canvas<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>ViewStack<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Panel<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>WindowedApplication<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Basta exportar sua aplicação, e tudo deverá funcionar perfeitamente.</p>
<p>Forte abraço e até a próxima!</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2010/01/27/flexorm-framework-orm-para-persistencia-em-air-1-5/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flex 4 &#8211; Two-way data binding</title>
		<link>http://www.horochovec.com.br/blog/2010/01/21/flex-4-two-way-data-binding/</link>
		<comments>http://www.horochovec.com.br/blog/2010/01/21/flex-4-two-way-data-binding/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 02:07:39 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Data Binding]]></category>
		<category><![CDATA[Two-way Data Binding]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=241</guid>
		<description><![CDATA[    Olá amigos
Neste post quero comentar uma nova feature do Flex SDK 4 que é o &#8220;two-way data binding&#8221;, mas o que é e no que isso pode nos auxiliar no dia a dia?

Mas afinal, o que é o Data Binding? É a ação de passar valores de um objeto para outro [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2010/01/21/flex-4-two-way-data-binding/&title=Flex 4 &#8211; Two-way data binding' onclick='readpage(this.href, 241); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_241'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Olá amigos</p>
<p>Neste post quero comentar uma nova feature do Flex SDK 4 que é o &#8220;two-way data binding&#8221;, mas o que é e no que isso pode nos auxiliar no dia a dia?</p>
<p><span id="more-241"></span></p>
<p>Mas afinal, o que é o Data Binding? É a ação de passar valores de um objeto para outro de forma automática. Quando um objeto sofre uma alteração em determinada propriedade dele, essa alteração é refletida em algum atributo de um objeto. Esse objeto pode ou não, vir a ser o mesmo objeto que sofreu a primeira alteração.</p>
<p>No Flex 3.x o Data Binding possibilitava o espelhamento de informação de um objeto para outro porém o inverso não ocorria de forma automática, dessa forma, éramos obrigados a criar outro Binding, só que desta vez, fazendo a operação de forma inversa, conforme segue código abaixo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.horochovec.com.br/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=241&amp;download=DataBinding.mxml">DataBinding.mxml</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p24114"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code" id="p241code14"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Application xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding <span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;campoA.text&quot;</span> destination=<span style="color: #990000;">&quot;campoB.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>Binding <span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;campoB.text&quot;</span> destination=<span style="color: #990000;">&quot;campoA.text&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextInput id=<span style="color: #990000;">&quot;campoA&quot;</span> <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> 	<span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>TextInput id=<span style="color: #990000;">&quot;campoB&quot;</span> <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;178&quot;</span> 	<span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>mx<span style="color: #000000; font-weight: bold;">:</span>Application<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Obviamente que isso dificultava o trabalho do desenvolvedor em seu dia-a-dia, além de aumentar o consumo de memória das aplicações.</p>
<p>No Flex 4.0 a Adobe preparou uma ótima surpresa para auxiliar neste problema &#8211; &#8220;Two-way Data Binding&#8221;.</p>
<p>Mas como ele funciona? Simples, através da declaração adicional <em>twoWay</em> no objeto <em>Binding</em> você pode definir se o binding deve enviar e receber alterações no atributo do objeto de origem.</p>
<p>Veja exemplo abaixo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.horochovec.com.br/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=241&amp;download=TwoWayBinding.mxml">TwoWayBinding.mxml</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p24115"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p241code15"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>Application xmlns<span style="color: #000000; font-weight: bold;">:</span>fx=<span style="color: #990000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span> 
			   xmlns<span style="color: #000000; font-weight: bold;">:</span>s=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/spark&quot;</span> 
			   xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/mx&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;/</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Binding <span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;campoA.text&quot;</span> destination=<span style="color: #990000;">&quot;campoB.text&quot;</span> twoWay=<span style="color: #990000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;21&quot;</span> id=<span style="color: #990000;">&quot;campoA&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;146&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;21&quot;</span> id=<span style="color: #990000;">&quot;campoB&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>s<span style="color: #000000; font-weight: bold;">:</span>Application<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Simples, dessa forma já qualquer alteração feita no TextInput &#8220;campoB&#8221; será refletida no TextInput &#8220;campoA&#8221; e vice-versa.</p>
<p>Também é possível fazer a declaração conforme exemplo abaixo, utilizando o @ em conjunto com os {}:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.horochovec.com.br/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=241&amp;download=TwoWayBinding.mxml">TwoWayBinding.mxml</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p24116"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code" id="p241code16"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>Application xmlns<span style="color: #000000; font-weight: bold;">:</span>fx=<span style="color: #990000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span> 
			   xmlns<span style="color: #000000; font-weight: bold;">:</span>s=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/spark&quot;</span> 
			   xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/mx&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;/</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Binding <span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;campoA.text&quot;</span> destination=<span style="color: #990000;">&quot;campoB.text&quot;</span> twoWay=<span style="color: #990000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;21&quot;</span> id=<span style="color: #990000;">&quot;campoA&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;146&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;21&quot;</span> id=<span style="color: #990000;">&quot;campoB&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;10&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;65&quot;</span> id=<span style="color: #990000;">&quot;campoC&quot;</span> <span style="color: #004993;">text</span>=<span style="color: #990000;">&quot;@{campoD.text}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>TextInput <span style="color: #004993;">x</span>=<span style="color: #990000;">&quot;150&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;65&quot;</span> id=<span style="color: #990000;">&quot;campoD&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>s<span style="color: #000000; font-weight: bold;">:</span>Application<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Eu prefiro a primeira opção, utilizando a declaração do <em>< fx:Binding ></em> para um melhor entendimento e ordenação do código-fonte.</p>
<p>Um abraço e até a próxima.</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2010/01/21/flex-4-two-way-data-binding/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalando AIR 2.0 no seu Flash Builder</title>
		<link>http://www.horochovec.com.br/blog/2010/01/12/instalando-air-2-0-no-seu-flash-builder/</link>
		<comments>http://www.horochovec.com.br/blog/2010/01/12/instalando-air-2-0-no-seu-flash-builder/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 05:30:52 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[AIR 2.0]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=217</guid>
		<description><![CDATA[    Olá pessoal, Primeiramente quero desejar um Feliz 2010 a todos os leitores do blog!
Esse ano promete, teremos o lançamento no novo Flash Builder 4 com o Flex SDK 4.0, AIR 2.0 e Flash Catalyst, além das novas versões dos softwares da Adobe para a versão CS5, a qual venho testando a [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2010/01/12/instalando-air-2-0-no-seu-flash-builder/&title=Instalando AIR 2.0 no seu Flash Builder' onclick='readpage(this.href, 217); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_217'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Olá pessoal, Primeiramente quero desejar um Feliz 2010 a todos os leitores do blog!</p>
<p>Esse ano promete, teremos o lançamento no novo Flash Builder 4 com o Flex SDK 4.0, AIR 2.0 e Flash Catalyst, além das novas versões dos softwares da Adobe para a versão CS5, a qual venho testando a alguns meses e tenho me surpreendido bastante, principalmente com o Flash CS5, agora com recursos para desenvolvimento para Iphone, mas este será um assunto específico para outro post, nesse artigo, iremos tratar apenas da instalação do AIR 2.0 dentro do Flash Builder 4.</p>
<p><span id="more-217"></span></p>
<p>O primeiro passo é fazer o download da nova versão do AIR 2.0 disponível no Adobe Labs. Para fazer o download clique <a href="http://labs.adobe.com/downloads/air2.html" target="_new">aqui</a>. No meu caso, eu fiz o download e salvei o arquivo AIR20_win_sdk_010710.zip dentro da pasta sdks\ da instalação do meu Flash Builder.</p>
<p><img class="aligncenter size-full wp-image-221" title="AIR SKD Download" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/11.jpg" alt="AIR SKD Download" width="498" height="369" /></p>
<p>Feito o download, você deve duplicar a pasta 4.0.0 que contem a nova versão do SDK do Flex, e após isso adicionar o conteúdo do SDK da nova versão do AIR para dentro da nova pasta que você acabou de duplicar. No meu caso, antes de copiar os arquivos do SDK do AIR eu alterei o nome da pasta para &#8220;4.0.0 + AIR 2.0.0 Beta&#8221; e depois copiei todos os arquivos do novo SDK do AIR para dentro da nova pasta. Confirmei que todos os arquivos que já existiam com o mesmo nome deveriam ser sobre-escritos.</p>
<p><img class="aligncenter size-full wp-image-223" title="Fusão de pastas = Flex SDK + AIR SDK" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/2.jpg" alt="Fusão de pastas = Flex SDK + AIR SDK" width="498" height="369" /></p>
<p>Ok, feito isso, podemos abrir o Flash Builder e fazer a configuração do SDK para utilização.</p>
<p>Ao abrir o Flash Builder, vá ao menu: Window -&gt; Preferences. Nesta janela, iremos adicionar um novo SDK para o Flash Builder, conforme a imagem abaixo:</p>
<p><img class="aligncenter size-full wp-image-226" title="3" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/3.jpg" alt="3" width="498" height="369" /></p>
<p>Após clicar em &#8220;Add&#8221;, seguimos com a configuração abaixo. Perceba que eu adicionei ao &#8220;Flex SDK Location&#8221; o caminho do SDK copiado do 4.0.0 e com a adição do SDK no AIR 2.0.0.</p>
<p><img class="aligncenter size-full wp-image-228" title="4" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/4.jpg" alt="4" width="514" height="195" /></p>
<p>E como resultado final:</p>
<p><img class="aligncenter size-full wp-image-229" title="5" src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/5.jpg" alt="5" width="498" height="369" /></p>
<p>Agora iremos criar um novo projeto, conforme as configurações da tela abaixo. Atente para a opção aonde eu digo que quero usar uma versão específica do SDK e marco o SDK &#8220;<em>4.0.0 + AIR 2.0.0Beta</em>&#8220;. </p>
<p><img src="http://www.horochovec.com.br/blog/wp-content/uploads/2010/01/6.jpg" alt="6" title="6" width="484" height="510" class="aligncenter size-full wp-image-231" /></p>
<p>Clicando em &#8220;Finish&#8221;, uma vez que não será necessário mais nenhuma configuração, nosso projeto está apto a trabalhar com a versão 2.0 do AIR SDK. </p>
<p>Dentro do arquivo, Main-app.xml na segunda linha, podemos ver a indicação da versão do SDK no arquivo de configuração para compilação do projeto.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.horochovec.com.br/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=217&amp;download=Main-app.xml">Main-app.xml</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p21719"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code" id="p217code19"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span> standalone=<span style="color: #990000;">&quot;no&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>application xmlns=<span style="color: #990000;">&quot;http://ns.adobe.com/air/application/2.0beta2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;!--</span> Adobe AIR Application Descriptor File Template.
&nbsp;
	Specifies <span style="color: #004993;">parameters</span> <span style="color: #0033ff; font-weight: bold;">for</span> identifying, installing, and launching AIR applications.
&nbsp;
	xmlns <span style="color: #000000; font-weight: bold;">-</span> The Adobe AIR <span style="color: #004993;">namespace</span><span style="color: #000000; font-weight: bold;">:</span> http<span style="color: #000000; font-weight: bold;">:</span><span style="color: #009900;">//ns.adobe.com/air/application/2.0beta2</span>
			The last segment of the <span style="color: #004993;">namespace</span> specifies the <span style="color: #004993;">version</span> 
			of the AIR runtime required <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">this</span> application to run.
&nbsp;
	minimumPatchLevel <span style="color: #000000; font-weight: bold;">-</span> The minimum patch <span style="color: #004993;">level</span> of the AIR runtime required to run 
			the application. Optional.
<span style="color: #000000; font-weight: bold;">--&gt;</span></pre></td></tr></table></div>

<p>Outro teste comum que você poderá encontrar em outros tutoriais com o mesmo objetivo que este é a instância de um objeto do tipo NativeProcess, que é uma classe específica desta versão do AIR, disponível no pacote: <em><strong>flash.desktop.</strong></em>. Você poderá fazer o teste da seguinte forma:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.horochovec.com.br/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=217&amp;download=Main.mxml">Main.mxml</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p21720"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code" id="p217code20"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>s<span style="color: #000000; font-weight: bold;">:</span>WindowedApplication xmlns<span style="color: #000000; font-weight: bold;">:</span>fx=<span style="color: #990000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span> 
					   xmlns<span style="color: #000000; font-weight: bold;">:</span>s=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/spark&quot;</span> 
					   xmlns<span style="color: #000000; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;library://ns.adobe.com/flex/mx&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;!--</span> Place non<span style="color: #000000; font-weight: bold;">-</span>visual <span style="color: #004993;">elements</span> <span style="color: #000000;">&#40;</span>e.g., services, <span style="color: #004993;">value</span> objects<span style="color: #000000;">&#41;</span> here <span style="color: #000000; font-weight: bold;">--&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;/</span>fx<span style="color: #000000; font-weight: bold;">:</span>Declarations<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;</span>fx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;!</span><span style="color: #000000;">&#91;</span>CDATA<span style="color: #000000;">&#91;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> nativeProcess <span style="color: #000000; font-weight: bold;">:</span> NativeProcess;
&nbsp;
		<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;/</span>fx<span style="color: #000000; font-weight: bold;">:</span>Script<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>s<span style="color: #000000; font-weight: bold;">:</span>WindowedApplication<span style="color: #000000; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>Bom pessoal, espero ter ajudado a quem quer testar e ainda tinha dúvidas de como proceder a instalação do AIR 2.0 dentro do Flash Builder 4.</p>
<p>Um abraço e até a próxima!</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2010/01/12/instalando-air-2-0-no-seu-flash-builder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Enterprise Day em Goiania</title>
		<link>http://www.horochovec.com.br/blog/2009/11/20/java-enterprise-day-em-goiania/</link>
		<comments>http://www.horochovec.com.br/blog/2009/11/20/java-enterprise-day-em-goiania/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 03:39:52 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=213</guid>
		<description><![CDATA[    Ola pessoal
Recebi hoje a notícia que em Goiania/GO em dezembro irá ocorrer o Java Enterprise Day, organizado pelo GOJava. 
O evento é sobre Java EE e te dois de duração. Irá contar com palestrantes nacionais e internacionais. Rolará no evento muita informação sobre a nova versão do Java EE. Eu já [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/11/20/java-enterprise-day-em-goiania/&title=Java Enterprise Day em Goiania' onclick='readpage(this.href, 213); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_213'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Ola pessoal</p>
<p>Recebi hoje a notícia que em Goiania/GO em dezembro irá ocorrer o <a href="http://www.javaeeday.com/" target="_new">Java Enterprise Day</a>, organizado pelo <a href="http://www.gojava.org/" target="_new">GOJava</a>. </p>
<p>O evento é sobre Java EE e te dois de duração. Irá contar com palestrantes nacionais e internacionais. Rolará no evento muita informação sobre a nova versão do Java EE. Eu já pude conferir as features no <a href="http://www.thedevelopersconference.com.br" target="_new">TDC 2009</a> e aconselho: faça o possível para prestigiar o evento se você é da região.</p>
<p>Fica a dica. Abraços </p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/11/20/java-enterprise-day-em-goiania/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Player Beta 10.1 Disponivel</title>
		<link>http://www.horochovec.com.br/blog/2009/11/17/flash-player-beta-10-1-disponivel/</link>
		<comments>http://www.horochovec.com.br/blog/2009/11/17/flash-player-beta-10-1-disponivel/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 09:39:11 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=209</guid>
		<description><![CDATA[    Olá pessoal, está disponível para download a versão 10.1 beta do Flash Player, primeira release no Open Screen Project. 
A lista de todas as features você pode encontrar aqui e fazer seu download aqui. O download está disponível nas versões: Windows, Mac e Linux.
Bom download  
 ]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/11/17/flash-player-beta-10-1-disponivel/&title=Flash Player Beta 10.1 Disponivel' onclick='readpage(this.href, 209); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_209'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Olá pessoal, está disponível para download a versão 10.1 beta do Flash Player, primeira release no <a href="http://www.openscreenproject.org/" target="_new">Open Screen Project</a>. </p>
<p>A lista de todas as features você pode encontrar <a href="http://labs.adobe.com/technologies/flashplayer10/features.html">aqui</a> e fazer seu download <a href="http://labs.adobe.com/downloads/flashplayer10.html">aqui</a>. O download está disponível nas versões: Windows, Mac e Linux.</p>
<p>Bom download <img src='http://www.horochovec.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/11/17/flash-player-beta-10-1-disponivel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Developers Conference 2009 &#8211; Florianópolis</title>
		<link>http://www.horochovec.com.br/blog/2009/11/12/the-developers-conference-2009-florianopolis/</link>
		<comments>http://www.horochovec.com.br/blog/2009/11/12/the-developers-conference-2009-florianopolis/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 23:50:41 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Globalcode]]></category>
		<category><![CDATA[Java EE 6]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[TDC]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=196</guid>
		<description><![CDATA[    Ola pessoal, segunda (dia 9) tive a oportunidade de participar do TDC 2009 organizado pela Globalcode. Assistimos duas palestras do Rod Johnson &#8211; criador do Spring Framework, Mike Keith &#8211; Líder das especificações EJB 3 e JPA e trabalha na Oracle, Ed Burns &#8211; Líder do Expert Group JSF 2.0, e [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/11/12/the-developers-conference-2009-florianopolis/&title=The Developers Conference 2009 &#8211; Florianópolis' onclick='readpage(this.href, 196); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_196'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Ola pessoal, segunda (dia 9) tive a oportunidade de participar do TDC 2009 organizado pela Globalcode. Assistimos duas palestras do Rod Johnson &#8211; criador do Spring Framework, Mike Keith &#8211; Líder das especificações EJB 3 e JPA e trabalha na Oracle, Ed Burns &#8211; Líder do Expert Group JSF 2.0, e mais 4 Lightning Talks do pessoal da Globalcode e V.Office.</p>
<p><span id="more-196"></span><br />
Rod Johnson (Spring) abriu o evento com uma palestra sobre as tendências Java EE, aonde fez uma abordagem sobre como ele vê o desenvolvimento Java EE nos próximos 5 anos. Falou muito sobre cloud computing, data centers e sobre o quanto ainda aumentará a complexidade da arquitetura de uma aplicação Java EE e as responsabilidades do arquiteto Java por mais facilidades que irão surgir no Java EE 6.  Foi excelente e nos primeiros 30 minutos todos já puderam ter idéia sobre como seria o evento.</p>
<p>Em seguida, uma palestra excepcional. Mike Keith (Oracle) fez um overview sobre a nova versão do Java EE 6 que será lançada no dia 10 de dezembro.  Demonstrou (através de slides) boa parte do novo suporte de annotations para auxiliar a produtividade do desenvolvedor. Demonstrou também todo o trabalho que tiveram para evoluir e facilitar ainda mais o uso de EJBs e todas as inovações da nova JPA (agora com Criteria). Comentou bastante sobre a fragmentação de XMLs em JARs e sobre os namespaces dos XMLs para configuração de projetos.</p>
<p>Logo após a palestra do Mike, o pessoal da Globalcode aproveitou a onda dos EJBs e fez um Lightning Talk sobre EBJ 3.1. Comentando sobre o projeto deles: &#8220;EJB 3.1 Code Samples&#8221; que está hospedado hoje no Kenai e tem como objetivo ensinar a galera como utilizar o EJB 3.1 &#8211; Nota 10 pra equipe da Globalcode.</p>
<p>Logo após o almoço, tivemos mais um Lightning Talk, agora com o Vinicius Senger aonde ele fez uma abordagem muito divertida sobre o Arduino.</p>
<p>A tarde, teriamos uma palestra com Chris Schalk do Google, porem, por motivos de visto ele não pode permanecer no Brasil e Rod Johnson fez uma outra palestra, a palestra sem slides, que foi ótima. Ele sentou na frente de um notebook e se matou programando e explicando o Spring ROO para que você possa ter produtividade ao máximo em Java. O Spring ROO é um framework muito parecido com o Rails para o Ruby. Muito interessante. Nessa palestra ele também demonstrou diversas funcionalidades da Spring IDE.</p>
<p>Por padrão, a cada palestra dos gurus, uma intervenção com um Lightning Talk pelo pessoal da Globalcode ou V.Ofiice. Dessa vez a bola ficou com o pessoal da V.Office que demonstrou uma ótima solução para celulares e telefonia VoIP utilizando o Asterisk.</p>
<p>E a ultima palestra dos gurus, ficou para o Ed Burns (Sun). Ele fez uma abordagem completa do JSF 2.0. Teve alguns problemas com os exemplos dele mas no mais foi tranquilo. Confesso que não fiquei surpreso com absolutamente nada que ele demonstrou, mas o JSF também está evoluindo a largos passos.</p>
<p>E para finalizar o ciclo de palestras antes das perguntas aos gurus, o pessoal da Globalcode preparou mais um Lightning Talk com o Vinicius Nunes aonde foi feito uma abordagem do ScrumToys. Um projeto muito legal que está disponivel nos exemplos do Netbeans (parabens a iniciativa do projeto ao pessoal da Globalcode). O projeto é bastante simples mas demonstra o uso de EJBs e do JSF 2.0.</p>
<p>E para finalizar o dia com chave de ouro, um painel de perguntas aos palestrantes. Eu tive a oportunidade de fazer 2 perguntas (quem me conhece sabe que eu não deixaria essa oportunidade passar em branco). A primeira foi destinada ao Ed Burns para que fizesse um comparativo do JSF 2.0 entre o Adobe Flex (claro), Silverlight e JavaFX para desenvolvimento de RIAs. Ele respondeu que depende muito do que se quer da aplicação, por isso existe espaço para todas essas tecnologias no mercado. (PS: ele fez uma cara meio feia quando recebeu a pergunta).</p>
<p>E outra pergunta foi para o Rod Johnson sobre a entrevista dele no Mundo Java aonde ele não pode comparar Adobe Flex X JavaFX alegando não ter conhecimento a fundo do JavaFX (na epoca), então, aproveitei para perguntar se agora era possivel fazer esse comparativo. Ele deu muitas voltas e disse o que já tinha dito, que o Adobe Flex está a todo vapor, tem uma boa IDE e de fato, as outras tecnologias precisam se esforçar para alcança-lo e tomar um pouco do mercado que ele já adquiriu.</p>
<p>Não fiz perguntas direcionadas ao Mike devido a sua palestra ter sido tão boa, que realmente não vi necessidade de perguntar nada, apenas aguardar anciosamente a versão do Java EE 6 para download.</p>
<p>Nota do evento: Dez, simplesmente dez. Ótima organização, ótimos palestrantes, tanto internacionais como nacionais. Só resta parabenizar a Globalcode pela iniciativa do TDC. Apenas achei que tinha pouca gente para ouvir quem estava palestrando. Acredito que perto de 300 pessoas acompanharam o evento. Se tratando de Rod Johnson, Mike Keith e Ed Burns, eu particularmente esperava muito mais.</p>
<p>Abaixo, fotos do evento e da tietagem, é obvio. Não perderia a oportunidade de registrar minha presença ao lado dos palestrantes, que tiveram a maior paciencia do mundo em tirar fotos com todos que quiseram. E ainda ganhei um capitulo no novo livro que vai ser publicado no próximo ano do Ed Burns sobre JSF. <img src='http://www.horochovec.com.br/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Ano que vem? Estarei lá com certeza!</p>
<p> </p>
<div id="attachment_197" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-197 " title="Painel de Perguntas" src="http://www.horochovec.com.br/blog/wp-content/uploads/2009/11/1-300x225.jpg" alt="Ed Burns, Rod Johnson e Mike Keith no Painel de Perguntas coordenado pela Yara (Globalcode)" width="300" height="225" /><p class="wp-caption-text">Ed Burns, Rod Johnson e Mike Keith no Painel de Perguntas coordenado pela Yara (Globalcode)</p></div>
<div class="mceTemp mceIEcenter">
<div id="attachment_202" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-202" title="3" src="http://www.horochovec.com.br/blog/wp-content/uploads/2009/11/3-300x225.jpg" alt="Mauri (IDS), Mike Keith (Oracle), Rod Johnson (Spring) e eu (IDS)" width="300" height="225" /><p class="wp-caption-text">Mauri (IDS), Mike Keith (Oracle), Rod Johnson (Spring) e eu (IDS)</p></div>
</div>
<div>
<div id="attachment_205" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-205" title="Marcos (Banco do Brasil), Mauri (IDS), Ed Burns (Sun) e eu (IDS)" src="http://www.horochovec.com.br/blog/wp-content/uploads/2009/11/22-300x225.jpg" alt="Marcos (Banco do Brasil), Mauri (IDS), Ed Burns (Sun) e eu (IDS)" width="300" height="225" /><p class="wp-caption-text">Marcos (Banco do Brasil), Mauri (IDS), Ed Burns (Sun) e eu (IDS)</p></div>
</div>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/11/12/the-developers-conference-2009-florianopolis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe Shibuya</title>
		<link>http://www.horochovec.com.br/blog/2009/10/15/adobe-shibuya/</link>
		<comments>http://www.horochovec.com.br/blog/2009/10/15/adobe-shibuya/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 22:01:30 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Shibuya]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=193</guid>
		<description><![CDATA[    Ola pessoal,
A Adobe está melhorando cada vez mais o client AIR para que as empresas venham a desenvolver suas aplicações pensando em sua utilização.
O AIR possui tudo que você precisa para criar um processo de distribuição da sua aplicação em qualquer sistema operacional e possibilita diversas customizações para o processo de [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/10/15/adobe-shibuya/&title=Adobe Shibuya' onclick='readpage(this.href, 193); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_193'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Ola pessoal,</p>
<p>A <a href="http://www.adobe.com/" target="_new">Adobe</a> está melhorando cada vez mais o <em>client</em> AIR para que as empresas venham a desenvolver suas aplicações pensando em sua utilização.</p>
<p>O AIR possui tudo que você precisa para criar um processo de distribuição da sua aplicação em qualquer sistema operacional e possibilita diversas customizações para o processo de instalação e atualização da aplicação, inclusive atualização de novas versões de forma extremamente prática (conforme mostrado aqui no meu blog).</p>
<p>E agora, um novo novo produto/serviço aparece no mercado. O Adobe Shibuya, ainda beta e não liberado para o uso, mas para quem vem desenvolvendo e utilizando o AIR pode ficar ainda mais animado com a tecnologia.</p>
<p>A proposta do Adobe Shibuya é que em poucas linhas de código você possa criar um controle de distribuição de aplicações em AIR. De que forma? Try e Buy!! Ou seja, versões demo e opção para compra da sua aplicação direto pelo site da Adobe &#8211; veja a loja online <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.categories&#038;marketplaceId=1&#038;categoryid=10080" target="_new">aqui</a>.</p>
<p>Você irá ter um controle de compras através do Adobe Developer Connection e receberá os pagamentos uma vez por mês. </p>
<p>Bom, a idéia é ótima e só tende a aumentar a quantia de projetos em AIR. Eu particularmente adorei a idéia de poder desenvolver algo e por para vender direto no site da Adobe. <img src='http://www.horochovec.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para acompanhar o Shibuya, clique <a href="http://labs.adobe.com/technologies/shibuya/" target="_new">aqui</a>.</p>
<p>Vida longa ao Flex!</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/10/15/adobe-shibuya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tecsul Pato Branco &#8211; 2009</title>
		<link>http://www.horochovec.com.br/blog/2009/10/07/tecsul-pato-branco-2009/</link>
		<comments>http://www.horochovec.com.br/blog/2009/10/07/tecsul-pato-branco-2009/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 00:20:16 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tecsul]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=190</guid>
		<description><![CDATA[    Durante os dias 14, 15 e 16 acontecerá em Pato Branco, PR o evento Tecsul. O Tecsul é uma união de dois eventos, o Aftertaste e o Sematis.
Serão três dias de palestras e minicursos com diversos palestrantes e instrutores.
O AUG FlexDuck estará presente no dia 14 com um minicurso sobre Flex.
Convido [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/10/07/tecsul-pato-branco-2009/&title=Tecsul Pato Branco &#8211; 2009' onclick='readpage(this.href, 190); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_190'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Durante os dias 14, 15 e 16 acontecerá em Pato Branco, PR o evento Tecsul. O Tecsul é uma união de dois eventos, o Aftertaste e o Sematis.</p>
<p>Serão três dias de palestras e minicursos com diversos palestrantes e instrutores.</p>
<p>O <a href="http://www.flexduck.org/" target="_new">AUG FlexDuck</a> estará presente no dia 14 com um minicurso sobre Flex.</p>
<p>Convido todos a estarem participando do evento. Mais informações, clique <a href="http://www.tecsul.org.br" target="_new">aqui</a>.</p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/10/07/tecsul-pato-branco-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso de Adobe Flex em Dois Vizinhos</title>
		<link>http://www.horochovec.com.br/blog/2009/09/18/curso-de-adobe-flex-em-dois-vizinhos/</link>
		<comments>http://www.horochovec.com.br/blog/2009/09/18/curso-de-adobe-flex-em-dois-vizinhos/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 04:20:21 +0000</pubDate>
		<dc:creator>Stefan Horochovec</dc:creator>
				<category><![CDATA[FlexDuck]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.horochovec.com.br/blog/?p=188</guid>
		<description><![CDATA[    Ola
Em mais uma parceria com o NTI Paraná e Sudotec, estaremos realizando um curso de 24 horas de Adobe Flex em Dois Vizinhos/PR.
O curso tem duração de 24 horas. As aulas serão na Sudotec. O curso é para iniciantes e a linguagem que utilizaremos como back-end será o Java.
Para mais informações, [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_STOP --> <a href='http://wr.readspeaker.com/webreader/webreader.php?cid=b827b15f1569ec84b4722486f0873ea7&t=wordpress_free&url=http://www.horochovec.com.br/blog/2009/09/18/curso-de-adobe-flex-em-dois-vizinhos/&title=Curso de Adobe Flex em Dois Vizinhos' onclick='readpage(this.href, 188); return false;'> <img src='http://graphics.readspeaker.com/images/wr/listen_pt_pt.gif' style='border-style: none;' alt='Ouvir com webReader'></a><div id='WR_188'></div> <!-- RSPEAK_START --> <div id=HOTWordsTxt name=HOTWordsTxt><p>Ola</p>
<p>Em mais uma parceria com o NTI Paraná e Sudotec, estaremos realizando um curso de 24 horas de Adobe Flex em Dois Vizinhos/PR.</p>
<p>O curso tem duração de 24 horas. As aulas serão na Sudotec. O curso é para iniciantes e a linguagem que utilizaremos como back-end será o Java.</p>
<p>Para mais informações, acesse o site do NTI Parana, clicando <a href="http://www.ntipr.org.br/" target="_new">aqui</a></p>
</div> <!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://www.horochovec.com.br/blog/2009/09/18/curso-de-adobe-flex-em-dois-vizinhos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
