Um video mostrando como será os efeitos e animação do Flex 4.
Exemplos para download:
http://www.adobe.com/devnet/flex/articles/flex4_effects_pt1.html
http://www.adobe.com/devnet/flex/articles/flex4_effects_pt2.html
Exemplo do Efeito 3D
Fonte : http://labs.adobe.com/technologies/flash/videos/flashcamp/haase/
Usando efeitos e animação no Flex 4
quarta-feira, 30 de setembro de 2009
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Flex Style Explorer
terça-feira, 29 de setembro de 2009
Flex Style Explorer fornece uma maneira visual para você ver como alterar as configurações de estilo de Flex, componentes de interface de usuário vai afetar a visualização de sua aplicação. Esta aplicação específica é dividido em três seções: Style Controls, Sandbox, e CSS. Essas seções permitem, respectivamente, teste, ver e aprender as configurações de estilo que são necessários para conseguir o "look" que você tem em mente. O Flex Style Explorer permite definir estilos para aplicações, elementos de formulário, grids de dados, e muito mais.
Link para Aplicação : http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html
Fonte da Aplicação : http://www.maclema.com/content/sek/srcview/index.html
Fonte : http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Axiis - Gráficos Elegantes
segunda-feira, 28 de setembro de 2009
Axiis é uma fonte aberta quadro de visualização de dados projetado para desenvolvedores iniciantes e experientes.
Se você está construindo gráficos elegantes para reuniões de informação executiva ou a explorar as fronteiras da investigação avançadas de visualização de dados, Axiis tem algo para você.
Axiis fornece tanto componentes pré-visualização, bem como os padrões de layout e renderização de classes abstratas que permitem a você criar suas próprias visualizações únicas.
Axiis é construído sobre o quadro Degrafa gráficos e Adobe Flex 3.
Veja os Exemplos :
http://www.axiis.org/examples.html
Fonte :
http://www.axiis.org/index.html
http://tourdeflex.blogspot.com/2009/06/axiis-data-visualization-samples-added.html
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Tour de Flex
sexta-feira, 25 de setembro de 2009
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Criando um Custom Panel - Minimizar - Maximizar - Fechar
quinta-feira, 24 de setembro de 2009
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Integrando Flex com Java
quarta-feira, 23 de setembro de 2009
Para aquele que gostam do JAVA o Fabio Prestes fez um tutorial bem simples desta integração.
- Tomcat 6
- Java 6
- BlazeDs 3.x
- Sdk Flex 3.x
- Eclipse, FelxBuilder ou NetBeans.
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Arrastar e Soltar usando Imagem (Drag e Drop)
terça-feira, 22 de setembro de 2009
Abaixo um exemplo de arrastar e soltar usando imagens.
Exemplo.mxml
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
backgroundGradientAlphas="[1.0, 1.0]"
backgroundGradientColors="[#FFFFFF, #FFFFFF]" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.DragSource;
import mx.managers.DragManager;
import mx.events.DragEvent;
[Bindable]
private var quantity : int = 0;
private function initiateDrag(event:MouseEvent):void {
var dragInitiator:Image = event.currentTarget as Image;
var source:DragSource = new DragSource();
source.addData(dragInitiator,"gift");
var proxy:Image = new Image();
proxy.source = dragInitiator.source;
proxy.width = 50;
proxy.height = 50;
DragManager.doDrag(dragInitiator, source, event, proxy);
}
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("gift")){
DragManager.acceptDragDrop(event.currentTarget as Image);
}
}
private function dragDropHandler(event:DragEvent):void{
quantity ++;
Alert.show("Gift added to your cart");
}
]]>
</mx:Script>
<mx:Label text="Add drag and drop support manually" color="#990000"
fontSize="20" fontWeight="bold" fontStyle="italic"/>
<mx:Canvas width="800" height="366">
<mx:Label fontSize="14"
color="#000000" width="66" x="600" y="311"
fontWeight="bold" textAlign="center"
text="{quantity.toString()}"/>
<mx:Image source="assets/gift.png" x="40" y="120"
mouseDown="initiateDrag(event)" />
<mx:Image source="@Embed('assets/cart.jpg')" x="480" y="100"
dragEnter="dragEnterHandler(event)"
dragDrop="dragDropHandler(event)" />
</mx:Canvas>
</mx:Application>
Exemplo Funcionando : http://files.riacodes.com/flex_drag-drop-gift-cart/demo/
Código Fonte : http://files.riacodes.com/flex_drag-drop-gift-cart/demo/srcview/index.html
Fonte : http://www.riacodes.com/flex/add-drag-and-drop-support-manually/
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Ferramenta “FREE” para desenvolvimento em FLEX
segunda-feira, 21 de setembro de 2009
Flash Develop é uma ferramenta “FREE” que tem suporte para desenvolvimento de aplicações FLEX. O Anderson Macente está utilizando á algum tempo e gostou muito. Ela não tem a parte de interface (clicar e arrastar) do Flex Builder, porém ela ajuda muito completando códigos e compilando o projeto de maneira simples.
"A falta da parte de interface não é nenhuma desvantagem, em minha opinião, o que realmente faz falta pra mim é uma ferramenta de versionamento do código fonte".
Anderson Macente
O site oficial é esse.
Link para download.
Fonte : http://andersonmacente.blogspot.com/2009/09/ferramenta-free-para-desenvolvimento-em.html
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
ScreenToaster - Ferramenta para ScrenCast
sexta-feira, 18 de setembro de 2009
Pessoal, uma ferramenta feita em FLEX muito util para aqueles que fazem Screencasts, tutoriais, demonstrações, treinamentos, palestras e muito mais.
É bem simples de utilizar, é Free e não precisa instalar nenhum programa para utiliza-lo.
Compatível com Windows, Mac OS X, Linux.
Você pode adicionar áudio e uma webcam enquanto estiver gravando. Quando terminar, adicionar legendas, escolha a sua miniatura, descrever e codificar seus vídeos para outros usuários podem encontrar facilmente o seu screencasts.
Você pode fazer o download do video (.mov ou .swf) ou ainda publicar na internet conforme link abaixo.
Exemplo de um video :
Fonte : http://www.screentoaster.com/
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
De MonsterDebugguer
quinta-feira, 17 de setembro de 2009
De MonsterDebugger é um depurador de código aberto para o Adobe Flash, Flex e AIR. De MonsterDebugger é feito em Flex e AIR pelo estúdio de design De Monstros.
Como funciona:
Existem alguns passos simples que você tem que tomar a fim de começar a usar De MonsterDebugger com seus próprios aplicativos.
- Primeiro você precisa ter o Adobe AIR instalado.
- Depois que você precisa para instalar De MonsterDebugger. Basta abrir o download e AIR fará o resto.
- Depois De MonsterDebugger está instalado e funcionando, você ainda precisará importar a classe do cliente para estabelecer a conexão com De MonsterDebugger. A classe cliente é incorporado em De MonsterDebugger e podem ser salvos em qualquer local, selecionando Arquivo> Exportar Client Class. Salve a pasta na pasta raiz do seu aplicativo.
- Agora tudo que você precisa fazer é importar a classe em seu projeto. Flash e Flex exemplos são mostrados abaixo.
Exemplo em Flex
<?xml version = "1.0" encoding = "UTF-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import nl.demonsters.debugger.MonsterDebugger;
private var debugger : MonsterDebugger;
private function init(): void
{
debugger = new MonsterDebugger(this);
MonsterDebugger.trace(this, "Hello World!");
}
]]>
</mx:Script>
<mx:Button x="176" y="257" label="Button" click="MonsterDebugger.trace(this, 'teste');"/>
</mx:Application>
Download : http://monsterdebugger.googlecode.com/files/MonsterDebuggerV2_04.air
Fiz um video simples de como usar o De Monster Debugger
Fonte : http://demonsterdebugger.com/
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Gerar Excel, Html e Word de um Datagrid
quarta-feira, 16 de setembro de 2009
Pessoal fiz um exemplo que gera um documento do Excel, HTML ou Word dos dados de um DataGrid. É bem simples e utiliza o FileReference para salvar os arquivos.
Atenção: fique atento a codificação de caracteres que você utiliza no Flex e a que você utiliza na hora de gerar os documentos, pois pode ter problemas com acentuação das palavras.
Observação : para compilar esse projeto você precisa alterar a versão do flash player para 10, para isso clique com o botão direito no projeto, acesse a opção "Flex Compiler" e altere o campo "Require Flash Player version" para 10.0.0.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:TitleWindow x="154" y="59" styleName="opaquePanel">
<mx:DataGrid id="dtgLista" width="400" height="174" dataProvider="{dtpLista}">
<mx:columns>
<mx:DataGridColumn headerText="Codigo" dataField="codigo"/>
<mx:DataGridColumn headerText="Nome" dataField="nome"/>
<mx:DataGridColumn headerText="Idade" dataField="idade"/>
</mx:columns>
</mx:DataGrid>
<mx:ControlBar horizontalAlign="right">
<mx:Box direction="horizontal">
<mx:RadioButtonGroup id="rdgTipo"/>
<mx:RadioButton value="xls" label="XLS" groupName="rdgTipo" selected="true"/>
<mx:RadioButton value="html" y="45" label="HTML" groupName="rdgTipo"/>
<mx:RadioButton value="doc" label="DOC" groupName="rdgTipo"/>
</mx:Box>
<mx:Button label="Salvar Documento" click="gerar(dtgLista)"/>
</mx:ControlBar>
</mx:TitleWindow>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.DataGrid;
[Bindable] private var dtpLista : Object =
[
{codigo : '1',nome : 'Luiz',idade : 23},
{codigo : '2',nome : 'Maria',idade : 20},
{codigo : '3',nome : 'Carlos',idade : 2},
{codigo : '4',nome : 'Da Silva',idade : 15},
{codigo : '5',nome : 'Marcela',idade : 28},
{codigo : '6',nome : 'André',idade : 24},
{codigo : '7',nome : 'José',idade : 23},
{codigo : '8',nome : 'Silva',idade : 21},
{codigo : '9',nome : '',idade : 5},
];
private function gerar(dtg : DataGrid):void
{
var i : int;
var j : int;
var html : String = "";
html+="<html><body>";
html+="<head>";
html+="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
html+="</head>";
html+="<table border=1>";
//TITULOS DAS COLUNAS
html+="<tr>";
for(i=0;i<dtg.columns.length;i++)
{
html+="<td><b>"+dtg.columns[i].headerText+"</b></td>";
}
html+="</tr>";
//DADOS DO GRID
for(j=0;j<dtg.dataProvider.length;j++)
{
html+="<tr>";
for(i=0;i<dtg.columns.length;i++)
{
if(dtg.dataProvider[j][dtg.columns[i].dataField]){
html+="<td>"+(dtg.dataProvider[j][dtg.columns[i].dataField].toString() ? dtg.dataProvider[j][dtg.columns[i].dataField].toString() : " ")+"</td>";
}else{
html+="<td> </td>";
}
}
html+="</tr>";
}
html+="</table>";
html+="</body></html>";
new FileReference().save(html,"arquivo." + rdgTipo.selectedValue);
}
]]>
</mx:Script>
</mx:Application>
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
LineChart - Gráfico
terça-feira, 15 de setembro de 2009
Abaixo um exemplo de utilização do LineChart
LineChart.mxml
<!-- Simple example to demonstrate the LineChart and AreaChart controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var expensesAC:ArrayCollection = new ArrayCollection( [
{ Month: "Jan", Profit: 2000, Expenses: 1500, Amount: 450 },
{ Month: "Feb", Profit: 1000, Expenses: 200, Amount: 600 },
{ Month: "Mar", Profit: 1500, Expenses: 500, Amount: 300 },
{ Month: "Apr", Profit: 1800, Expenses: 1200, Amount: 900 },
{ Month: "May", Profit: 2400, Expenses: 575, Amount: 500 } ]);
]]>
</mx:Script>
<!-- Define custom colors for use as fills in the AreaChart control. -->
<mx:SolidColor id="sc1" color="blue" alpha=".3"/>
<mx:SolidColor id="sc2" color="red" alpha=".3"/>
<mx:SolidColor id="sc3" color="green" alpha=".3"/>
<!-- Define custom Strokes. -->
<mx:Stroke id = "s1" color="blue" weight="2"/>
<mx:Stroke id = "s2" color="red" weight="2"/>
<mx:Stroke id = "s3" color="green" weight="2"/>
<mx:Panel title="LineChart and AreaChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:LineChart id="linechart" height="100%" width="45%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{expensesAC}">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Month"/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries yField="Profit" form="curve" displayName="Profit" lineStroke="{s1}"/>
<mx:LineSeries yField="Expenses" form="curve" displayName="Expenses" lineStroke="{s2}"/>
<mx:LineSeries yField="Amount" form="curve" displayName="Amount" lineStroke="{s3}"/>
</mx:series>
</mx:LineChart>
<mx:Legend dataProvider="{linechart}"/>
<mx:AreaChart id="Areachart" height="100%" width="45%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{expensesAC}">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Month"/>
</mx:horizontalAxis>
<mx:series>
<mx:AreaSeries yField="Profit" form="curve" displayName="Profit" areaStroke="{s1}" areaFill="{sc1}"/>
<mx:AreaSeries yField="Expenses" form="curve" displayName="Expenses" areaStroke="{s2}" areaFill="{sc2}"/>
<mx:AreaSeries yField="Amount" form="curve" displayName="Amount" areaStroke="{s3}" areaFill="{sc3}"/>
</mx:series>
</mx:AreaChart>
<mx:Legend dataProvider="{Areachart}"/>
</mx:Panel>
</mx:Application>
Fonte : http://livedocs.adobe.com/flex/3/langref/mx/charts/LineChart.html
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
10 plug-ins para Flex Builder
segunda-feira, 14 de setembro de 2009
O Flex Builder é sem dúvida a primeira IDE que um desenvolvedor terá contato quando iniciar no mundo Flex. Porém quem já trabalha com outras IDEs, vai sentir falta de alguns recursos existentes. Veja abaixo uma lista completa de plug-ins para melhorar seu Flex Builder e conseqüentemente aumentar sua produtividade com a ferramenta.
Igor Costa
1- RegExp Painel: O RegExp é para quem trabalha gosta de usar expressões regulares em Actionscript e quer testar na própria ferramenta, sem ter que usar outras ferramentas para tal. Baixe aqui.
2 - Enterprise IDE:Um baita plug-in, pena que ainda não há definições sobre comercialização, suporte, preços. Porém traz uma gama de recursos interessantes, desde leitor de RSS à geradores de classes. Baixe aqui.
Cairngorm Plugin: Desenvolvido pelo próprio pessoal da Adobe, esse plug-in fornece de forma fácil a geração de novas classes para quem usa o Cairngorm Framework. Baixe aqui.
3 - Blueprint: Pintou aquela dúvida no meio do desenvolvimento e quer ver como um método, classe, componente funciona? Não precisa mais ficar esperando o Google responder para você, com o BluePrint você faz tudo isso sem sai da IDE. O Blueprint foi desenvolvido por uma empresa na Romênia que fora comprada pela Adobe. Baixe aqui.
Flex Formatter: Se seu código está meio bagunçado no aspecto de identação. O Flex Formatter é feito para você, como o próprio nome diz, ele ajeita o código para você e lhe ajuda a manter um código legível e organizado. Baixe aqui.
Eclipse Monkey: Sabe o famoso Grease monkey do Firefox?Pois é alguém teve a idéia de usar a mesma idéia do grease monkey dentro do Eclipse, com ele é possível fazer de tudo, prota tanto que você pode por exemplo gerar automaticamente getter e setters. Baixe aqui.
Aptana: Quer que seu Flex Builder tenha um editor de XHTML, CSS, Javascript excelente sem ter que usar outra IDE? O Aptana é feito para isso, além disso com ele você pode gerar novos projetos AIR usando apenas Javascript, coisa que no Flex Builder só é possível usando Flex. Baixe Aqui.
PDT Plug-in:Se você é desenvolvedor PHP e quer incorporar em seu Flex Builder a edição de código PHP sem usar a IDE da Zend. Você pode usar o PDT dentro do seu Flex Builder e ter suporte a edição de código PHP. Baixe aqui.
CFEclipse: Você desenvolvedor ColdFusion, já conhece o CFEclipse, o bom é que você pode instalar o plug-in do CFEclipse direto no seu Flex Builder e assim editar cfcs, cfml sem precisar de outra IDE. Baixe aqui.
Flex Builder em Full Screen: O Plug-in Eclipse Fullscreen, ajuda você que está de saco cheio dos paineis Flex Navigator, Flex Components e Outline, que ficam ali ao lado ocupando espaço. Você só quer um desejo ter o editor 100% livre de qualquer coisa que lhe chame a atenção. Baixe aqui.
Fonte : http://www.igorcosta.com/blog/?p=851
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Varios Exemplos de Gráficos
sexta-feira, 11 de setembro de 2009
Link interessante de vários Gráficos
http://demo.quietlyscheming.com/ChartSampler/app.html
Código Fonte : http://demo.quietlyscheming.com/ChartSampler/srcview/index.html
Postado por Luiz Henrique de Angeli às 09:00 0 comentários
Marcadores: Flex
Usando o Degrafa
quinta-feira, 10 de setembro de 2009
O degrafa é uma ferramenta que ajuda em muito no desenvolvimento de Skins nas aplicações Flex. Hoje eu utilizo ele em vários projetos, principalmente para backgroung. As aplicações abaixo foram retiradas do próprio site da degrafa em http://code.google.com/p/degrafa/source/.
Veja os exemplos : http://blog.mxml.com.br/usando-o-degrafa
Fonte : Eduardo Kraus - http://blog.mxml.com.br/usando-o-degrafa
Postado por Luiz Henrique de Angeli às 08:46 0 comentários
Marcadores: Flex
Tutoriais, Componentes e Temas interessantes para o Adobe Flex
quarta-feira, 9 de setembro de 2009
Lista de Tutoriais,componentes interessantes para Adobe Flex.
http://www.noupe.com/adobe/flex-developers-toolbox-free-components-themes-and-tutorials.html
Postado por Luiz Henrique de Angeli às 09:09 0 comentários
Marcadores: Flex
Adobe Flex A Partir Do Zero
terça-feira, 8 de setembro de 2009
Para os iniciantes em flex links para 5 Apostilas.
Adobe_Flex_a_partir_do_zero_1.pdf
Adobe_Flex_a_partir_do_zero_2.pdf
Adobe_Flex_a_partir_do_zero_3.pdf
Adobe_Flex_a_partir_do_zero_4.pdf
Adobe_Flex_a_partir_do_zero_5.pdf
Retirado de : http://msdevstudio.com/blog/2008/01/05/adobe-flex-a-partir-do-zero/
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Utilize Menu o botão direito do mouse
sexta-feira, 4 de setembro de 2009
O Mario Junior, desenvolveu uma aplicação exemplo de como utilizar o botão direito em suas aplicações Adobe Flex, acesse o exemplo.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
applicationComplete="onAppCreated()" width="495" height="342" viewSourceURL="srcview/index.html">
<!-- Define the menu data. This is an official example from livedoc -->
<mx:XML format="e4x" id="myMenuData">
<root>
<menuitem label="MenuItem A">
<menuitem label="SubMenuItem A-1" enabled="false"/>
<menuitem label="SubMenuItem A-2"/>
</menuitem>
<menuitem label="MenuItem B" type="check" toggled="true"/>
<menuitem label="MenuItem C" type="check" toggled="false"/>
<menuitem type="separator"/>
<menuitem label="MenuItem D">
<menuitem label="SubMenuItem D-1" type="radio" groupName="one" />
<menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true"/>
<menuitem label="SubMenuItem D-3" type="radio" groupName="one" />
</menuitem>
<menuitem type="separator"/>
<menuitem label="Custom View Source"/>
</root>
</mx:XML>
<mx:Script>
<![CDATA[
import flash.net.navigateToURL;
import mx.events.MenuEvent;
import mx.controls.Menu;
import mx.controls.Alert;
//my Menu Instance
private var myMenu:Menu;
//In the application created event, we initialize a callback for
//ExternalInterface using a same name "rightClick" used on the javascript code.
private function onAppCreated():void{
ExternalInterface.addCallback("rightClick",onMouseRightButtonClicked);
}
//the magic method, called by javascript through ExternalInterface.
private function onMouseRightButtonClicked():void{
//if exists an before Menu, simpply hide it.
if (myMenu != null) myMenu.hide();
//creating a Menu
myMenu = Menu.createMenu(null, myMenuData,false);
myMenu.labelField="@label";
//add a eventListener
myMenu.addEventListener(MenuEvent.ITEM_CLICK,myMenuItemClicked);
//show the Menu where the mouse pointer is located.
myMenu.show(stage.mouseX, stage.mouseY);
}
//This method is invoked when a menu item was clicked.
private function myMenuItemClicked(e:MenuEvent):void {
//if "customViewSource" alias was clicked...
if (e.label=="Custom View Source") {
//... then, show the view source page.
navigateToURL(new URLRequest("srcview/index.html"));
}
}
]]>
</mx:Script>
<mx:Label x="18.5" y="10" text="Clique com o botão direito do Mouse sobre a área da aplicação" fontWeight="bold" fontSize="13"/>
<mx:Label x="49.5" y="310" text="Click the right mouse button over the application area" fontWeight="bold" fontSize="13"/>
</mx:Application>
Link para Código fonte : http://www.mariojunior.com/labs/rightClickAS3/srcview/index.html
Fonte : http://blog.mariojunior.com/?p=17
Postado por Luiz Henrique de Angeli às 08:00 0 comentários
Marcadores: Flex
Adobe dá Flex Builder 3 para programadores desempregados
quinta-feira, 3 de setembro de 2009
"É isso mesmo. Se você é um programador Flex e está desempregado atualmente, faça o seu cadastro no site https://freeriatools.adobe.com/learnflex/ e em no máximo duas semanas a Adobe te enviará a resposta por email sobre sua elegibilidade no programa junto com o número de série caso você esteja qualificado.
No mesmo embalo a Safari Books Online está oferecendo 60 dias de acesso a coleção de livros de Adobe Flex 3 e técnicas de desenvolvimento RIA, faça o seu cadastro em https://ssl.safaribooksonline.com/tryitfree.
Esta coleção inclui títulos oficiais da Adobe: Adobe Developer Library e Adobe Press."
Igor Musardo
Fonte : http://www.igormusardo.com.br/page/2/
Postado por Luiz Henrique de Angeli às 10:23 0 comentários
ColumnChart - Gráfico
quarta-feira, 2 de setembro de 2009
Abaixo um exemplo de utilização do ColumnChart
ColumnChart.mxml
<?xml version="1.0"?>
<!-- Simple exemplo to demonstrate the ColumnChart and BarChart controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var medalsAC:ArrayCollection = new ArrayCollection( [
{ Country: "USA", Gold: 35, Silver:39, Bronze: 29 },
{ Country: "China", Gold: 32, Silver:17, Bronze: 14 },
{ Country: "Russia", Gold: 27, Silver:27, Bronze: 38 } ]);
]]>
</mx:Script>
<!-- Define custom colors for use as fills. -->
<mx:SolidColor id="sc1" color="yellow" alpha=".8"/>
<mx:SolidColor id="sc2" color="0xCCCCCC" alpha=".6"/>
<mx:SolidColor id="sc3" color="0xFFCC66" alpha=".6"/>
<!-- Define custom Strokes for the columns. -->
<mx:Stroke id="s1" color="yellow" weight="2"/>
<mx:Stroke id="s2" color="0xCCCCCC" weight="2"/>
<mx:Stroke id="s3" color="0xFFCC66" weight="2"/>
<mx:Panel title="ColumnChart and BarChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:ColumnChart id="column"
height="100%"
width="45%"
paddingLeft="5"
paddingRight="5"
showDataTips="true"
dataProvider="{medalsAC}"
>
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Country"/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries
xField="Country"
yField="Gold"
displayName="Gold"
fill="{sc1}"
stroke="{s1}"
/>
<mx:ColumnSeries
xField="Country"
yField="Silver"
displayName="Silver"
fill="{sc2}"
stroke="{s2}"
/>
<mx:ColumnSeries
xField="Country"
yField="Bronze"
displayName="Bronze"
fill="{sc3}"
stroke="{s3}"
/>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{column}"/>
<mx:BarChart id="bar" height="100%" width="45%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{medalsAC}">
<mx:verticalAxis>
<mx:CategoryAxis categoryField="Country"/>
</mx:verticalAxis>
<mx:series>
<mx:BarSeries
yField="Country"
xField="Gold"
displayName="Gold"
fill="{sc1}"
stroke="{s1}"
/>
<mx:BarSeries
yField="Country"
xField="Silver"
displayName="Silver"
fill="{sc2}"
stroke="{s2}"
/>
<mx:BarSeries
yField="Country"
xField="Bronze"
displayName="Bronze"
fill="{sc3}"
stroke="{s3}"
/>
</mx:series>
</mx:BarChart>
<mx:Legend dataProvider="{bar}"/>
</mx:Panel>
</mx:Application>
Fonte : http://livedocs.adobe.com/flex/3/langref/mx/charts/ColumnChart.html
Postado por Luiz Henrique de Angeli às 16:00 0 comentários
Marcadores: Flex
Como validar CNPJ, CPF e PIS usando Validator
terça-feira, 1 de setembro de 2009
Galera, Abaixo um exemplo de como validar CNPJ, CPF e PIS usando Validator, desenvolvida pelo Anderson Macente
"Neste post irei demonstrar como validar CNPJ, CPF e PIS em FLEX utilizando a classe Validator. Aproveitando o embalo segue também como colocar mascara nos campos. O componente utilizado para máscara foi retirado desse link
Os arquivos ".as" devem ser criados na pasta componentes."
Anderson Macente
CpfValidator.as
package componentes
{
import mx.validators.ValidationResult;
import mx.validators.Validator;
public class CpfValidator extends Validator
{
public function CpfValidator()
{
super();
}
override protected function doValidation(value:Object):Array
{
var results:Array = super.doValidation(value.text);
var digito:Array = new Array(); // array para os dígitos do CPF.
var aux:Number= 0;
var posicao:Number;
var i:Number;
var soma:Number;
var dv:Number;
var dvInformado:Number;
var CPF:String = value.text;
// Retira os dígitos formatadores de CPF '.' e '-', caso existam.
CPF.replace(".", "");
CPF.replace("-", "");
//verifica CPFs manjados
switch (CPF)
{
case '0':
case '00':
case '000':
case '0000':
case '00000':
case '000000':
case '0000000':
case '00000000':
case '000000000':
case '0000000000':
case '00000000000':
case '11111111111':
case '22222222222':
case '33333333333':
case '44444444444':
case '55555555555':
case '66666666666':
case '77777777777':
case '88888888888':
case '99999999999':
results.push(new ValidationResult(true, null, "Erro","Número do CPF inválido!"));
return results;
break;
}
// Início da validação do CPF.
/* Retira do número informado os dois últimos dígitos */
dvInformado = parseInt(CPF.substr(9,2));
/* Desmembra o número do CPF no array digito */
for (i=0; i<= 8; i++)
{
digito[i] = CPF.substr(i,1);
}
/* Calcula o valor do 10o. digito de verificação */
posicao = 10;
soma = 0;
for (i=0; i <= 8; i++)
{
soma = soma + digito[i] * posicao;
posicao--;
}
digito[9] = soma % 11;
if (digito[9] < 2)
{
digito[9] = 0;
} else {
digito[9] = 11 - digito[9];
}
/* Calcula o valor do 11o. digito de verificação */
posicao = 11;
soma = 0;
for (i=0; i <= 9; i++)
{
soma = soma + digito[i] * posicao;
posicao--;
}
digito[10] = soma % 11;
if (digito[10] < 2)
{
digito[10] = 0;
} else {
digito[10] = 11 - digito[10];
}
dv = digito[9] * 10 + digito[10];
/* Verifica se o DV calculado é igual ao informado */
if(dv != dvInformado)
{
results.push(new ValidationResult(true, null, "Erro","Número do CPF inválido!"));
}
return results;
}
override protected function getValueFromSource():Object
{
var value:Object = {};
value.text = super.getValueFromSource();
return value;
}
}
}
CnpjValidator.as
package componentes
{
import mx.validators.ValidationResult;
import mx.validators.Validator;
public class CnpjValidator extends Validator
{
public function CnpjValidator()
{
super();
}
override protected function doValidation(value:Object):Array
{
var results:Array = super.doValidation(value.text);
var a:Array = new Array();
var b:Number = new Number;
var i:Number;
var x:Number;
var y:Number;
var c:Array = [6,5,4,3,2,9,8,7,6,5,4,3,2];
var CNPJ:String = value.text;
// Retira os dígitos formatadores de CNPJ '.' e '-', caso existam.
CNPJ.replace(".", "");
CNPJ.replace("-", "");
CNPJ.replace("/", "");
//verifica CNPJs manjados
switch (CNPJ)
{
case '0':
case '00':
case '000':
case '0000':
case '00000':
case '000000':
case '0000000':
case '00000000':
case '000000000':
case '0000000000':
case '00000000000':
case '11111111111':
case '22222222222':
case '33333333333':
case '44444444444':
case '55555555555':
case '66666666666':
case '77777777777':
case '88888888888':
case '99999999999':
results.push(new ValidationResult(true, null, "Erro","Número do CNPJ inválido!"));
return results;
break;
}
for (i=0; i < 12; i++)
{
a[i] = CNPJ.charAt(i);
b += a[i] * c[i+1];
}
if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
b = 0;
for (y=0; y < 13; y++)
{
b += (a[y] * c[y]);
}
if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13]))
{
results.push(new ValidationResult(true, null, "Erro","Número do CNPJ inválido!"));
}
return results;
}
override protected function getValueFromSource():Object
{
var value:Object = {};
value.text = super.getValueFromSource();
return value;
}
}
}
PisValidator.as
package componentes
{
import mx.validators.ValidationResult;
import mx.validators.Validator;
public class PisValidator extends Validator
{
public function PisValidator()
{
super();
}
// Define the doValidation() method.
override protected function doValidation(value:Object):Array
{
var results:Array = super.doValidation(value.text);
if (value.text != "")
{
//Testa se o número do pis é válido ou não
var PIS:String = value.text;
var i:Number;
var digito:Number=0;
var total:Number=0;
var resto:Number=0;
var pesos:Array = new Array;
var erro:Boolean = false;
// Retira os dígitos formatadores de PIS '.' e '-', caso existam.
PIS.replace(".", "");
PIS.replace("-", "");
//verifica PIS manjados
switch (PIS)
{
case '0':
case '00':
case '000':
case '0000':
case '00000':
case '000000':
case '0000000':
case '00000000':
case '000000000':
case '0000000000':
case '00000000000':
case '11111111111':
case '22222222222':
case '33333333333':
case '44444444444':
case '55555555555':
case '66666666666':
case '77777777777':
case '88888888888':
case '99999999999':
results.push(new ValidationResult(true, null, "Erro","Número do PIS inválido!"));
return results;
break;
}
pesos[0] = 3;
pesos[1] = 2;
pesos[2] = 9;
pesos[3] = 8;
pesos[4] = 7;
pesos[5] = 6;
pesos[6] = 5;
pesos[7] = 4;
pesos[8] = 3;
pesos[9] = 2;
for (i=0; i<10; i++)
{
total = total + pesos[i] * parseInt(PIS.substr(i,1));
}
resto = total % 11;
if((11-resto)>9)
digito =0;
else
digito = (11 - resto);
if(digito != parseInt(PIS.substr(10,1)))
{
erro = true;
}else{
erro = false;
}
if(erro)
{
results.push(new ValidationResult(true, null, "Erro","Número do PIS inválido!"));
}
}
return results;
}
override protected function getValueFromSource():Object
{
var value:Object = {};
value.text = super.getValueFromSource();
return value;
}
}
}
main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:componentes="componentes.*" >
<!-- Criando componentes utilizando o MaskedTextInput -->
<mx:Form>
<mx:FormItem label="CPF">
<componentes:MaskedTextInput id="txiCPF" inputMask="###.###.###-##" width="200" restrict="0-9" />
</mx:FormItem>
<mx:FormItem label="CNPJ">
<componentes:MaskedTextInput id="txiCNPJ" width="200" inputMask="##.###.###//####-##" maxChars="10" restrict="0-9"/>
</mx:FormItem>
<mx:FormItem label="PIS">
<componentes:MaskedTextInput id="txiPIS" width="200" inputMask="###.#####.##-#" maxChars="10" restrict="0-9"/>
</mx:FormItem>
</mx:Form>
<!-- Validator para CPF -->
<componentes:CpfValidator required="true"
source="{txiCPF}"
property="text"
requiredFieldError="Campo Obrigatório"/>
<!-- Validator para CNPJ -->
<componentes:CnpjValidator required="true"
source="{txiCNPJ}"
property="text"
requiredFieldError="Campo Obrigatório"
/>
<!-- Validator para PIS -->
<componentes:PisValidator required="true"
source="{txiPIS}"
property="text"
requiredFieldError="Campo Obrigatório"
/>
</mx:Application>
Download dos Fontes : http://groups.google.com.br/group/flexdev/web/CNPJ_PIS_CPF_Validator.zip
Blog do Anderson Macente : http://andersonmacente.blogspot.com/2009/08/como-validar-cnpj-cpf-e-pis-em-flex.html
Postado por Luiz Henrique de Angeli às 08:00 1 comentários
Marcadores: Flex