Sistema de Notícia Flash e ColdFusion – Parte 1

Publicado por Lucas_marcal em 17/01/2006

R.I.A. – Sistema de Notícia com Flash e Coldfusion – Parte 1

Salve pessoal, muitas novidades esse ano na área de Rich Internet Application, uma delas é que apartir de hoje estamos com um novo colunista, o nome dele é Leonardo França e ele irá trazer até vocês conteúdo sobre AMF PHP, FLEX, AS3, Flash Media Sever.
Bom vamos ao que interessa.

Criando Componente ColdFusion ( CFC )

Agora iremos criar a estrutura do componente ColdFusion, para isso vamos abrir o Dreamweaver e criar um novo componente vamos salvar esse componente dentro da pasta OOP na raiz de nosso projeto, e vamos chamalo de mxstudio.cfc.
Com a base de dados já pronta, e devidamente registrada no Administrador do ColdFusion vamos ao próximo passo de nosso tutorial.
Agora escreva o código abaixo, que basicamente é uma função para retornar os dados da tabela noticia e uma função para inserir dados nessa mesma tabela recebendo alguns parametros passados pelo Flash.
<cfcomponent>
<!— Função para retorno de dados da tabela Noticia. —>
<cffunction name=”RetornaNoticia” access=”remote” returntype=”query”>
<cfquery name=”q_noticia” datasource=”lucasmarcal”>
SELECT *
FROM noticia
ORDER BY id_noticia
</cfquery>
<cfreturn q_noticia>
</cffunction>
<!— Fim da Função —>

<!— Função para Inserir dados na tabela Noticia —>
<cffunction name=”InserirNoticia” access=”remote” returntype=”boolean”>
<cfargument name=”dia” required=”yes” type=”string”>
<cfargument name=”autor” required=”yes” type=”string”>
<cfargument name=”assunto” required=”yes” type=”string”>
<cfargument name=”mensagem” required=”yes” type=”string”>
<cfquery name=”q_inserir” datasource=”lucasmarcal”>
INSERT
INTO noticia
(
data,
autor,
assunto,
mensagem
)
VALUES
(
‘#Arguments.dia#’,
‘#Arguments.autor#’,
‘#Arguments.assunto#’,
‘#Arguments.mensagem#’
)
</cfquery>
<cfreturn true>
</cffunction>
<!— Fim da Função —>
</cfcomponent>

Criando Arquivo em Flash

Feito isso abra o arquivo Noticia.Fla e veja a estrutura como ele foi montado, então na tela de _root e na camada Actions digite o seguinte código:

// Iniciando a conexão com o Flash Remoting
import mx.remoting.*;
// Condição
if (init == null) {
init = true;
// Setando o local do Remoting
NetServices.setDefaultGatewayUrl(”http://localhost/flashservices/gateway”);
// Criando a variável de conexão
conn = NetServices.createGatewayConnection();
// Criando a variável de serviço, e setando o componente sem colocar sua extenção e setando a pasta raiz ou seja no caso do exemplo abaixo
// a pasta raiz está dentro de wwwroot/Inetpub/Desafio
service = conn.getService(”Desafios.OOP.mxstudio”, this);
}
//////////////////////////////////////////////////////////////////////////////////
//Propriedades de componentes e MovieClips
confirma._visible = false;
detalhe._visible = false
//////////////////////////////////////////////////////////////////////////////////
// Eventos do Data Grid.
var objDg:Object = new Object();
objDg.change = function(eventObject) {
/*
selectedItem = Retorna o resultado do item selecionado no DataGrid
*/
detalhe._visible = true
id = dgDados.selectedItem.id_noticia;
detalhe.detData.text = dgDados.selectedItem.data
detalhe.detAutor.text = dgDados.selectedItem.autor
detalhe.detAssunto.text = dgDados.selectedItem.assunto
detalhe.detMensagem.text = dgDados.selectedItem.mensagem

};
dgDados.addEventListener(”change”, objDg);
//////////////////////////////////////////////////////////////////////////////////
// Criando Funções
//////////////////////////////////////////////////////////////////////////////////
// Função para retorno das noticias
function RetornaNoticia_Result(result) {
// Data Provider é responsável por inserir o resultado de “result” dentro do DataGrid
dgDados.dataProvider = result;
}
// Chamando a Função de Retorno de Noticias
service.RetornaNoticia();
//////////////////////////////////////////////////////////////////////////////////
// Função para inserir noticias
function InserirNoticia_Result(result) {
if (result) {
txtData.text = “”;
txtAutor.text = “”;
txtAssunto.text = “”;
txtMensagem.text = “”;
confirma._visible = true;
confirma.rotulo.text = “Os dados Foram gravados com sucesso !”;
}
}
//////////////////////////////////////////////////////////////////////////////////
btGravar.onPress = function() {
// Chamando Função de Inserir Noticias e passando os argumentos necessarios
// para o coldfusion.
service.InserirNoticia({dia:txtData.text, autor:txtAutor.text, assunto:txtAssunto.text, mensagem:txtMensagem.text});
service.RetornaNoticia();
};

Dentro do MovieClip Detalhe, na camada action digite o seguinte codigo:

var confirma:MovieClip

fechar.onPress = function () {
_root.detalhe._visible = false
}

Agora é só executar sua aplicação e ele estará funcionando normalmente, espero que você tenham gostado desse tutorial, na próxima parte vamos criar as funções para editar e deletar as noticias.

Testar o arquivo Online

Para maiores informações sobre o artigo visite o Forum de R.I.A., o o meu blog pessoal
.


Assine o nosso Feed
1.339 assinantes,
assine você também!
Publique esse artigo no Twitter Salve este artigo no Delicious Cadastre esse artigo no Dihitt Cadastre esse artigo no UEBA Cadastre esse artigo no Rec6

Lucas_marcal

Lucas Marçal é desenvolvedor flash com foco em Rich Internet Application, estudante de Publicidade e Propaganda pela faculdade Barão de Mauá em Ribeirão Preto, já trabalhou nas maiores agências de web do Brasil e foi premiado no festival de Cannes 2007 com um leão de bronze pela peça “Beer” desenvolvida na Agência Click em março de 2007. Lucas Marçal mantém um blog sobre assuntos relacionados a Rich Internet Application e já ministrou palestras na USP de Ribeirão Preto e PUC de Porto Alegre. http://www.lucasmarcal.com.br/blog

Nenhum usuário comentou em " Sistema de Notícia Flash e ColdFusion – Parte 1 "

Assine o Feed de Comtentários ou URL de Trackback

Deixe o seu comentário abaixo...

 Username (*required)

 Email Address (*private)

 Website (*optional)

 

MXStudio © 2003-2010. Todos os direitos reservados.
É expressamente proibido a cópia, reprodução e difusão dos textos, fotos e outros elementos contidos neste site sem autorização expressa do MXStudio.