No meu último post descrevi uma maneira simples para testar componentes, o código demonstrado não funcionava com variáveis complexas (arrays, estruturas etc), alterei o código para que métodos que retornem variáveis complexas também possam testados. A solução foi trocar o CFOUTPUT pela tag CFDUMP (eu ia utilizar uma maneira mais elegante, mas o tempo está curto). (more…)
Archive for June, 2008
Exibindo o conteúdo de métodos get com variáveis complexas
Monday, June 30th, 2008Exibindo o conteúdo de métodos get
Friday, June 27th, 2008É muito comum utilizarmos componentes ColdFusion (CFCs) e “tipar” objetos transferidos entre ColdFusion e Flex. Durante o desenvolvimento dos componentes sempre precisamos testar a parte de back-end da aplicação verificando se os valores retornados no componente estão corretos. Em outras situações (como queries, arrays e estruturas) a tag CFDUMP resolveria, mas neste caso a tag CFDUMP exibe os métodos do componente e não os dados, o que nos obriga a escrever o código para exibir a saída de cada método.
O código abaixo varre todos os métodos “get” do componente instanciado e exibe o conteúdo da propriedade correspondente (este código não funciona caso a propriedade represente uma variável complexa, como um array ou estrutura, vou trabalhar nisso):
<cfscript>
user = CreateObject(”component”,”UserVO”);
user.setUserId(”123456″);
user.setName(”Hamad”);
</cfscript>
<cfset methodsArray = GetMetadata(user).functions>
<cfset len = ArrayLen(methodsArray)>
<cfloop index=”i” from=”1″ to=”#len#”>
<cfif left(methodsArray[i].name,3) EQ “get”>
<cfoutput>#Evaluate(”user.#methodsArray[i].name#()”)#</cfoutput><br />
</cfif>
</cfloop>
Abaixo o código do UserVO.cfc:
<cfcomponent output=”false” alias=”UserVO”>
<cfproperty name=”userId” type=”string” default=”">
<cfproperty name=”name” type=”string” default=”">
<cfscript>
variables.userId = “”;
variables.name = “”;
</cfscript>
<cffunction name=”init” output=”false” returntype=”UserVO”>
<cfreturn this>
</cffunction>
<cffunction name=”getUserId” output=”false” access=”public” returntype=”any”>
<cfreturn variables.userId>
</cffunction>
<cffunction name=”setUserId” output=”false” access=”public” returntype=”void”>
<cfargument name=”val” required=”true”>
<cfset variables.userId = arguments.val>
</cffunction>
<cffunction name=”getName” output=”false” access=”public” returntype=”any”>
<cfreturn variables.name>
</cffunction>
<cffunction name=”setName” output=”false” access=”public” returntype=”void”>
<cfargument name=”val” required=”true”>
<cfset variables.name = arguments.val>
</cffunction>
</cfcomponent>
Google Maps API, mais um exemplo simples
Thursday, June 26th, 2008Mais um exemplo simples usando a Google Maps API. Desta vez traçando linhas no mapa.
Google Maps API e Coordenadas UTM
Wednesday, June 25th, 2008Um amigo perguntou se era possível a utilização da API do Google Maps através de coordenadas UTM ao invés de latitude e longitude. Achei uma função JavaScript para a conversão entre os sistemas de coordenadas e portei para ActionScript (voltarei a falar disso em outro post).
Exemplo1: lng -43.682571 lat -22.918678
clique em >> e em seguida OK
Exemplo2: x 647646.0415131062 y 7466914.221107765 / zona 23/ hemi S
clique em << e em seguida OK
http://www.hamad.com.br/utm/utmGeocoding.html
Desculpem-me pela a interface bizarra, mas o tempo está curto.
GoogleMaps API
Tuesday, June 24th, 2008Tenho feito alguns testes e protótipos com a GoogleMaps API, aplicações muito simples mas que serão de grande auxílio para tomadores de decisão em algumas empresas.
O primeiro protótipo é para uma transportadora, o objetivo é visualizar no mapa as entregas feitas por cada caminhão.
Se alguém quiser saber algum detalhe sobre a implementação, basta avisar nos comentários.
Lançado o AIR 1.1, com suporte ao Português.
Tuesday, June 17th, 2008Lançado ontem o AIR 1.1, agora com suporte ao “Brazilian Portuguese” e mais outros 7 idiomas. Também foram corrigidos alguns bugs e feitas melhorias no gerenciamento de memória. O FAQ do AIR 1.1. pode ser lido aqui.
Neste post, temos um tutorial para configurar o Flex Builder para uso com o AIR 1.1.
Yahoo Maps
Monday, June 16th, 2008Depois do Google, o Yahoo disponibiliza sua API para mapas. Mais detalhes neste post do Ben Forta.