Ir para conteúdo

POWERED BY:

Arquivado

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

Marcio Leandro

loadVariablesNum

Recommended Posts

O q pode estar errado com esta função abaixo? O trace imprime 'undefined', e os dois arquivos estão no mesmo diretório.

//arquivo.flafunction arquivo_nome() { var arquivo = loadVariablesNum("podcast.txt", 0); trace(arquivo);}arquivo_nome();

//podcast.txt&arquivo=textotextotextotexto

Já pesquisei sobre esta função, e não consigo achar o motivo para não dar certo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pesquisa sobre LoadVars, acredite, tu vai ficar com raiva de quem ensinou loadVariablesNum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois bem, eu fiz assim:

arquivo_lv = new LoadVars();arquivo_lv.load("podcast.txt");trace(arquivo_lv.arquivo); // deveria imprimir a string dentro da var arquivo que está no txt.

E nada... Estou fazendo algo errado ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

O trace dá certo, fazendo assim:

var arquivo_lv:LoadVars = new LoadVars();

arquivo_lv.onLoad = function(){

trace(this.arquivo);

}

arquivo_lv.load("podcast.txt");

agora não estou conseguindo carregar uma var com o valor encontrado...

var arquivo_lv:LoadVars = new LoadVars();

arquivo_lv.onLoad = function(){

var arquivo = this.arquivo;

}

arquivo_lv.load("podcast.txt");

Eu consigo usar a var arquivo dentro da função, mas eu preciso usá-la fora dela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preste atenção no escopo, se tu tá declarando a variável dentro, é porque ela só será acessível dentro dela:

var arquivo_lv:LoadVars = new LoadVars();var arquivo_str:String;arquivo_lv.onLoad = function():Void{   arquivo_str = this.arquivo;}arquivo_lv.load("podcast.txt");trace(arquivo_str);
Logicamente, aí em cima existe um pequeno problema de sincronia, uma vez que o Flash não vai esperar o evento onLoad ser chamado antes de ler a variável arquivo_str no trace(); e portanto irá retornar undefined. O melhor a fazer seria:

var arquivo_lv:LoadVars = new LoadVars();var arquivo_str:String;arquivo_lv.onLoad = function():Void{   arquivo_str = this.arquivo;   mostraValor();}function mostraValor():Void{   trace(arquivo_str);}arquivo_lv.load("podcast.txt");

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

É claro, o escopo...Valeu a ajuda, consegui resolver. Abraço

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.