none
DECLARAÇÃO DE VARIÁVEIS DO MESMO TIPO RRS feed

  • Pergunta

  • Olá, amigos do Fórum,

    Um bom domingo para todos! Principiante tem todo tipo de dúvida, desculpem. Minha dúvida é que eu ouvi falar que quando as variáveis são declaradas, desse modo abaixo:

    Dim nome As String, Idade As Integer, Salario As Double

    isso garante que os tipos das variáveis serão esses mesmos como foram declarados, mas se o modo de declarar variáveis de um mesmo tipo, coloca as variáveis separadas por vírgula, assim:

    Supondo que canetas seja o número de canetas, e bolas seja o número de bolas, e cadeiras o número de cadeiras, então, a declaração assim: 

    Dim canetas, bolas, cadeiras As Integer

    Apenas aparentemente seriam as 3 variáveis do tipo Integer, mas na verdade somente a variável cadeiras  seria do tipo Integer, as outras duas variáveis(canetas e bolas) assumiriam o tipo Variant.

     Eu não sei testar isto, pra ver se é mesmo, mas alguém poderia me dizer se isso é verdade, ou eu entendi mal a questão. O tipo Variant ocupa muita memória. Então, estou me perguntando, qual a vantagem de declarar variáveis do mesmo tipo em uma única linha, apenas separadas por vírgula?

    Abraço, amigos.

    Expecta

    domingo, 19 de abril de 2015 20:13

Respostas

  • Expectra,

    é da forma que vc citou. Declarar:

    Dim canetas, bolas, cadeiras As Integer

    faz com que apenas 'cadeiras' seja do tipo 'Integer'.

    Se vc for em Exibir >> Janela 'Variáveis Locais' em modo de Depuração (código em execução interrompido em algum ponto) vc verá isto:

    A única vantagem em escrever ou não em uma mesma linha, ao menos para mim, é a organização do código, uma vez que permite separar em "blocos" de variáveis em função do contexto ou uso de cada uma delas.

    Seria isto?


    Filipe Magno

    • Marcado como Resposta Expecta segunda-feira, 20 de abril de 2015 12:06
    domingo, 19 de abril de 2015 20:38

Todas as Respostas

  • Expectra,

    é da forma que vc citou. Declarar:

    Dim canetas, bolas, cadeiras As Integer

    faz com que apenas 'cadeiras' seja do tipo 'Integer'.

    Se vc for em Exibir >> Janela 'Variáveis Locais' em modo de Depuração (código em execução interrompido em algum ponto) vc verá isto:

    A única vantagem em escrever ou não em uma mesma linha, ao menos para mim, é a organização do código, uma vez que permite separar em "blocos" de variáveis em função do contexto ou uso de cada uma delas.

    Seria isto?


    Filipe Magno

    • Marcado como Resposta Expecta segunda-feira, 20 de abril de 2015 12:06
    domingo, 19 de abril de 2015 20:38
  • Olá, Filipe,

    Desejo agradecer sua colaboração e ajuda.  Sim , é isso sim que você respondeu. Com sua explicação ficou claro pra mim que o que eu "ouvi dizer" estava correto, então. E lá na janela de Variáveis Locais ficou ainda mais clara a questão. Bem, estou entendendo então que o tipo Variant aceita qualquer um dos outros tipos, quero dizer, assim:

    Dim salarios, faturamento, lucro As Double 

    Apenas lucro é do tipo Double, estou entendendo que salarios e faturamento são do tipo Variant, mas se no código eu atribuo um valor para salários do tipo Double, assim:

    salarios = 6563.78

    Então o tipo Variant de salarios vai suportar aquele valor Double com casas decimais, etc. Entendi assim.

    Obrigado, amigo, pela valiosa ajuda!

    Expecta

    segunda-feira, 20 de abril de 2015 12:33
  • Na verdade, se você omitir o tipo de dados de uma variável, o VBE assume que o tipo é Variant.

    Logo,

    Dim salarios, faturamento, lucro As Double 

    é equivalente a:

    Dim salarios As Variant, faturamento As Variant, lucro As Double 


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 20 de abril de 2015 16:58
    Moderador