KiTTo 0 Denunciar post Postado Outubro 18, 2007 E aí pessoal tudo bem? To com dúvidas sobre o loadVars. Vou colcoar aqui o meu código e mais abaixo eu explico o problema. 1º Frame: function Fornecedores():Void{ var Forn = new LoadVars(); Forn.load("flashForn.php"); Forn.onLoad = function(ok){ if(ok){ _global.total = Forn.totalForn; _global.atual = 0; gotoAndPlay(2); }else{ trace("Erro na leitura do arquivo"); } }; }Fornecedores(); 2º Frame if (_global.atual <= _global.total) { _global.atual = _global.atual + 1; trace("Fornecedor Atual: "+_global.atual);}else{ trace("Zerou!"); _global.atual = 0;} Este AS é o inicio de uma 'galeria' de fornecedores. Cada vez que entrar no 2º frame ele irá inserir +1 na variavel _global.atual para, apartir deste numero , carregar e exibir uma imagem. O problema é que o IF não está funcionando. Suspeito que seja por causa do tipo de variavel, pq no Debug do flash eu vi que o valor da variavel _global.total é mostrado entre aspas enquanto o da variavel _global.atual é mostrado sem as aspas. As aspas indicam que é string, certo? Então, como mudar o tipo da variavel retornada pelo loadVars? Desde já agradeço!!! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 19, 2007 converta apenas quando for comparar ou fazer operações matematicas ACTIONSCRIPT if (Number(_global.atual) <= Number(_global.total)) { _global.atual = Number(_global.atua)l + 1; trace("Fornecedor Atual: "+_global.atual); }else{ trace("Zerou!"); _global.atual = 0; } Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 19, 2007 e aí cara!Primeiramente obrigado pela ajuda, mas não funcionou =(O If continua não funcionando, ele conta até não aguentar mais.O que pode ser?Obrigado pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 22, 2007 será que alguem pode me ajudar?por favor! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 22, 2007 dê um trace nessa variavel a cada passo e veja se o valor dela esta ok Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 22, 2007 Está OkSempre o mesmo.O problema é que um é do tipo string e outro é do tipo number, então o if nunca vai funcionar.Queria saber como tranformar a variavel string em number...To desesperado já... vlw pela ajuda... Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 22, 2007 foi como eu mostrei lá em cima if (Number(_global.atual) != Number(_global.total)) { _global.atual = Number(_global.atua)l + 1; trace("Fornecedor Atual: "+_global.atual);} o lugar onde esta dando erro é no IF ? teste dar uma trace: trace(Number(_global.atual) ) e veja o que aparece Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 23, 2007 Esse trace(Number(_global.atual) )mostra NaN...Quer dizer que a global ta vazia?<o>me ajuda... to perdidasso =(Vlw pela força ;) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 23, 2007 isso:trace(Number(_global.atual) )retornou NaN, quer dizer que o conteúdo não é numerose você der o trace assimtrace(Number(_global.atual.toString()) )trace(_global.atual.toString())o que retorna??? Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 23, 2007 Incialmente ele retorna várias vezes 'NaN'Depois passa a contar...1122334455667788...Me ocorreu que pode ser um atraso do retorno das variáveis no PHP.Dei um setInterval, mas não adiantou muito.Depois me ocorreu outra coisa:A primeira vez que a _global.atual passa pelo if ela não está como Number, logo a primeira vez de um trace(Number(_global.atual)) será sempre NaN.Minhas teorias estão muito loucas ou faz algum sentido?Abração!!! Compartilhar este post Link para o post Compartilhar em outros sites
sanamaria 0 Denunciar post Postado Outubro 23, 2007 tu ta copiando o código exatamente errado daqui? tem um errinho de digitação: ACTIONSCRIPT if (Number(_global.atual) != Number(_global.total)) { _global.atual = Number(_global.atual) + 1; trace("Fornecedor Atual: "+_global.atual); } Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 23, 2007 não não...eu vi o erro e corrigi ;) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 23, 2007 Veja se com a dica da Sanamaria funciona, tinha mesmo um erro no meu codigo quanto as suas teorias, você esta inicializando a variável _global.atual = 0; no 1º frame, dentro do onLoad agora veja como esta a variável total trace(_global.total)trace(Number(_global.total))trace('----------------'trace(Number(_global.atual) )trace(_global.atual)if (Number(_global.atual) != Number(_global.total)) { _global.atual = Number(_global.atual) + 1; trace("Fornecedor Atual: "+_global.atual);} Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 23, 2007 Priemira vez que passa pelo segundo frame: undefined NaN ---------------- NaN undefined Segunda vez: 12 NaN ---------------- 0 0 Terceira vez: 12 NaN ---------------- 1 1 Tem erro ao mudar a variável pra Number? O problema pode estar no PHP? segue o php: <?php//Header("Content-type: text/html; charset=iso-8859-1");session_start();//error_reporting(E_ALL); /// TRATAMENTO DE ERROSinclude_once("cfg/cfg.main.php");require_once(MYSQLDB_CLASS); /////// NOVA CLASSE DE BANCO DE DADOS$db = new edz_db(DB_HOST, DB_USER, DB_PASS, DB_BASE); $rows = $db->db_query("SELECT * FROM fornecedor");if(count($rows) > 0) { $i = 1; foreach ($rows as $row) { $conteudo .= "&nome".$i."=".$row['nome']."&site".$i."=".$row['site']."ℑ".$i."=".$row['image']."&"; $i++; } $conteudo .= "totalForn=".count($rows); echo $conteudo;}?> Compartilhar este post Link para o post Compartilhar em outros sites
KiTTo 0 Denunciar post Postado Outubro 23, 2007 AeeeeAcho que o problema era de BIOS...Resolvi apagar tudo e refazer... e não é que funcionou O.oE olha que o código ta exatamente igual a antes...O flash tem disse né...Bah, muito muito obrigado por toda a ajuda!abração! Compartilhar este post Link para o post Compartilhar em outros sites