Ir para conteúdo

POWERED BY:

Arquivado

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

MarKteus

Valores de variáveis diferentes, onde deviam ser iguais

Recommended Posts

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á 0

Na 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

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: 6
Para 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

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: 6
Para 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

×

Informação importante

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