Sexta-feira, 13 de dezembro de 2002 às 03h59

Flash MX: Sistema de busca em ASP

Olá pessoal !

Neste artigo, iremos ver como montar um sitema de busca interagindo Flash MX com ASP. A programação é bem simples, confiram !!!

Veja abaixo, o funcionamento do sitema.

- Digite "imasters" e clique no botão "ok"....

1- Vamos começar montando o nosso lay-out (nesse exemplo estarei usando um filme 390X260 px), adicione uma caixa de texto com o nome "busca", crie também um botão "OK". Feito isso, insira uma nova camada na "Timeline" chamada "carrega_filmes".

Nesta camada você irá criar um "MovieClip" em branco e instacie ele como "carrega", coloque-o na posição "x=0" e "y=0".

É nele que iremos abrir o outro filme que vamos criar mais a frente onde irá retornar o resultado da nossa busca.

2- No botão "OK" coloque o seguinte ação:

on (release, keyPress "") {
// Nesta linha estamos passando o valor da variável para o outro filme
_root.carrega.busca=busca;
// Aqui nós estamos carregando o nosso filme que ainda iremos criar no MovieClip ("Carrega").
loadMovie("result.swf", "_root.carrega");
}

3- Crie um novo filme com o nome de "result.fla" e crie três camadas, veja figura:

- Camada "carregando", iremos colocar um pequeno MC que irá indicar que está fazendo a pesquisa.

- Camada "scripts", onde vai estar todos os códigos de nossa busca.

- Camada "lay-out", iremos colocar a caixa de texto onde irá aperecer o resultado da busca e colocaremos também uma barra de rolagem.

- Camada "background", fica a seu gosto.

4- Tendo feito isso, agora iremos editar as camadas:

Coloque frames nas quatro camadas até o frame 8, menos a camada "carregando" que irá ter frames até o frame 5.

5- Agora faça o MovieClip com apenas uma animação piscando ou como você queira, informando que está pesquisando. Veja o exemplo abaixo:

6- Agora vamos trabalhar com a camada "scripts" inserindo as seguintes ações:

• 1º frame

// Nesta linha estaremos certificando que o nome digitado no campo principal da busca foi passado com certeza.

busca=_parent.busca;
// Abaixo estaremos carregando o arquivo ASP que fará a busca.
loadVariables("busca.asp", "_root.carrega", "POST");

• 2º frame

// Nesse script estamos recebendo a informação passada pelo código ASP
if (success ne "") {
// Se retornar a mensagem "False" é porque não foi encontrado no banco a pesquisa solicitada.
if (success eq "False") {
gotoAndStop(7);

// Se retornar a mensagem "True" é porque foi encontrado, e os resultados irão para a tela.
} else if (success eq "True") {
gotoAndStop(6);

// Se retornar a mensagem "Nada" é porque não foi digitado nehum parâmentro para a busca.
} else if (success eq "Nada") {
gotoAndStop(8);
}
}

• 3º e 4º frame

Deixe em branco.

• 5º frame

// Aqui ele irá retornar para o 2º frame para certificar-se do resultado.

gotoAndPlay(2);

• 6º frame

// Aqui ele irá parar o filme, mostrando o resultado da busca

stop();
// Abaixo estamos limpando o campo busca do nosso filme , estando pronto para efetuar uma nova busca.
_parent.busca = "";
// Script usado para aceitar HTML na caixa de texto, sem ter nenhum defeito em sua fonte.
system.useCodepage = true;

• 7º e 8º frame

// Aqui ele irá parar o filme, mostrando o resultado da busca.
stop();
// Abaixo estamos limpando o campo busca do nosso filme , estando pronto para efetuar uma nova busca.
_parent.busca = "";

Abaixo estarei mostrando o nosso código ASP de nossa página "busca.asp", não irei explicar passo-a-passo do código pois não é o nosso objetivo aqui.

--> Início do código <--

<%@Language="VBScript"%>
<%

Option Explicit

Dim oRS, oConn, strSQL, busca

Dim results

Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.Recordset")

oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("busca.mdb")

Busca= Request("Busca")
IF Busca = "" Then
Response.Write "success=Nada"
Response.End
Else
strSQL = "SELECT * FROM busca WHERE keywords LIKE '%"& Busca &"%'"
END IF

oRS.Open strSQL, oConn, 2, 3

If oRS.EOF Then
Response.Write "success=False"
Else
Response.Write "success=True&results="
Do While Not oRS.EOF
results = results & "Título: " & "" & " " & oRS("titulos") & vbCr & ""
results = results & "Descrição: " & "" & oRS("descricao") & vbCr
results = results & "Caminho da Página: " & "" & "" & oRS ("caminho") & vbCr & vbCr & ""

oRS.MoveNext
Loop
End If

oRS.Close
Set oRS = Nothing
oConn.Close
Set oConn = Nothing

Response.Write Server.URLEncode(results)
Response.expires = now
%>

--> Fim do código <--

7- Agora estamos quase chegando ao fim, na camada "lay-out" iremos inserir as seguintes ações:

• 1º frame

Crie uma caixa "Dynamic Text (Texto Dinâmico)" com o nome busca, pois é através desta caixa que passaremos o valor digitado.

• 2º ao 5º frame

Deixe em branco.

• 6º frame

Crie outra "Dynamic Text (Texto Dinâmico)" com o nome "results", nesta caixa que o script em ASP irá retornar o resultado da busca.

ps. Caso os resultados de seu sitema de busca seja muito extenso, adicione uma barra de rolagem.

• 7º frame

Coloque uma mensagem informando que sua busca não foi realizada com sucesso, exemplo:

" Não foi encontrado nenhuma ocorrência para sua busca."

• 8º frame

Coloque uma mensagem informando que "nada" foi digitado para efetuar a busca, exemplo:

" Você precisa digitar algo para realizar a busca."

8- Na camada "background", criei uma imagem onde o resultado da busca ficará em cima. Veja figura abaixo como ficou o nosso filme "result.fla" e a "timeline".

9- Para finalizarmos, irei mostrar a estrutura do banco de dados utilizando em nosso exemplo.

ps. No campo "keywords" você tem que cadastrar todos os tipos de palavras possíveis para a busca, pois é através desse campo que o script em ASP irá buscar o registro.

Clique aqui para fazer o download dos arquivos

Espero que tenham gostado !

Qualquer dúvida basta entrar em contato comigo, ou postar uma mensagem no Fórum.

Abraços...

4 comentários

 Matheus Bourg
13/02/2005 17h05

como faço um scroll na ágina de pesquisa?

como faço um scroll na ágina de pesquisa?

 Alexandre de Paula
16/11/2005 08h55

muito bom

Muito legal esse codigo, mas so ta faltando o link na busca

 Sidnei
15/02/2006 13h57

Interessante

Mto bacana Tiago, mas gostaria de saber o seguinte: Ao invés abrir o movie com os resultados como faço pra aparaecer uma pagina em html ou asp com os resultados dessa busca? Resumindo eu queria mesmo e estou precisando somente do campo de busca e o botao ok em flash. Gostaria mto de obter essa resposta.
Att,
Nilton Mendes.

 Eduardo Cardillo
15/01/2007 15h39

Ótimo script

Mas gostaria de saber como ficaria se eu tivesse um campo com uma imagem, o que mudaria? O asp ou o bd?

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Tiago Colombo é Analista de Sistema, certificado MCAD.NET (Microsoft Certified Application Developer for Microsoft .NET) e atualmente trabalha com projetos na plataforma .NET. Especializando-se em Sistemas de Banco de Dados no IBTA (Instituto Brasileiro de Tecnologia Avançada), trabalha com .NET desde 2003 e têm atuado em diversos projetos de todos os portes.

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.