Sistema de Notícia Flash e ColdFusion – Parte 1

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
.

Escrito por Lucas_marcal on janeiro 17, 2006. Arquivado em RIA. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>