Ir para conteúdo

POWERED BY:

Arquivado

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

Elektra

Verificação booleana em switch

Recommended Posts

Tenho este exemplo em um DVD que estou estudando, alterei o valor da variável, etc, para verificar a saída.

 

Com apenas um case e trace não ficou muito claro.

 

var curso:String = "AS2";

switch ("AS2" == curso) 
{
	
	case true:
	trace ("AS3");
	break;
	
	default:
	trace ("não encontrado");
	
}

 

Preciso conferir em um exemplo prático. Então, pergunto se a verificação booleana com o valor de uma variável, dentro do switch é algo semelhante a este trecho do code que uso:

 

...
var menu:Array = ["Home","Empresa","Produtos","Contato"];
var ativo:MovieClip = new MovieClip();
...
function carrega(evt:MouseEvent):void
{
        if (ativo != evt.currentTarget)
        {
                //trace("carrega");
                switch (evt.currentTarget)
                {
                        case (bt0) :
                                link = new URLRequest("home.swf");
                                break;

                        case (bt1) :
                                link = new URLRequest("empresa.swf");
                                break;

                        ...

                               break;
                }
				
        }
        
}

 

Agradeço quem possa mencionar outros exemplos de uso.

 

 

Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

 

ps: não é possível editar o título do tópico, leia-se >> Verificação booleana em switch

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Elektra

 

Sim, o uso do switch esta correto nesse caso, usa-lo assim para saber qual botão foi clicado é algo comum,

embora eu ache melhor usa-lo apenas assim:

 

 

switch (evt.currentTarget)
{
          case (bt0) :
                 carregar("home.swf");
          break;

          case (bt1) :
                 carregar("empresa.swf");
          break;

}

 

assim evita código duplicado em cada CASE

 

 

agora sobre a verificação booleana, o melhor é usar só um IF, já que só tem dois casos( true ou false,

o SWTICH é indicado para verificações que podem ter muitos casos diferente, como esse menu

 

bem, acho que é isso

 

 

[]´s

 

 

 

PS: eu ri quando li "boolena", rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

é exatamente como o Eder falou Elektra... Em geral nos algoritmos o uso do if e:

 

 

[...]

if( [expressão booleana] )

{

/*bloco de codigo*/

}

[...]

 

 

Se der true ele entra no bloco de código, senao ele continua o código.

Se fosse falsa ele iria pro else.

 

[...]

if( [expressão booleana] )

{

/*bloco de codigo*/

}

else

{

/*bloco de codigo*/

}

[...]

 

Você deve saber que é possível utilizar if, else if, else if, ..., else. Mas fica um tanto inadequado dependendo da situação (que é a maioria rrs), daí utilizamos o swtich case, que é mais apropriado nestas ocasiões ;)

Como só há duas possibilidades (T/F), entao use um if e ja era ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, muito obrigada pela atenção.

 

 

@ Eder :D ...não enrola, você entendeu direitinho!

 

(pode rir na boa, já falei faz tempo que não dá pra editar o título)

 

Eu só aprendi o uso do switch com 'trace'. Juntei 2 tutoriais/arquivos do Michel Araújo >> menu ativado (com páginas internas) + galeria de imagens (switch com imagens externas).

Adaptei como pude e funcionou, meu querido amigo Foxn deu uma generosa mão para a página não recarregar com click (chorei de alegria).

 

Reuniu várias coisas que eu queria aprender, o menu ativado, switch para o carregamento de arquivos e uma 'transição' de páginas (foi a única que encontrei até o momento, quero muito saber como se faz isso). Aos poucos vai melhorando. Clique aqui

 

 

stop();

var menu:Array = ["Home","Empresa","Produtos","Contato"];
var i:uint;
var ativo:MovieClip = new MovieClip();
var link:URLRequest;

for (i=0; i<=3; i++)
{
        this["bt" + i].txtBotao.text = menu[i];
        this["bt" + i].mouseChildren = false;
        this["bt" + i].addEventListener(MouseEvent.MOUSE_OVER, over);
        this["bt" + i].addEventListener(MouseEvent.MOUSE_OUT, out);
        this["bt" + i].addEventListener(MouseEvent.CLICK, carrega);
        this["bt" + i].addEventListener(MouseEvent.CLICK, clique);
}

function over(evt:MouseEvent):void
{
        if (ativo != evt.currentTarget)
        {
                evt.currentTarget.gotoAndPlay("over");
        }
}
function out(evt:MouseEvent):void
{
        if (ativo != evt.currentTarget)
        {
                evt.currentTarget.gotoAndPlay("out");
        }
}

function clique(evt:MouseEvent):void
{
        if (ativo != evt.currentTarget)
        {
                //trace("clique");
                ativo.gotoAndPlay("out");
                ativo = evt.currentTarget as MovieClip;
                ativo.gotoAndPlay("over");
        }
}

function carrega(evt:MouseEvent):void
{
        if (ativo != evt.currentTarget)
        {
                //trace("carrega");
                switch (evt.currentTarget)
                {
                        case (bt0) :
                                link = new URLRequest("home.swf");
                                break;

                        case (bt1) :
                                link = new URLRequest("empresa.swf");
                                break;

                        case (bt2) :
                                link = new URLRequest("produtos.swf");
                                break;

                        case (bt3) :
                                link = new URLRequest("contato.swf");
                                break;
                }
				mcCarrega.gotoAndPlay(2);
        }
        
}

bt0.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

Mencionei este code por conta da função que usa uma estrutura if com a variável 'ativo' para verificar o

case da página carregada e desativar o click no botão.

 

Eu queria visualizar na prática. É isso?

 

 

 

 

@ Irineu

 

A dúvida é referente a um capítulo do DVD do Erick Souza, que estou estudando. O exemplo que ele usou foi bem ralado, me quebrou as pernas.

 

O trecho do code que postei é o único exemplo real que tenho com a estrutura switch. (Aceito doações)

 

Quanto ao if, else if e else tá tranquilo. ^_^

 

 

 

Abraços =]

 

 

ps: não sei quem corrigiu o título do tópico, muito obrigada! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif >> Booleana >> tá certinho!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Elektra

 

Sim, o uso do switch esta correto nesse caso, usa-lo assim para saber qual botão foi clicado é algo comum,

embora eu ache melhor usa-lo apenas assim:

 

 

switch (evt.currentTarget)
{
          case (bt0) :
                 carregar("home.swf");
          break;

          case (bt1) :
                 carregar("empresa.swf");
          break;

}

 

assim evita código duplicado em cada CASE

 

 

agora sobre a verificação booleana, o melhor é usar só um IF, já que só tem dois casos( true ou false,

o SWTICH é indicado para verificações que podem ter muitos casos diferente, como esse menu

 

bem, acho que é isso

 

 

[]´s

 

 

 

PS: eu ri quando li "boolena", rsrs

 

 

 

Eder, testei a sua sugestão, substitui pela variável link, erro em output.

 

Como nunca tinha usado o switch para carregamento de páginas essa foi a forma que consegui fazer funcionar.

 

Talvez com o code na íntegra fique mais claro.

 

Não me falta disposição para outras possibilidades. Pode esquecer o 'booleano'.

 

 

 

ps: olha como você escreveu >> o SWTICH :P

 

 

 

Abraços

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.