Você está na página 1de 42

MICROSOFT VISUAL BASIC

Introduo
Prof. Thabatta Arajo
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OBJETIVOS
Palavras-chave
Comentrios
Tipos de Dados
Declarao de Variveis
Declarao de Constantes
Atribuio de valores a Variveis e Constantes
Operadores
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
PALAVRAS-CHAVE
A linguagem de programao VB possui palavras-chave
que so reservadas e no devem ser usadas como
identificadores de variveis, constantes, procedimentos,
mdulos, sub-rotinas, funes, objetos, etc.
Voc deve evitar tambm algumas palavras-chave no
reservadas da linguagem VB para manter a legibilidade
dos seus cdigos.
As palavras-chave reservadas e as palavras-chave no
reservadas que devem ser evitadas so apresentadas na
pgina da web:
http://msdn.microsoft.com/pt-
br/library/vstudio/dd409611(v=vs.100).aspx
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
COMENTRIOS
Os comentrios de cdigos so
utilizados para descrever o cdigo com
objetivo de documentar e facilitar o
entendimento do programa.
Os comentrios de cdigos em
linguagem VB 2010 so prefixados com
apstrofo ('). O editor de cdigo marca
os comentrios na cor verde.
O compilador VB ignora todos os
caracteres aps a apstrofo at o final
da linha de cdigo.' Comentrio em
Visual Basic
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
VARIVEL
Varivel um espao alocado na memria para
armazenamento de valores. Uma varivel tem um
nome identificador, um endereo inicial de alocao
na memria, um tamanho do espao de alocao na
memria e um tipo.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
CONSTANTE
Constante um espao alocado na memria para
armazenamento de um valor, que aps a atribuio
no pode ser alterado. Uma constante, assim como
uma varivel, tambm tem um nome identificador,
um endereo inicial de alocao na memria, um
tamanho do espao de alocao na memria e um
tipo.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE DADOS
Um tipo define os tipos de valores a serem
armazenados na memria, o espao a ser alocado
na memria para armazenar valores deste tipo e a
faixa de valores.
Os tipos facilitam o trabalho do programador, que
simplesmente declara uma varivel ou constante
de um determinado tipo, evitando que defina
explicitamente as caractersticas de cada varivel
ou constante declarada no programa.
Todas as linguagens de programao .NET so
baseadas no Common Type System (Sistema de
Tipo Comum) do .NET Framework. O Common
Type System fornece tipos unificados para todas as
linguagens .NET (DEL SOLE, 2010).
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE DADOS
Segundo Balena (2010), os milhares de tipos
suportados pelo .NET Framework podem ser
agrupados em duas amplas categorias:
Tipos de Valor (Value Types)
Tipos de Referncia (Reference Types)
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE DADOS
Os tipos de valor definem variveis ou constantes que
armazenam os valores. Os valores destes tipos so
armazenados em uma rea de memria chamada Stack
(pilha).
Os tipos de valor da linguagem VB 2010 so:
booleano, numricos, Char, Date, Structure e Enum.
Os tipos de referncia definem variveis ou
constantes, conhecidas como ponteiros, que armazenam
os endereos iniciais de memria onde esto
armazenados os valores, ou seja, armazenam endereos
iniciais de memria que fazem referncia aos valores
(apontam para os valores). Desta forma, os ponteiros
so variveis que armazenam endereos de memria.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE DADOS
De acordo com Balena (2010), os ponteiros so
armazenados na Stack, enquanto que os valores
referenciados pelos ponteiros so armazenados em
uma rea de memria chamada Heap gerenciado.
Esta rea gerenciada pelo CLR, que determina
quando deve realizar o processo conhecido como
coleta de lixo que libera as posies de memria
ocupadas por valores que deixaram de ser
referenciados pelos ponteiros aps a destruio
destes.
Os tipos de referncia da linguagem VB 2010 so:
String, Arrays e Classes.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE DADOS
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPO BOOLEANO
Permite definir variveis ou constantes do tipo
booleano (lgico) que podem assumir dois valores: True
ou False, que representam dados que podem ter dois
estados possveis como, por exemplo, verdadeiro ou falso,
ligado ou desligado, aberto ou fechado, etc.
O valor default, isto , o valor padro aps a declarao
da varivel sem atribuio de um valor pelo
programador de uma varivel do tipo Boolean False.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Tipo Tamanho Faixa de valores
Boolean Depende da plataforma True ou False
TIPOS DE NMEROS
A tabela mostra as caractersticas dos tipos de nmeros
definidos na linguagem VB:
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Tipo Tamanh
o
Faixa de valores
Byte 1 byte 0 a 255
Sbyte 1 byte -128 a 127
Short 2 bytes -32.768 a 32.767
Ushort 2 bytes 0 a 65.535
Integer 4 bytes -2.147.483.648 a 2.147.483.647
Uinteger 4 bytes 0 a 4.294.967.295
Long 8 bytes -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
Ulong 8 bytes 0 a 18.446.744.073.709.551.615
Single (Float de
preciso
simples)
4 bytes -3.4028235E+38 a -1,401298E-45 para valores negativos
1,401298E-45 a 3,4028235E+38 para valores positivos
Double (Float
de preciso
dupla)
8 bytes -1.79769313486231570E+308 a -4,94065645841246544E-324 para valores
negativos
4,94065645841246544E-324 a 1,79769313486231570E+308 para valores positivos
Decimal 16 bytes 0 a +/-79.228.162.514.264.337.593.543.950.335 (sem casa decimal)
0 a +/-7,9922816251426337593543950335 (com 28 casas decimais)
TIPOS DE NMEROS
Cada tipo de nmero permite declarar variveis ou
constantes que ocupam um determinado espao de
memria e armazenam nmeros de uma
determinada faixa de valores.
O programador deve escolher o tipo que ocupe a
menor quantidade de memria em bytes e seja
capaz de armazenar a faixa de valores possvel de
um determinado dado a ser armazenado em uma
varivel ou constante. Esta abordagem permite
otimizar o programa, tendo em vista que as
variveis ocupam somente os espaos de memria
necessrios e suficientes e consumem menos tempo
e recursos, como pilha e registradores, para
processamento.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE NMEROS
Por exemplo, vamos supor a necessidade de se
declarar uma varivel para armazenar a
quantidade de filhos de uma pessoa. Neste
caso, basta declarar uma varivel do tipo Byte que
ocupa apenas um byte e permite armazenar valores
de 0 a 255.
Uma varivel do tipo Byte seria suficiente para
armazenar a idade de uma pessoa em anos, a
quantidade de dias em um ms, a quantidade de
meses em um ano, etc.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE NMEROS
O tipo Single define nmeros de ponto flutuante com
preciso at a sexta casa decimal.
O tipo Double define nmeros de ponto flutuante com o
dobro de dgitos significativos em relao ao tipo Single
ou com preciso at a dcima casa decimal, que evita os
erros de arredondamento que podem acontecer com
nmeros do tipo Single.
Desta forma, o tipo Double indicado para nmeros
utilizados em aplicaes cientficas, financeiras ou de
engenharia.
O tipo Decimal define nmeros inteiros de 12 bytes ou
nmeros com 0 a 28 casas decimais.
O valor default das variveis de tipos de nmero
zero.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE CARACTERES
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Tipo Tamanho Faixa de valores
Char
(caracter simples)
2 bytes 0 a 65.535
String
(cadeira de
caracteres)
Depende da
plataforma
0 a aproximadamente 2
bilhes de caracteres
codificados em Unicode.
TIPOS DE CARACTERES
Como os computadores processam nmeros, os
caracteres so codificados em nmeros. Existem
vrios padres de codificaes de caracteres como,
por exemplo, a codificao ASCII que representa os
caracteres com 1 byte, portanto limitado a 256
caracteres.
Para suportar linguas com maior quantidade de
caracteres, o Consrcio Unicode promove e
mantm o padro de codificao Unicode, que
independe de plataforma, programa e linguagem.
O padro Unicode adotado pelas principais
empresas de TI como Apple, HP, IBM, Microsoft,
Oracle, SAP, Unisys etc. (UNICODE, 2010).
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DE CARACTERES
O tipo Char define variveis ou constantes que
armazenam o cdigo de 2 bytes de um caracter na
codificao Unicode.
O valor default de uma varivel do tipo Char
zero.
O tipo String define um ponteiro para uma cadeia
de caracteres codificados em Unicode. A cadeia de
caracteres pode ter at aproximadamente 231
caracteres.
O valor default do ponteiro deste tipo Nothing,
isto , sem endereo.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPOS DIVERSOS
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Tipo Tamanho Faixa de valores
Date 8 bytes 00:00:00 (meia-noite) de 1 de
janeiro de 0001 a 11:59:50(PM) de
31 de dezembro de 9999.
Object 4 bytes em
plataformas de 32
bits.
8 bytes em
plataformas de 64
bits.
Valores do tipo objeto.
Structure
(definido
pelo
programador
)
Depende da
plataforma
Cada membro da estrutura tem
valores definidos pelo respectivo
tipo e independente dos demais
membros.
TIPOS DIVERSOS
O tipo Date define variveis ou constantes que armazenam
data, horrio ou data e horrio. O formato padro m/d/aaaa
delimitado pelo caracter # como, por exemplo, #3/4/1998#, que
representa a data 4 de maro de 1998.
O valor default de uma varivel ou constante deste tipo
00:00:00 (meia noite) de 1 de janeiro de 0001.
O tipo Object define um ponteiro que armazena o endereo
de referncia a qualquer valor ou objeto.
O valor default do ponteiro deste tipo Nothing, isto , sem
endereo.
O tipo Structure permite que o programador defina
estruturas com membros de diferentes tipos.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPO LITERAL
Alguns valores literais podem ser compatveis com
diferentes tipos como, por exemplo, "A" pode ser do
tipo Char ou String e o valor literal 1 pode ser do
tipo Byte, SByte, Short, UShort, Integer,
UInteger, Long ou ULong.
Os caracteres do tipo de literal (Literal Type
Characters) permitem que voc especifique
explicitamente os tipos de literais para o
compilador.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
TIPO LITERAL
A tabela a seguir mostra essas especificaes:
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Caracter Tipo Exemplo
C Char "A"C
D Decimal 98.2D
F Single 1F
I Integer 1I
L Long 1L
R Double 1R
S Short 1S
UI Uinteger 1UI
UL Ulong 1UL
US UShort 1US
VARIVEIS E CONSTANTES
Variveis e Constantes
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
DECLARAO DE VARIVEL
A declarao de uma varivel feita atravs da
palavra-chave reservada Dim, conforme a seguinte
sintaxe:
DimNome As Tipo
Os nomes identificadores devem comear com letra
ou sublinha ("_"), conhecido como underscore (ou
underline), e no devem conter espaos ou
smbolos.
usual evitar o uso de acentuaes em cdigos de
programas de computador.
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
DECLARAO DE VARIVEL
O exemplo a seguir declara uma varivel de nome
Idade do tipo Byte e uma varivel de nome
Endereco do tipo String.
DimIdade As Byte
DimEndereco As String
Voc pode declarar, na mesma sentena, variveis
do mesmo tipo, separando os nomes por vrgula.
O exemplo a seguir declara, na mesma sentena,
duas variveis do tipo Byte e de nomes Dia e Mes.
DimDia, Mes As Byte
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
DECLARAO DE VARIVEL
Voc pode declarar, na mesma sentena, variveis
de tipos diferentes, separando os nomes e os tipos
por vrgula.
O exemplo a seguir declara, na mesma sentena,
uma varivel de nome Numero do tipo Ushort e
uma varivel de nome Complemento do tipo
String.
DimNumero As Ushort, Complemento As String
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
ATRIBUIO DE VALOR VARIVEL
A atribuio de valor feita atravs do sinal de
igual, conforme a sintaxe a seguir:
Nome = valor
O exemplo a seguir atribui o valor 5 varivel
Idade.
Idade = 5
O exemplo a seguir atribui o literal "Av.
Presidente Vargas" varivel Endereco.
Endereco = "Av. Presidente Vargas"
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
ATRIBUIO DE VALOR VARIVEL
A atribuio de um valor a uma varivel pode ser
feita na mesma sentena da declarao da varivel,
conforme a sintaxe a seguir:
DimNome As Tipo = valor
O exemplo a seguir declara uma varivel de nome
Dependentes do tipo Byte e atribui o valor 1.
DimDependentes As Byte = 1
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
DECLARAO DE CONSTANTE
A declarao de uma constante feita atravs da
palavra-chave reservada Const, e a atribuio de
um valor feita com sinal de igual, conforme a
seguinte sintaxe:
Const Nome As Tipo = valor
A linguagem VB tem constantes predefinidas que
podem ser conhecidas acessando:
http://msdn.microsoft.com/pt-
br/library/dy7yth1w(v=vs.100).aspx
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
DECLARAO DE CONSTANTE
Uma constante deve ter o seu valor atribudo na
sentena de declarao.
O exemplo a seguir declara uma constante de nome
Versao do tipo Decimal com valor igual a 1.0, e
outra constante de nome PI do tipo Double com
valor igual a 3.1415.
Const Versao As Decimal = 1.0
Const PI As Double = 3.1415
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OPERADORES
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OPERADORES
Os operadores bsicos da linguagem VB 2010
podem ser agrupados nas seguintes categorias:
Operadores Aritmticos
Operadores de Concatenao
Operadores de Deslocamento de Bits
Operadores de Atribuio
Operadores de Comparao
Operadores Lgicos
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OPERADORES ARITMTICOS
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Operado
r
Descrio
+ Adio
- Subtrao
* Multiplicao
/ Diviso
\ Parte inteira do resultado da
diviso
Mod Resto do resultado da diviso
^ Eleva a potncia de um valor
OPERADORES DE CONCATENAO
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Operado
r
Descrio
& Concatena duas strings
+ Concatena duas strings
(equivale ao operador &)
OPERADORES DE
DESLOCAMENTO DE BITS
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Operador Descrio
<< Desloca uma quantidade de bits a esquerda de um
valor em bits e acrescenta zeros a esquerda
>> Desloca uma quantidade de bits a direita de um
valor em bits e acrescenta zeros a direita
OPERADORES DE
DESLOCAMENTO DE BITS
O cdigo a seguir apresenta exemplos do uso de
operadores de deslocamento.
Dim Numero As Short = 192
' O contedo de Numero em bits 0000 0000 1100 0000
Dim Res1, Res2, Res3 As Short
Res1 = Numero << 0
Res2 = Numero << 4
Res3 = Numero << 17
' O contedo de Res1 192 (0000 0000 1100 0000)
' O contedo de Res2 3072 (0000 1100 0000 0000)
' O contedo de Res3 384 (0000 0001 1000 0000)
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OPERADORES DE ATRIBUIO
Operado
r
Descrio Exemplo
= Atribui um valor a uma varivel ou constante X = Y
+= Adiciona e atribui o valor X += Y [X = X + Y]
-= Subtrai e atribui o valor X -= Y [X = X - Y]
*= Multiplica e atribui o valor X *= Y [X = X * Y]
/= Divide e atribui o valor X /= Y [X = X / Y]
\= Divide e atribui a parte inteira do resultado da
diviso
X \= Y [X = X \ Y]
^= Eleva a potncia de um valor e atribui o resultado X ^= Y [X = X ^ Y]
<<= Desloca uma quantidade de bits a esquerda de um
valor em bits e acrescenta zeros a esquerda e atribui
o valor
X <<= Y [X = X << Y]
>>= Desloca uma quantidade de bits a direita de um
valor em bits e acrescenta zeros a direita e atribui o
valor
X >>= Y [X = X >> Y]
&= Concatena e atribui o resultado X &= Y [X = X & Y]
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
OPERADORES DE COMPARAO
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Operador Descrio
< Menor que
<= Menor ou igual
> Maior que
>= Maior ou igual
= Igual
<> Diferente
Is Retorna True caso os dois nomes de objetos (ponteiros)
apontem para o mesmo objeto. Retorna False caso
contrrio.
IsNot Retorna True caso os dois nomes de objetos (ponteiros)
no apontem para o mesmo objeto. Retorna False caso
contrrio.
Like Retorna True caso um padro de string esteja contido em
uma string. Retorna False caso contrrio.
OPERADORES LGICOS
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
Operador Descrio
And Executa a operao AND (E) em duas expresses booleanas,
binrias ou numricas.
Not Executa a operao NOT (NO) em duas expresses booleanas,
binrias ou numricas.
Or Executa a operao OR (OU) em duas expresses booleanas,
binrias ou numricas.
Xor Executa a operao XOR (Exclusive-OR) em duas expresses
booleanas, binrias ou numricas.
AndAlso Executa a operao AND (E) em duas expresses booleanas,
binrias ou numricas, ignorando a avaliao da segunda
expresso caso a primeira expresso seja False.
OrElse Executa a operao OR (OU) em duas expresses booleanas,
binrias ou numricas. ignorando a avaliao da segunda
expresso caso a primeira expresso seja True.
SAIBA MAIS
Vdeo de introduo linguagem Visual Basic:
http://msdn.microsoft.com/pt-br/beginner/bb308774.aspx
Histrico da linguagem VB:
http://visualbasic.freetutes.com/?gclid=COGuurSx9KICFYMe7godMD-uhQ ;
http://www.johnsmiley.com/visualbasic/vbhistory.htm
Portal da referncia da linguagem VB 2010:
http://msdn.microsoft.com/en-us/library/sh9ywfdk.aspx
Palavras-chave da linguagem VB 2010:
http://msdn.microsoft.com/en-us/library/dd409611.aspx
Tipos da linguagem VB 2010:
http://msdn.microsoft.com/en-us/library/47zceaw7.aspx
Constantes predefinidas da linguagem VB 2010:
http://msdn.microsoft.com/en-us/library/dy7yth1w.aspx
Operadores da linguagem VB 2010:
http://msdn.microsoft.com/en-us/library/f15ea9k8.aspx
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I
REFERNCIAS
Microsoft
http://msdn.microsoft.com/pt-
br/library/vstudio/2x7h1hfk(v=vs.100).aspx
L
o
g
i
c
a

e

P
r
o
g
r
a
m
a

o

I
I

Você também pode gostar