MarKteus 1 Denunciar post Postado Outubro 22, 2007 Bom dia Membros no código abaixo: mc_Palco.onRelease = function() { -- if (ferramentas.is_Texto == true) -- { --- temTexto = true;--- n_Tx = campo.length++; // -> Linha 1--- trace(campo.length++); // -> Linha 2--- trace(n_Tx); // -> Linha 3[/b]--- campo[n_Tx]="c_Texto"+String(n_Tx); --- trace(campo[n_Tx]);--- _root.createTextField(campo[n_Tx], n_Tx, shape[n_Cx]._x, shape[n_Cx]._y, shape[n_Cx]._width, shape[n_Cx]._height);--- eval(campo[n_Tx]).type = "input";--- eval(campo[n_Tx]).multiline = true;--- eval(campo[n_Tx]).wordWrap = true;--- eval(campo[n_Tx]).border = true;--- eval(campo[n_Tx]).text = "Digite o texto aqui";--- eval(campo[n_Tx]).setTextFormat(meuFormato);--- selection.setFocus(campo[n_Tx]);--- eval(campo[n_Tx]).onKillFocus = function()--- {------ linha[n_Lin+3] = eval(campo[n_Tx]).text; --- }-- }}Na linha 1 eu atribuo a variável n_Tx o valor do tamanho da matriz, q ainda ñ contendo nada valerá 0Na linha 2 eu mostro na tela o valor do tamanho da array Na linha 3 eu mostro na tela o valor do q for guardado na variável n_Tx q, na teoria, deveria conter o mesmo valor de campo.length Porém o valor de campo.length++ é sempre maior q o valor guardado na variável n_Tx, ou seja, (qdo o campo.length++ é 1, o valor da n_Tx, será 0 e assim por diante) A dúvida é Por que ? Compartilhar este post Link para o post Compartilhar em outros sites
Lucius Mendes 0 Denunciar post Postado Outubro 22, 2007 Olá! n_Tx = campo.length++;Aqui você atribui um valor a n_Tx = campo.length e adiciona mais um ao último! Ou seja, se campo.length for igual a 1, você atribuirá a n_Tx o valor 1 e em seguida acrescentará +1 a campo.length, tornando-o igual a 2; trace(campo.length++);Aqui você exibe tamanho.lenght (que é 2) e, posteriormente adiciona + 1 a este, tornando-o igual a 3. trace(n_Tx);Aqui você exibe o valor 1 atribuído a n_Tx na primeira linha. Observe e veja se entende: meuNum = 5;trace(meuNum++); //mostra: 5trace(meuNum); //mostra: 6meuNum = 5;trace(++meuNum); //mostra: 6trace(meuNum); //mostra: 6Para que desse certo teria de ser:n_Tx = ++campo.length; // -> Linha 1trace(campo.length); // -> Linha 2trace(n_Tx); Espero ter ajudado! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 22, 2007 Olá! n_Tx = campo.length++;Aqui você atribui um valor a n_Tx = campo.length e adiciona mais um ao último! Ou seja, se campo.length for igual a 1, você atribuirá a n_Tx o valor 1 e em seguida acrescentará +1 a campo.length, tornando-o igual a 2; trace(campo.length++);Aqui você exibe tamanho.lenght (que é 2) e, posteriormente adiciona + 1 a este, tornando-o igual a 3. trace(n_Tx);Aqui você exibe o valor 1 atribuído a n_Tx na primeira linha. Observe e veja se entende: meuNum = 5;trace(meuNum++); //mostra: 5trace(meuNum); //mostra: 6meuNum = 5;trace(++meuNum); //mostra: 6trace(meuNum); //mostra: 6Para que desse certo teria de ser:n_Tx = ++campo.length; // -> Linha 1trace(campo.length); // -> Linha 2trace(n_Tx);Espero ter ajudado! Abraços! Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites