SmarThi 0 Denunciar post Postado Agosto 11, 2007 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
SmarThi 0 Denunciar post Postado Agosto 16, 2007 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
Weverton N 0 Denunciar post Postado Agosto 16, 2007 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
SmarThi 0 Denunciar post Postado Agosto 17, 2007 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 Compartilhar este post Link para o post Compartilhar em outros sites
Weverton N 0 Denunciar post Postado Agosto 17, 2007 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
SmarThi 0 Denunciar post Postado Agosto 18, 2007 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
Weverton N 0 Denunciar post Postado Agosto 20, 2007 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
SmarThi 0 Denunciar post Postado Agosto 23, 2007 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
Weverton N 0 Denunciar post Postado Setembro 2, 2007 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