Sunteți pe pagina 1din 2

uscando endereço a partir de um CEP

no Flex
Segunda-Feira, 22 de Março de 2010 às 14:56

Todo programador em algum momento já teve ou terá que desenvolver uma aplicação
de cadastro que use endereço, e hoje em dia, está na moda fazer esta busca a partir do
CEP. Por isto, veremos uma rotina que usará um Web Service do
http://www.buscarcep.com.br/, para realizar uma busca de endereço através do CEP.

A primeira coisa a ser feita é criar uma interface gráfica, com um TextBox, para cada
item do endereço, que no nosso caso terá: logradouro, numero, complemento,
bairro,cidade, estado e CEP.

A maneira mais simples é criar um botão para realizar a busca, mas você também pode
usar o evento Focus Out do TextBox do CEP, se julgar mais elegante.

Depois que você criou a interface gráfica, basta criar um HTTPService object para
acessar o web service, desta forma:

<mx:HTTPService id="buscaCep" result="cepResultHandler(event)"


method="POST" showBusyCursor="true" resultFormat="e4x"/>
É este o objeto que receberá o resultado da pesquisa, ele executará o
método “cepResultHandler”, quando receber a resposta do web service,
por isto precisamos criá-lo dentro da tag <mx:script> </mx:script>,
conforme pode ser visto abaixo:
private function cepResultHandler(event:ResultEvent):void{
//HTTPService retorna um documento XML
//Função que recupera o resultado da busca do cep e alimenta
os campos.
var resultXML:XMLList = new XMLList(new XML(event.result));
if (resultXML != null && resultXML.retorno.resultado == 1){
this.txtLogradouro.text = new
String(resultXML.retorno.tipo_logradouro + " " +
resultXML.retorno.logradouro);
this.txtBairro.text = new
String(resultXML.retorno.bairro);
this.txtCidade.text = new
String(resultXML.retorno.cidade);
this.comboUf.text = new String(resultXML.retorno.uf);
}else{
this.txtLogradouro.text = "";
this.txtBairro.text = "";
this.txtCidade.text = "";
this.comboUf.selectedIndex = 0;
Alert.show("Cep não encontrado.", "Siart - Erro");
}
}

Agora só precisamos do método que chame o Web Service:

private function pesquisarCep(strCep:String):void{


//Função que envia o cep para o web service e aguarda o
endereço.
if (strCep.length == 8){
buscaCep.url = http://www.buscarcep.com.br/?
formato=xml&cep= + strCep;
buscaCep.send();
}
}

Para finalizar o artigo e executar o exemplo, chame a função pesquisarCep no click do


botão que você criou para a busca, ou no Focus Out do TextBox.

Abraços e até a próxima.

S-ar putea să vă placă și