Flex 4 vem aí!

Flex No Comments »

A Adobe realmente está rápida no desenvolvimento do Flex, já anunciaram a nova versão do Flex, com codinome “Gumbo”.

Quem quiser baixar a nova versão clique aqui

Veja um vídeo on Ely Greenfield demonstra alguns novos recursos do Flex 4

Abraços

Fotos do 13° Encontro de Web Design

Eventos, Fotos No Comments »

Olá pessoal, publiquei algumas fotos do 13° Encontro de Web Design, foi um evento muito interessante, onde com certeza irei abstrair muita coisa.

Abraços



Eu, os de camiseta laranja são Higor e Kauê da Hostnet



Estande da HostNet



Estande da IG Empresas



Estande da UOL Host



Inicio das palestras

13° Encontro de Webdesign

Eventos No Comments »

Consegui um convite pela Hostnet para ir ao 13° Encontro de Webdesign (www.encontrodewebdesign.com.br) que irá acontecer amanhã dia 19 de julho de 2008, no Mar Hotel, em Recife, apesar de não ser webdesign acho interessante participar de tal evento para ver as novas tendências da internet e também fazer meu network, bem se algum leitor deste blog for, nos conheceremos por lá.

Abraços

Dando foco em um TextInput após sair do Alert

Flex 4 Comments »

Olá pessoal, hoje vou comentar sobre uma dúvida que muita gente que começa a programar com Flex/ActionScript tem, que é com relação ao SetFocus e Alert, primeiro vou mostrar a forma que a maioria das pessoas fazem, que é uma forma que não funciona no flex, mais sim em linguagens procedurais como Delphi, VB, Javascript etc.

Digamos que tenho um cadastro com Nome e Endereço, onde o campo Nome é de preenchimento obrigatório, então caso o usuário tente salvar este cadastro sem preencher o nome o sistema irá exibir um Alert e logo após sair dar o foco no TextInput do nome ok?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
 
			private function onClick():void {
				if (edtNome.text == '') {
					Alert.show('Necessário preencher o nome','Atenção');
					edtNome.setFocus();
				}
			}
		]]>
	</mx:Script>
	<mx:Label x="10" y="10" text="Nome" fontWeight="bold"/>
	<mx:Label x="12" y="57" text="Endereço"/>
	<mx:TextInput x="10" y="27" id="edtNome"/>
	<mx:TextInput x="10" y="74" id="edtEndereco"/>
	<mx:Button x="10" y="104" label="Salvar" click="onClick()"/>
 
</mx:Application>

EXEMPLO



Notaram o problema? Quando você tenta salvar sem preencher nome o que o flex faz, ele exibe o Alert e logo em seguida já põe o cursor no TextInput, dai quando você clica no OK do Alert ele perde o foco…

Como resolver? Para resolver este probleminha você deverá definir uma função no evento de closeHandler do Alert, e nesta função você envia o foco para o TextInput, então substitua o código actionscript acima por este aqui:

<![CDATA[
	import mx.events.CloseEvent;
	import mx.controls.Alert;
 
	private function onClick():void {
		if (edtNome.text == '') {
			Alert.show('Necessário preencher o nome','Atenção',4,this,function(event:CloseEvent):void
			                                                          {
			                                                          	edtNome.setFocus();
			                                                          });
		}
	}
]]>


Agora focou bonitinho…
É isso aê pessoal, espero ter ajudado, abraços e até o próximo post!

Relatórios em PDF usando PHP e Flex

Flex, PHP, Relatórios 1 Comment »

Olá amigos,

Nesse post vou mostrar como faço meus relatórios em PHP e consigo acessar através do Flex, bem estou levando em consideração que você conheça a classe FPDF, que pode ser baixada clicando aqui, e também conheça o AMFPHP que é responsável pela conexão entre Flex e PHP que pode ser baixado clicando aqui, e que você já tenha uma conexão com algum banco de dados, neste exemplo vou usar o MySQL.

Então vamos criar o arquivo reports.php e digitar o código em PHP:

<?php
require_once("pdf.php");
 
class reports {
   function reports() {
      mysql_connect("localhost","root","senha");
      mysql_select_db("meubanco");
      session_start();
   }
 
  function meuRelatorio() {
      $sql = "select * from clientes order by nome";
 
      $pdf = new PDF('L'); 
 
      $pdf->SetName("Listagem dos clientes");
      $pdf->Open();
      $pdf->AddPage();
      $pdf->SetFont('Arial', 'B', 8);
      $pdf->Cell(10, 5, "Id", 0, 0);
      $pdf->Cell(50, 5, "Nome", 0, 0);
      $pdf->SetX(-10);
      $pdf->line(10, 25, $pdf->GetX(), 25);
      $pdf->SetXY(10, 27);
      $pdf->SetFont('Arial', '', 8); 	 		
 
      $ds = mysql_query($sql);
      while ($rs = mysql_fetch_object($ds)) {
 
         $pdf->Cell(10, 5, $rs->ID_CLIENTE, 0, 0);
         $pdf->Cell(50, 5, $rs->NOME, 0, 1);
      }
 
      $arquivo = "tmp/relatorio_".session_id().".pdf";
 
      $pdf->Output( $arquivo,'F' );
 
      return $arquivo;
   }
}

Até aí o fizemos é o seguinte, conectamos ao banco, montamos o relatório em pdf, gravamos o arquivo com um nome temporário usando a session_id, e retornamos o nome do arquivo para o flex, ok?

Agora vamos ao Flex, faremos uma aplicação simples apenas com um botão para chamar o metodo “meuRelatorio” e abrir o PDF em outra janela, então vamos lá.

Para manter uma conexão com o PHP eu uso um package que nomeio de ConexaoRemota, então crie um arquivo chamado ConexaoRemota.as com o seguinte conteúdo:

package
{
        import flash.net.NetConnection;
        import flash.net.ObjectEncoding;
        import flash.events.SecurityErrorEvent;
 
        public class ConexaoRemota extends NetConnection {
               public function ConexaoRemota(strURL:String) {
                     objectEncoding = ObjectEncoding.AMF0;
 
                     if(strURL)
                     	connect(strURL);
               }
        }
 
}

Agora inicie uma nova aplicação no Flex, e digite o seguinte código:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
	<mx:Script>
		<![CDATA[
		]]>
	</mx:Script>
 
	<mx:Button x="26" y="25" label="Visualizar relatório" click="abrePDF()"/>
 
</mx:Application>

Na Tag script digite o seguinte código:

import mx.controls.Alert;
 
public var gateway:ConexaoRemota;
 
private function initApp():void {
	gateway = new ConexaoRemota("http://127.0.0.1/relatorios/amfphp/gateway.php");  // caminho do arquivo gateway.php do AMFPHP
}
 
private function abrePDF():void {
	gateway.call("reports.meuRelatorio",new Responder(onResultPDF,onFaultAmf));  // chama o método meuRelatorio lá do arquivo reports.php
}
 
private function onFaultAmf(result:*):void {
	Alert.show("Erro no processamento!");
}
 
private function onResultPDF(result:*):void {
	var file:FileReference;
	var urlString:String = "http://127.0.0.1/relatorios/amfphp/services/"+result;  // local que criou o arquivo PDF
	var request:URLRequest = new URLRequest(urlString);
 
	navigateToURL(request,"_blank");	// abre o PDF em outra janela
}

Pronto! basta rodar sua aplicação e vê se funciona rsss, bem espero que tenha ficado claro pra vocês, abaixo você encontra a aplicação rodando para testar.

Espero ver os comentários de vocês sobre este post.

Abraços



Curso on-line de Flex+Vídeo

Flex, Curso No Comments »

A e-genial esta pra iniciar sua primeira turma do curso de flex+vídeo, eu com certeza irei fazer este curso, primeiro por se tratar de um assunto bastante promissor, depois por que o Carlos Eduardo saca muito de flex e temos muito que aprender desse fera.

Espero encontrar vocês por lá.

O link do curso é http://www.egenial.com.br/cursovideo/

Pernambuco agora é Flex!

Outros, Flex No Comments »

Agora a comunidade flex de Pernambuco conta com mais um site para referência, é o Flex Pernambuco a iniciativa foi do Juliano, onde o mesmo tem algumas ídeias interessantes, vale a pena entrar e participar do grupo!

Eu recomendo! ;)

Busca de ícones

Imagens 1 Comment »

Quer achar ícones bonitos e elegantes para suas aplicações? Conheci essa semana o Iconlook, com ele você pesquisa ícones bem no estilo google, tai um endereço para você guardar em seus favoritos!

Clique aqui para acessar o Iconlook

Vida de programador

Animação No Comments »

Hehehe animação muito engraçada… em inglês.

Clique aqui para abrir em outra janela!

Aplicando filtros em Label e Text

Flex No Comments »

Olá, como não tive muito tempo de escrever nada essa semana, estou fazendo este pequeno artigo ensinando a aplicar filtros em Label e Text dentro do flex, você também poderá aplicar o mesmo filtro nos componentes visuais derivados do UIComponent.
Os filtros estão dentro do package flash.filter.*, então para usar-mos estes filtros precisamos adicionar o pacote flash.filter em nossos mxml.
Bem para começar irei mostrar um efeito muito simples que é colocar uma sompra sobre um Label, digite o seguinte código:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:flash="flash.filters.*">
 
	<mx:Label text="QG do dia-a-dia com sombra!" fontSize="20" fontWeight="bold" color="#FFFFFF">
		<mx:filters>
			<flash:DropShadowFilter distance="5" angle="45"/>
		</mx:filters>
	</mx:Label>
 
	<mx:Label text="QG do dia-a-dia com Blur" fontSize="20" fontWeight="bold" color="#ffffff">
		<mx:filters>
			<flash:BlurFilter blurX="4" blurY="4" quality="1"/>
		</mx:filters>
	</mx:Label>
 
	<mx:Label text="QG do dia-a-dia com Glow" fontSize="20" fontWeight="bold" color="#ffffff">
		<mx:filters>
			<flash:GlowFilter color="#f6ff00" alpha=".8" blurX="6" blurY="6" strength="3" quality="1" inner="false" knockout="false"/>
		</mx:filters>
	</mx:Label>
 
	<mx:Label text="QG do dia-a-dia com Bevel" fontSize="20" fontWeight="bold" color="#ffffff">
		<mx:filters>
			<flash:BevelFilter distance="5" angle="45" highlightColor="#eeeeee" highlightAlpha="0.8" shadowColor="#333333" shadowAlpha="0.8" blurX="5" blurY="5" strength="1" quality="1" />
		</mx:filters>
	</mx:Label>	
 
</mx:Application>

Abaixo tem um exemplo da aplicação, abraços e até o próximo post!



WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Entrar