Fiote


DataField Autocomplete
18 18UTC Abril 18UTC 2008, 15:33
Arquivado em: Componentes Flex, flex

Galera ando meu arrochado tocando o projeto mas assim q vai aparecendo algo vou colocando aqui. Uma coisa q fazia muito na epoca de programação desktop era o auto complete da data, ainda não ta certinho mas ja dar pra ir usando.


package br.com.webinovacoes.componentes.formularios
{
import mx.controls.DateField;
import mx.events.FlexEvent;
import mx.formatters.DateBase;

public class CampoData extends DateField{
// Dias nomes
private const diasNomes:Array = ["D","S","T","Q","Q","S","S"];
// Meses
private const mesesNomes:Array = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"];

/* Contrutor */
public function CampoData() {
super();

this.width=95;
dayNames=diasNomes;
monthNames=mesesNomes;
formatString=”DD/MM/YYYY”;
restrict=”0-9″;
editable=true;
addEventListener(FlexEvent.VALUE_COMMIT,completar);
}

/**
* Função para completar
*/
private function completar(event:FlexEvent):void {
var str:String = event.target.text as String;
if ( str.charAt(2) != “/” || str.charAt(5) != “/” ) {
var mask:String;
var dataAtual:Date = new Date();

if ( str.length == 2 ) {
mask = str.substr(0, 2) + “/” + (dataAtual.getMonth()+1).toString() + “/” + dataAtual.getFullYear();
event.target.text = mask;
} else if ( str.length == 4 ) {
mask = str.substr(0, 2) + “/” + str.substr(2,2) + “/” + dataAtual.getFullYear().toString();
event.target.text = mask;
} else if ( str.length == 6 ) {
mask = str.substr(0, 2) + “/” + str.substr(2,2) + “/” + str.substr(4, 4);
event.target.text = mask;
} else if ( str.length == 8 ) {
mask = str.substr(0, 2) + “/” + str.substr(2,2) + “/” + str.substr(4, 4);
event.target.text = mask;
}

}

if ( this.editable == true ) {
// Validar.dataField(event);
}
}

/**
* Tipo para validação
*/
[Inspectable(category="WebInovacoes")]
public function set valor (dataInformada:Date):void{
if (dataInformada!=null){
data=dataInformada;
selectedDate=dataInformada;
//text=dataInformada.getDate().toString()+ “/”+ (dataInformada.getMonth()+1).toString() + “/”+ dataInformada.getFullYear().toString();

var dia:String=dataInformada.getDate().toString();
if (dia.length ==1) dia = “0″+dia;

var mes:String= (dataInformada.getMonth()+01).toString() ;
if (mes.length ==1) mes = “0″+mes;

text=dia + “/”+ mes + “/”+ dataInformada.getFullYear().toString();

}
}

}
}

agora é só mudar o package e pronto.



Diminuindo o tamanho final do SWF
5 05UTC Abril 05UTC 2008, 10:26
Arquivado em: flex

Hoje o nosso amigo Daniel Lopes da lista FlexDev disponibilizou um link como diminuir o tamanho do swf final, usando o recurso de framework caching disponível no Flex 3, que separa componentes sendo asssim somente na 1ª vez que o usuario acessar a sua aplicação  vai baixar tudo (SWF principal e 2 de componentes), depois somente o swf final.

Eu usei na minha app diminuiu de 900kb para 336kb.

Para mais informações:

Blog do Daniel Lopes

http://blog.areacriacoes.com.br/2008/4/5/flex-3-framework-caching