Usuário com melhor resposta
DECLARAÇÃO DE VARIÁVEIS DO MESMO TIPO

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