Archive for June, 2008

Exibindo o conteúdo de métodos get com variáveis complexas

Monday, June 30th, 2008

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…)

Exibindo 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, 2008

Mais um exemplo simples usando a Google Maps API. Desta vez traçando linhas no mapa.

 http://www.hamad.com.br/mapac/mapac.html

Google Maps API e Coordenadas UTM

Wednesday, June 25th, 2008

Um 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, 2008

Tenho 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, 2008

Lanç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, 2008

Depois do Google, o Yahoo disponibiliza sua API para mapas. Mais detalhes neste post do Ben Forta.

CFLib.org – Commom function library project

Monday, June 9th, 2008

Raymond Camden relançou o CFLib, o melhor site para quem busca UDFs (user defined functions) para o ColdFusion. Neste post ele fala sobre o processo de atualização.