Mostrando postagens com marcador ColdFusion. Mostrar todas as postagens
Mostrando postagens com marcador ColdFusion. Mostrar todas as postagens

quinta-feira, 22 de março de 2007

Sistema de manipulação de XML em ColdFusion

Deu um certo trabalho desenvolver, mas foi bastante gratificante. Este sistema usa uma biblioteca de ajax chamada Spry, da Adobe, mas o único uso é para ocultar o formulário de cadastro/alteração.

Em matérias futuras eu vou demonstrar operações de inserção, deleção, atualização e consulta em documentos XML via ColdFusion, aposto que será útil a muita gente. Mas por enquanto, dêem uma olhada no meu sistema. É bem simples, contém apenas uma página CFM, é só rodar, não precisa configurar nada.

DOWNLOAD

Ps.: Desenvolvido em ColdFusion MX 7
Ps2.: Um famoso videogame da Sony.
Ps3.: Idem.
Ps4.: Aguarde o link 'download' aparecer na página. Demora menos de 10 segundos.

segunda-feira, 26 de fevereiro de 2007

ColdFusion e as datas

Você faz uma consulta ao banco de dados para alimentar um formulário de fornecedores. Inclui uma variável hidden para guardar a data atual (afinal, ela será o controle de fornecedores). Formata a data para dd/mm/yyyy… E depois descobre que o ColdFusion processa como mm/dd/yyyy. Já arrancou seus cabelos? Chingou, pesquisou, chorou, e nada adiantou? Então vamos à solução.

É comum para quem está começando na programação em CFML tratar objetos data como objetos número (ou seja, criando um sem aspas). O que é importante, nesse caso, não é só atribuir à variável o valor de data, mas sim dizer implicitamente que ela é uma data. Para isto, você pode usar o seguinte código:

1. <cfparam name="”data”" default="#now()#">
2. <cfset data="#LSDateFormat(data,”dd/mm/yyyy”)#">
3. <cfset dia =" listGetAt(data,1,”/”)">
4. <cfset mes =" listGetAt(data,2,”/”)">
5. <cfset ano =" listGetAt(data,3,”/”)">
6. <cfset data =" createdatetime(ano,mes,dia,0,0,0)">

O que esse código faz? Bem, a linha 1 inicializa a variável “data” - caso não exista - com o valor da data de hoje (retornado pela função now() ). A linha 2 transforma essa data para o formato dia/mês/ano. As linhas 3, 4 e 5 partem cada valor da data em uma variável, ficando assim o dia na variável dia, mês na variável mes e ano na variável ano (me senti meio idiota detalhando isso :p).

E finalmente, a linha 6 junta tudo de novo, só que em um objeto data, que você pode usar onde precisar.

Até mesmo no <input type=”Hidden” name=”data” value=#data#>

Pronto, adeus problemas com funções de controle de data (como a famigerada DateAdd() ).

Espero que isso seja útil para você, assim como foi para mim!

Abraços.