DEN IVANOV (260 pts)

LUIZ AVANCI (51 pts)

MARCELO SIQUEIRA (96 pts)

KEN AWAMURA (130 pts)

AMAURY BENTES (123 pts)

AUTOR DESCONHECIDO (100 pts)

PEDRO CLAUDIO (50 pts)

DANIELA PIRES (86 pts)

NETO LEAL (116 pts)

EDUARDO CARREGA (150 pts)

RICARDO TAKAHASHI (180 pts)

JONAS GALVEZ (521 pts)
Treinamento PontoFlash de Flash e ActionScript

Como faço para um objeto seguir em um caminho sinuoso?

Queria fazer um mouse trail com easing, mas que o movieclip ficasse sempre embaixo do mouse.

Como traço uma linha no meu filme com o mouse?

Tem como passar uma variável de uma função javascript para o Flash 5?

Haveria um código javascript para fazer esse resize automático num HTML?

Como colocar uma página em FullScreen?

Porque no meu flash, 1 + 15 retorna 15 e não 6?

Quero chamar um determinado frame na timeline do flash a partir de outro frame Html?

Qual seria o comando para parar uma música e o resto dos sons continuassem a tocar e outro comando para faze-la tocar novamente?

Qual seria a diferença entre um MOVIE CLIP e um GRAPHIC?

EasyPreloader utilizando os recursos do FLEM.

Várias formas para fazer code animation (animação por actionscript).

Como identificar no flash se uma música já foi tocada e então chamar uma função?

Como otimizar um filme no Flash?
Colisão (hitTest)

Vídeo no FlashMX.

Comunicação Flash-PHp-MySql - Objeto LoadVars

Usando Flash e ASP para contruir um formulário.

Executar funções de JavaScript (Flash+JavaScript).

Loop Mixer.

Objeto Movieclip - Propriedades

Integrando o Flash com Arquivos de Vídeos II.

Utilização da class XMLConnector

Programando objetos 3D em Plataformas 2D como a do Flash

Action Script 2.0 (Primeira Parte)

Scroll dinâmico no Flash 5.
Loop FOR declarando variáveis

Swirl

Texto esticado

Dynamic

Gravidade

Click determiner

Interative

SomnoFlash5

Giro de duende

Liquidimage

False Mask

Collision gravity
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