Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SmarThi

Busca utilizando Flash + XML(Como BD)

Recommended Posts

E ae pessoal,

Estou colocando o arquivo no endereço www.dazzleweb.com.br/busca.rar que contém um .fla(arquivo editável), .swf(arquivo publicado), .xml(arquivo para servir como BD), e .exe(executável, roda sem plugin).

 

Meu problema é que não consigo fazer essa busca que está no link funcionar corretamente. Por incrível que pareça, só o executável que está funcionando. Parece que quando executa o .swf por exemplo, o flash não consegue achar o arquivo .xml e, assim, exibe a tela de texto não encontrado. De qualquer forma, não consigo editar o .fla e fazê-lo funcionar corretamente.. Quem puder da uma jauda...

 

Os códigos principais para efetuar a busca são: (estão no 1º frame, como pode ser visto caso baixem o arquivo)

 

 

stop();fscommand("allowscale", "false");var dbArray = new Array();var dbXML = new XML();dbXML.onLoad = function()   {	var title, description, link, keywords;	var ndRoot = this.firstChild;		for(var i = 0; i < ndRoot.childNodes.length; i++)	   {		if(ndRoot.childNodes[i].nodeName != null)		   {			title = ndRoot.childNodes[i].attributes.title;			description = ndRoot.childNodes[i].attributes.description;			for(var j = 0; j < ndRoot.childNodes[i].childNodes.length; j++)			   {				if(ndRoot.childNodes[i].childNodes[j].nodeName == "link")				   {					link = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue;				}				else if(ndRoot.childNodes[i].childNodes[j].nodeName == "keywords")				   {					keywords = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue.split("|");				}			}			dbArray.push(new _root.record(title, description, keywords, link));		}	}}function record(title, description, keywords, link)   {	this.title = title	this.description = description;	this.keywords = keywords;	this.link = link;}function search(string)   {	var nResults = 0;		for(var i = 0; i < dbArray.length; i++)	   {		for(j = 0; j < dbArray[i].keywords.length; j++)		   {			if (dbArray[i].keywords[j].toLowerCase() == string)			   {				found = true; nResults++;				break;			}		}		if(found)		   {			results += "<b><a href=\""+ dbArray[i].link + "\"><u>" + dbArray[i].title + "</u></a></b>" + "<br>";			results += dbArray[i].description + "<br><br>";			found = false;		}	}	if(nResults == 0)	   {		results = "<b>Nenhum resultado com estes critérios. Faça outra pesquisa...</b>";	}	gotoAndStop(10);}dbXML.load("database.xml");Selection.setFocus("word");

Quem precisar que comente alguma linha do código para entender melhor, da um toque..

E por favor, quem souber arrumar essa busca em xml eu agradeceria muito...

O arquivo segue no link para quem precisar também.. Clique Aqui para baixar o arquivo e ajude a consertá-lo por gentileza.. hehehe

 

Muito obrigado e até..

Thiago <-> SmarThi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que ninguém conseguiu fazer funcionar essa busca? :( Alguém sabe que parte do código está errado? Eu tentei várias vezes e até coloquei novas funções do actionscript para retirar espaços em branco, tentei colocar a função para carregar o arquivo antes, mas nada deu certo..

Bom, se alguém souber, da uma força ae..

Valeu... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Até..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que ninguém conseguiu fazer funcionar essa busca? :( Alguém sabe que parte do código está errado? Eu tentei várias vezes e até coloquei novas funções do actionscript para retirar espaços em branco, tentei colocar a função para carregar o arquivo antes, mas nada deu certo..Bom, se alguém souber, da uma força ae..Valeu... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Até..

Amigo, não consegui baixar o arquivo que você disponibilizou, precisava do xml para dar uma olhada.Flw?? Corrige o link ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..

Obrigado pela disposição..

 

Na verdade o link não está quebrado, e sim ocorreu um problema no DNS do site..

 

Bom, o novo endereço para baixar o arquivo é

www.robynet.com.br/~infocus/busca.rar

 

Obrigado novamente..

Até...

SmarThi

Amigo, não tem como colocar em .zip??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..

Claro amigo.. Estou mudando a extensão para .zip então...

O novo endereço é www.robynet.com.br/~infocus/busca.zip

 

De qualquer maneira, estou colocando o conteúdo do arquivo XML:

 

O arquivo chama-se database.xml e contém:

 

<database>	<record title="Jorge Rabelo" description="Esse é um exemplo de como sistema de busca funciona, com precisão.">	<link>http://www.laboratoriocepac.com.br</link>	<keywords>Jorge Rabelo</keywords>	</record>	</database>
Muito obrigado mais uma vez e espero que possa me ajudar...

Até mais..

SmarThi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, fiz uns testes aqui.Primeiro:O .exe que está no .zip, não é um .exe tirado desse .swf e desse .fla. Ele deve ter uns codigos a mais.Segundo, ele faz a busca normalmente, so que você tem que digitar o nome completo, por exemplo, digite "jorge rabelo", e verá que o resultado aparece, para isso, tem que reformular o codigo da busca para que fique que nem no .exe, buscando partes da palavra, e não somente a palavra inteira!!! ok??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..Obrigado amigo..Por acaso você sabe como fazer isso.. Como quebrar uma palavra em vários caracteres (por exemplo) e achar a palavra usando apenas um pedaço dela, como você falou.. Você sabe adaptar isso nesse código?Obrigado mais uma vez e até mais..SmarThi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você pode usar o metodo indexOf, da classe String, que retorna quantas vezes um pedaço de string se encontram em outro.. dae ele retorna um número..

 

Ex:

 

var MeuString:String="Weverton"var busca=MeuString.indexOf("evert")trace(busca) //ele retorna 1. se for 0 não tem ocorrencias, se for maior que 0 tem ocorrencias

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.