Ir para conteúdo


Foto

Switch Case Multiplo Botoes


  • Por favor, faça o login para responder
2 respostas neste tópico

#1 chrispbr

chrispbr

    Membro

  • Membros
  • Pip
  • 19 posts
  • LocationCuritiba Parana

Postado 16 janeiro 2016 - 10:26

Fala Pessoal. preciso da ajuda de vocês, tenho um form que tem inúmeras imagens, $pic1, $pic2, $pic3 ....(mais de 100) e quero que quando clicar nela ela abra, coloquei no Switch case, porem não teria uma maneira mais dinâmica do que repetir todas as variáveis?

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido



#2 Manimal

Manimal

    Membro Nível 3

  • Administradores (Adm)
  • PipPipPipPip
  • 319 posts
  • LocationVideira/SC

Postado 17 janeiro 2016 - 10:50

Olá chrispbr.

 

Observe que as estruturas SWITCH...CASE ou IF...ELSEIF...ENDIF ou qualquer outra de múltiplas escolhas, são apenas formas diferentes de tratar o resultado de GUIGetMsg().

O que realmente importa é que o valor de $nMsg seja processado, portanto você tem a liberdade de fazer isso como melhor lhe convier.

 

Pelo exemplo que você postou, entendo o que quer fazer, mas fiquei em dúvida também:

Se todas as imagens ($Pic1, $Pic2, $Pic3...) fazem a mesma coisa (função onOff) porque não apenas chamar a função?

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Mesmo assim, chamar apenas uma função com objetivo semelhante é uma excelente idéia, porém no meu entendimento seria necessário enviar também um parâmetro para saber qual imagem ($Pic1, $Pic2...) que estamos ativando ou desativando. Nessa linha de pensamento, a quinta linha seria modificada para :

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Dessa forma, a função onOff saberia qual imagem processar.

 

Mas finalmente o que eu acredito que seja mais apropriado é o fato de querer processar cada objeto (botão, listbox, checkbox, etc) de acordo, ou seja, dependendo do objeto que for clicado no Form chamar a função adequada ao objeto.

 

Como exemplo:

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Adaptando a rotina, esta pode ser utilizada de várias formas, além da que mencionei acima...



#3 chrispbr

chrispbr

    Membro

  • Membros
  • Pip
  • 19 posts
  • LocationCuritiba Parana

Postado 18 janeiro 2016 - 12:28

Olá chrispbr.

 

Observe que as estruturas SWITCH...CASE ou IF...ELSEIF...ENDIF ou qualquer outra de múltiplas escolhas, são apenas formas diferentes de tratar o resultado de GUIGetMsg().

O que realmente importa é que o valor de $nMsg seja processado, portanto você tem a liberdade de fazer isso como melhor lhe convier.

 

Pelo exemplo que você postou, entendo o que quer fazer, mas fiquei em dúvida também:

Se todas as imagens ($Pic1, $Pic2, $Pic3...) fazem a mesma coisa (função onOff) porque não apenas chamar a função?

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Mesmo assim, chamar apenas uma função com objetivo semelhante é uma excelente idéia, porém no meu entendimento seria necessário enviar também um parâmetro para saber qual imagem ($Pic1, $Pic2...) que estamos ativando ou desativando. Nessa linha de pensamento, a quinta linha seria modificada para :

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Dessa forma, a função onOff saberia qual imagem processar.

 

Mas finalmente o que eu acredito que seja mais apropriado é o fato de querer processar cada objeto (botão, listbox, checkbox, etc) de acordo, ou seja, dependendo do objeto que for clicado no Form chamar a função adequada ao objeto.

 

Como exemplo:

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

Adaptando a rotina, esta pode ser utilizada de várias formas, além da que mencionei acima...

Primeiro obrigado por sua atenção, consegui adaptar e resolver meio problema, mais uma vez agradeço e lhe desejo sucesso em seus projetos.






0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Documentação OnLine de referência