PEDRO CLAUDIO (50 pts)

IRAPUAN MARTINEZ (45 pts)

ZEBEDIAH (35 pts)

JONAS GALVEZ (521 pts)

RODRIGO AMARAL (56 pts)

AUTOR DESCONHECIDO (100 pts)

MUZAK (45 pts)

SASHA GUDEY (235 pts)

ALEXANDRE PORTO (1281 pts)

STICKMAN (155 pts)

PANDOGO (82 pts)

RICARDO TAKAHASHI (180 pts)
Treinamento PontoFlash de Flash e ActionScript

Para que serva a função eval?

Como faço para carregar randomicamente imagens com um botão sem repetilas?

Quando usar onclipevent (enterframe) ou onclipevent (load)?

Como validar campos num formulário flash?

Como criar uma seqüência para a tecla TAB num formulário?

Existe o Triad (instalador único para apache, mysql e PHP) para linux?

O que uso para movimentar e dar um efeito zoom num objeto?

Como gravar dados de um Flash em um arquivo .mdb (Access)?

Como fazer para o TXT importado não vir do Cache?

Como arrastar (drag) uma palavra e colar ela num determinado ponto?

Preciso pegar no Flash variáveis do ASP.

Como gravar num TXT e depois recuperar dados enviados por um campo de texto?

Como posso setar uma cor para o Release de todos os botões de meu filme?

Como exportar/importar somente algumas variáveis da timeline principal?
Unindo e separando traçados - Fireworks

Conversão de Datas e Horas em Servers Estrangeiros (Flash+Asp).

0wn3d Again BY Destution Team

Escrevendo e lendo arquivos TXT com o FlashMX.

Integrando o Flash com Arquivos de Vídeos I

Chromeless com Flash.

Sistema de busca utilizando Flash + ASP.

Preloader real no Flash5.

Entendendo como funciona um preloader - Segunda parte

Exibir páginas em ASP com o componente TexArea do FlashMX2004

Máscara com gradiente.

Betinhocarreiro e Dysney.
Volume mixer

Motion guide

Move menu

Mouseline

Barra de Scroll

Gera CPF

Pop menu

Drawline

Clip Over e Out

Menu XML

Marquee

Raio_x
HOME | TUTORIAIS
Integração Flash X ColdFusion.
por Ken Awamura


Nota: os arquivos deste tutorial estão disponíveis aqui para download e pode ser ser vistos funcionando em www.kencwb.com.

Neste tutorial vamos ver como o Flash pode receber dados de um banco de dados que por questões de facilidade e que provavelmente todos têm acesso à ele, será o Access. O objetivo é buscar uma listagem de nomes e URLs de alguns sites que estão armazenados neste BDs, sendo que as URLs destes sites estão formatadas com tags HTML. (As tags que o Flash pode reconhecer). O middleware usado é o Coldfusion.

Porquê o Coldfusion?

Boa e importante pergunta: o Coldfusion possui um tempo de desenvolvimento reduzido à aproximadamente 2/3 em relação às demais tecnologias, bem como uma facilidade de uso e curto tempo de aprendizagem. Após testá-lo durante 2 ou 3 dias e fazer algumas comparações com outras soluções, resolvi adotá-lo como minha solução de middleware. Existe também o fato da incorporação da Allaire pela Macromedia que só trouxe vantagens no uso do Coldfusion, mas esta é uma opinião pessoal e acredito que cada um deve tirar as suas próprias conclusões de acordo com gostos, afinidades e necessidades.

Como usar o ColdFusion?

Estou considerando para este tutorial que a pessoa que o leia já tenha um conhecimento básico do Coldfusion, porém resolvi abrir um pequeno parágrafo aqui para falar sobre os requisitos necessários para se usar o Coldfusion caso você ainda não o conheça.

Vamos começar este pequeno briefing com uma analogia com o ASP que acredito que a maioria o conheçe : o ASP é uma pequena DLL que utiliza o poder do IIS e funciona como o middleware e deste modo as instruções passadas para o ASP são processadas em sua maioria via o IIS que também é o webServer. (O assunto é bem mais complexo que isso, mas serve como tempero). O Coldfusion também funciona em conjunto com um webServer, mas ele também é um webServer. Como assim? Como o Coldfusion possui um script proprietário que é o CFML - Coldfusion Markup Language, ele usa o seu próprio webServer (Coldfusion Server) para processar o que é específico do CFML e aproveita para deixar o IIS ou outro webServer para processar o que é comum aos dois, como por exemplo as variáveis CGI.

Então preciso instalar o Coldfusion Server?

Sim, mas não se assuste: atualmente existem algumas versões para o CF Server sendo que uma delas é gratuita e é a que utilizo: o Coldfusion Express que pode ser baixado no site da Allaire: http://www.allaire.com.

Como instalá-lo?

O procedimento de instalação é semelhante á qualquer pacote de software, mas lembre-se que você precisa ter um webServer previamente instalado e funcionando em seu computador : pode ser o IIS, PWS, Apache, etc.

Como configurá-lo?

A configuração básica para seu funcionamento já vem 'presetada', a única coisa que você precisará fazer é criar um DSN, pois estaremos usando um banco de dados neste tutorial.

Como criar a DSN e o que é isso?

Quando queremos acessar um banco de dados, seja com o Coldfusion, ASP, PHP, etc precisamos nos conectar à este BDs primeiro. Existem vários modos de se fazer esta conexão, via strings de conexão aonde você indica o caminho físico até o arquivo do BDs ou via uma DSN - Data Source Name onde você cria um 'alias' até o BDs, isto é, você indica o caminho até este BDs, mas o acessa através de um nome(alias), deste modo você oculta o caminho ao BDs. Existe uma grande controvérsia sobre qual opção é melhor, pois muitos dizem que strings de conexões são mais rápidas do que DSNs, mas isto é um outro assunto.

Para criar a DSN :

1. menu Start
2. Coldfusion Express / Coldfusion Express Administrator
3. entre com a sua senha
4. escolha o ítem de menu 'ODBC'. A tela aonde você criará o DSN aparecerá
5. digite 'myDSN' para o Data Source Name, pois é este o nome que utilizei
neste tutorial e click no botão 'ADD'
6. na tela seguinte click no botão 'Browse Server' do campo Data Base File,
um tipo de Explorer aparecerá aonde você irá direcionar até o local onde
se localiza o arquivo 'db1.mdb'. Click 'OK' e retorne a tela inicial.
7. pronto, seu DSN está criado e toda vez que você quiser abrir o BDs
em um arquivo CFM, isto será feito ao se referir à esta DSN.

Aonde codificar em CFML?

CFML é texto puro, então podemos usar um Notepad, mas o Coldfusion possui um editor específico chamado Coldfusion Studio. Alternativamente você pode usar o Homesite ou o Ultradev que possui extensões e um dicionário CFML. Já testei todos e na minha opinião o Coldfusion Studio é o melhor.

Finalmente estamos prontos para iniciar o tutorial e para facilitar o entendimento vamos dividir o processo em etapas:

Primeira Etapa.

Vamos analisar o Banco de Dados e sua informação:

o arquivo do BDs chama-se db1.mdb.

Ele é formado por uma tabela chamada 'favorites' que contém os campos id, name e url, sendo id a chave primária e name e url campos de textos.

O campo 'name' receberá o nome do site e o campo 'url' receberá o link para este site e estará formatado com tags HTML. Exemplo:

name = Astoria Federal Savings Bank - US
url=view

A fig01 mostra um screenshot da tabela favorites do banco de dados db1.mdb :

Lembrando que a tag HTML <u> é o underline, a tag <a href="link"> é a que cria o link sendo o atributo Target='_blank' responsável por abrir este link em uma nova página do Browser. Portanto todos os registros desta tabelas são construídos de forma análoga.

Segunda Etapa.

Vamos analisar o arquivo Coldfusion que vai pegar as informações contidas no BDs e enviá-las ao Flash. Abaixo temos a listagem do código do arquivo favorites.cfm:

Listagem do código do arquivo: favorites.cfm

">

Este comando exclusivo da linguagem CFML do Coldfusion garante que somente informações entre as tags </CFOUTPUT> são mostradas.

Nesta etapa é feita a conexão com o BDs através da DSN = myDSN. Através do uso da linguagem SQL utilizamos um Select para selecionar os campos 'name e url' da tabela 'favorites' e ordenamos a saída por 'name'. Neste momento o Coldfusion já está apto para enviar as informações contidas no BD, porém se criássemos uma variável, por exemplo : var01 para receber a dupla 'name e url' teríamos a seguinte situação:

<cfquery> lê o primeiro registro da tabela 'favorites' e joga a informação à variável var01. <cfquery> lê o segundo registro e torna a jogar a informação na mesma variável var01.

E a cada leitura de <cfquery> a variável var01 é sobre-escrita e no final da leitura de toda a tabela somente o último registro estaria armazenado em var01.

Para resolver este problema podemos armazenar todos os registros de 'favorites' em um vetor e depois passá-los para uma 'list' é assim teremos todos os registros de uma só vez.

<CFSET myArray = ArrayNew(1)> : é o constructor para o nosso array.

<CFLOOP query="resultsQRY">: é um loop para que a nossa query percorra todos os registros do BDs e os armazene no array

A variável 'flag' : se flag for 0 nosso array receberá o registro com a cor de texto default(preto) e se flag for 1 a cor do texto será um Azul Claro. Desta forma ao apresentarmos todos os registros no Flash, eles serão intercalados entre as cores preto e azul facilitando a leitura para o cliente.

Uma vez terminado o loop passamos todo conteúdo do array para uma 'list' sendo que as tags "<p></p><p></p>" são usadas para fazer a quebra de linha entre um registro e outro e finalmente passamos esta 'list' para o Flash. As variáveis CFresponse e CFfavs serão explicadas na etapa a seguir que é a análise do que acontece no arquivo Flash.

Terceira Etapa

Finalmente vamos ver o que o Flash deve fazer para receber estas informações. Primeiramente vamos verificar os objetos utilizados no arquivo 'favorites.fla'

Este arquivo Flash possui 3 movieClips:

txtField mc: possui um campo de texto dinâmico chamado 'records' que receberá o conteúdo do BDs. Ver fig02 abaixo :

 

scroller mc: que fará o scroll do conteúdo.

loading mc: usado durante o processo de recebimento dos dados, que pode levar algum tempo dependendo do congestionamento do BDs ou da conexão Internet. Este movieClip serve como um sinal visual ao cliente de que as informações estão sendo processadas e a parte mais importante está no final da timeline deste mc onde é feito a verificação se os dados já foram recebidos e caso positivo são mostratos no campo de texto dinâmico do MC txtField e o MC loading é descarregado do stage. A fig03 abaixo ilustra este caso:

É justamente aqui que aquelas variáveis no final do código do arquivo coldfusion entram em ação:

Note que o MC loading tem o seguinte código:

Se o Flash recebeu a variável Coldfusion 'CFresponse=ok' então está garantido que o conteúdo do BDs também foi recebido e como este conteúdo está armazenado na variável 'Cffavs' que recebeu o conteúdo da 'list' devemos passar este conteúdo para o campo de texto dinâmico chamado 'records' que está no MC txtFields : _root.txtField.records = _root.CFfavs. E após isto podemos remover o MC loading do stage completando assim o processo.

Por último vamos verificar os comandos que estão na timeline principal no frame1 da layer actions. A fig04 ilustra esta etapa:

O código a ser analisado é o seguinte:

loadVariablesNum("favorites.cfm", 0, "POST");

attachMovie("loading","loading",1);
_root.loading._x = 54.9;
_root.loading._y = 155;

attachMovie("txtField","txtField",0);
_root.txtField._x = 140;
_root.txtField._y = 80;


   Como o código acima está no frame1, no momento que o arquivo 'favorites.fla/swf' é executado o arquivo Coldfusion 'favorites.cfm' é chamado através da função loadVariablesNum utilizando o método POST que envia e recebe dados através de um http separado. (GET enviaria as variáveis via URL). Ao ser chamado, 'favorites.cfm' processará todo seu código (já analisado na segunda etapa), ao mesmo tempo anexamos ao stage do Flash o movieClip 'loading' (cuja função já foi discutida) e também anexamos ao stage o MC 'txtField' que receberá os dados provenientes do banco de dados. Deste modo chegamos ao final do processo.

Conclusão.

A noção de actionScript necessária para integrar o Flash com Banco de Dados é relativamente simples, ficando a parte mais pesada no lado servidor. Esta é somente uma aplicação dentre inúmeras que podemos fazer para integrar o Flash com banco de dados e scripts server-side, mas creio que é o suficiente para você ter uma idéia do poder do Flash em relação à integrações à tecnologias externas. Lembre-se que usamos também a formatação dos dados com tags HTML que não deixa de ser um tipo de integração do Flash.

Onde posso aprender mais sobre ColdFusion?

Existe uma grande literatura sobre Coldfusion. No Brasil atualmente existem uns 4 livros sobre Coldfusion sendo que para quem está começando eu indicaria o livro chamado : Coldfusion - A Ferramenta Profissional para a Criação de Páginas Dinâmicas, da Editora Érica e do autor : Wanderlei Cristiano A. Souza. É um livro bem básico, mas bom para começar. E utilizar o help do Coldfusion Studio que é completo e muito bem elaborado.

Mais uma vez vale lembrar que no meu site: www.kencwb.com você pode encontrar mais exemplos e também em www.flashcfm.com que é um portal especializado em integração Flash e Coldfusion.



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário