Escolar Documentos
Profissional Documentos
Cultura Documentos
VB .NET Tutorial
VB .NET Tutorial
NET Framework
A .NET Framework define o ambiente para executar aplicaes desenvolvidas em
VB .NET, C# .NET, C++ .NET, ou outras desenvolvidas para a .NET Framework.
O Visual Studio .NET um pacote de produtos que permite desenvolver aplicaes
nas linguagens apontadas no ponto anterior.
Dois dos principais componentes da .NET Framework so:
.NET Framework Class Library providencia um conjunto de classes,
organizadas numa estrutura hierrquica, que podem ser utilizadas para
desenvolver aplicaes .NET. As classes relacionadas so organizadas em
grupos designados por namespcaces.
.NET Common Language Runtime (CLR) providencia os servios
necessrios (gesto de memria, execuo de cdigo, segurana, etc.) para
executar aplicaes desenvolvidas numa qualquer linguagem .NET. Tambm
fornece o Common Type System, que define os tipos de dados que so
utilizados pelas linguagens .NET.
Todas as linguagens .NET so compiladas para uma linguagem comum intermdia
(IL).
Visual Basic.NET, C1
Slide 1
.NET Framework
.NET Applications
Visual Basic .NET
Visual C# .NET
Other languages
.NET Framework
.NET Framework Class Library
Windows Forms classes
ASP.NET classes
Other classes
Intermediate Language
Visual Basic.NET, C1
Windows XP
Slide 2
Visual Basic.NET, C1
Slide 3
.NET Framework
Integrated
Development
Environment
Visual Basic
compiler
Common
Language
Runtime
Solution
Assembly
Project
Intermediate Language (IL)
Source files
Class references
Visual Basic.NET, C1
Slide 4
Visual Basic.NET, C1
Slide 5
Visual Basic.NET, C1
Slide 6
Introduo programao OO
Visual Basic.NET, C1
Slide 7
Introduo programao OO
Uma classe representa uma estrutura de programao que define as caractersticas
de um objecto. Uma classe uma abstraco do objecto e no o prprio objecto, do
mesmo modo que uma planta uma abstraco de uma casa e no a prpria casa.
Um objecto uma instncia da classe e representa uma unidade que combina
cdigo e dados.
A interface de um objecto consiste num conjunto claramente definido de
propriedades, mtodos e eventos. A este conjunto d-se, comummente, o nome de
membros do objecto.
As propriedades representam as caractersticas de um objecto.
Os mtodos representam as aces que um objecto pode realizar.
Construtor (NEW) encarrega-se de preparar todo o ambiente quando o
objecto criado e carregado na memria.
Destrutor realiza determinadas operaes quando o objecto libertado da
memria.
Os eventos representam sinais aos quais os objectos podem reagir.
Visual Basic.NET, C1
Slide 8
Introduo programao OO
Herana a descrio de uma classe usando propriedades e mtodos de outra(s)
classe(s). A herana acontece quando umaa classe herda caractersticas de outra
classe. A classe da qual se herda chamada de classe-me ou classe base e a classe
que herdou chamada de subclasse ou de classe filha.
A herana pressupe que se possam alterar (override) ou excluir as propriedades ou
mtodos originais, assim como incluir outros.
Note-se que uma subclasse apenas herda as propriedades e mtodos da classe base,
mas no herda os construtores nem os eventos da classe base.
Polimorfismo a capacidade que os objectos tm de responder a uma mensagem
de maneiras diferentes. Isto , atravs do conceito de polimorfismo, possvel que
duas ou mais classes possam definir uma propriedade ou um mtodo com o mesmo
nome, mas com diferentes implementaes. Assim, o procedimento que executado
quando se refere a um membro com esse nome depende da classe que est a ser
utilizada para criar o objecto. O polimorfismo um resultado natural da herana de
classes.
Visual Basic.NET, C1
Slide 9
Introduo programao OO
Encapsulamento proteco que o objecto d s suas propriedades e aos seus
mtodos, de modo a que nenhum agente externo tenha acesso a elas sem as solicitar.
Por outras palavras, o conceito de encapsulamento torna possvel que se possam
esconder alguns dados e operaes (atravs da palavra chave Private) do objecto. O
conceito de encapsulamento permite que se altere o cdigo de uma classe sem
afectar as outras classes que utilizam essa classe. Assim, pode-se pensar numa
classe como uma caixa preta que disponibiliza propriedades e mtodos.
Visual Basic.NET, C1
Slide 10
Procedimentos
Visual Basic.NET, C1
Slide 11
Tipos de dados
Visual Basic.NET, C1
Simples
Estruturados
Definidos pelo Utilizador
Slide 12
Slide 13
Quando um valor numrico convertido para um valor booleano, o valor zero tornase false e todos os outros valores tornam-se true. Quando um valor booleano
convertido para uma valor numrico, um valor false torna-se zero e um valor true
torna-se -1.
Visual Basic.NET, C1
Slide 14
DIM declara uma varivel que pode ser utilizada dentro de um procedimento ou
dentro de parte desse procedimento. Isso determinado pela localizao da
instruo DIM no procedimento.
PRIVATE declara uma varivel que pode ser utilizada pelos procedimentos
dentro de uma classe ou mdulo.
PUBLIC - declara uma varivel que pode ser utilizada por todas as classes e mdulos de
um projecto.
STATIC - declara uma varivel que retm o seu valor de uma execuo de um
procedimento para a outra.
As palavras chave DIM, PRIVATE, PUBLIC STATIC determinam o mbito
da varivel, isto , a parte do cdigo que pode utilizar essa varivel.
Visual Basic.NET, C1
Slide 15
Dim x, y AS Integer
Dim x AS Integer , y AS Integer
Visual Basic.NET, C1
Slide 16
Visual Basic.NET, C1
Slide 17
' Declara uma constante Private Integer -- vlida apenas no seu contexto de declarao
Private Const MeuInt As Integer = 5
Visual Basic.NET, C1
Slide 18
Slide 19
Exemplo
Adio
2+2=4
Subtraco
2-2=0
Multiplicao
2*2=4
Diviso
Parte inteira da
diviso
17 \ 5 = 3
Mod
Resto
da
diviso inteira
Exponenciao
17 Mod 5 = 2
^
Visual Basic.NET, C1
Significado
17 / 5 = 3,4
2^3=8
Slide 20
Operador
Significado
<
Menor que
<=
Menor ou igual a
>
Maior que
>=
Maior ou igual a
Igual a
<>
Diferente de
Visual Basic.NET, C1
Slide 21
Exemplo:
5<4
Vale
False
A interpretao da relao
entre valores depende do seu
tipo de dados.
Visual Basic.NET, C1
Slide 22
Exemplo:
-5 < 2 < 4 < 5
1 < 10 < 1006 < 184 < 2 < 30 < bom < bons
Para entender melhor a ordenao alfanumrica deve-se observar o Unicode
Character Set ou a tabela ASCII.
Visual Basic.NET, C1
Slide 23
Operador
Significado
NOT
negao
And
OR
Slide 24
Significado
Exemplo
&
Concatenao
Concatenao
Exemplo:
20 + 34 vale 2034
e no 54
Visual Basic.NET, C1
Slide 25
Exemplo:
Sabemos
Sabemosda
damatemtica
matemticaque:
que:
2+3*4-5
2+3*4-5equivalente
equivalenteaa22++(3*4)
(3*4)55 eeno
noa(2+3)
a(2+3)**44--55
Slide 26
Visual Basic.NET, C1
Notas:
Os operadores aritmticos tm sempre
precedncia sobre os operadores
relacionais e ambos tm precedncia
sobre os operadores lgicos.
Todos os operadores relacionais tm a
mesma precedncia entre si.
Quando estamos perante operadores
com o mesmo nvel de precedncia eles
devem ser considerados na ordem em
que se apresentam, lendo da esquerda
para a direita.
Slide 27
Exemplo:
2*4/8/5*7
equivalente a
( ( ( 2*4 ) / 8 ) / 5 ) * 7
Quando
queremos
forar
uma
determinada ordem na considerao dos
operadores
de
uma
expresso,
utilizamos parntesis.
Visual Basic.NET, C1
Slide 28
Slide 29
Assim que o valor resultante de uma operao estiver guardado numa varivel, ele pode
ser utilizado em subsequentes expresses, bastando para tal invocar essa varivel.
Visual Basic.NET, C1
Slide 30
Exemplos:
a=4+5
b=2*a+1
Visual Basic.NET, C1
Slide 31
Exemplo
Descrio
Resultado
+=
i += 5
i=i+5
i = 18
-=
i-= 6
i = i -6
i=7
*=
i *= 2
i=i*2
i = 26
\=
i \= 2
i=i \2
i=6
^=
i ^= 2
i = i ^2
i = 169
&=
s &= mundo
s = s & mundo
Ol mundo
Visual Basic.NET, C1
Slide 32
Slide 33
Visual Basic.NET, C1
Slide 34
Slide 35
Estruturas de Controlo
Deciso
ou
Seleco
Condicionais
Alternativas
If-Then-Else
Condicionais
Selectivas
Select Case
Com Contador
For-Next
Do-Loop
Repetio
Visual Basic.NET, C1
Slide 36
Estruturas Condicionais
As estruturas condicionais so utilizadas quando queremos que o
comportamento de uma certa parte do programa esteja dependente de uma
determinada condio.
Estruturas Condicionais Alternativas
Forma mais simples de estrutura condicional
Condies do tipo:
Se...Ento...Seno
Exemplo
Se chover ento vou estudar
Se chover ento vou estudar, seno vou ao cinema
Visual Basic.NET, C1
Slide 37
Estruturas Condicionais
1 linha
termina com
Then
No fim tem
que se colocar
End If
If condio Then
Aco1
[ElseIf Condio Then
Aco2]
[Else
Aco3]
End If
Formas mais
comuns
If condio Then
Aco1
End If
Visual Basic.NET, C1
If condio Then
Aco1
Else
Aco2
End If
Slide 38
If indicam o final da
estrutura de controle If-Then-Else
Portanto, a 1 condio (Number < 10) testada. Se for avaliada como false, a execuo desvia-se imediatamente
para a palavra-chave ElseIf, ponto em que introduzida um nova condio de teste (Number < 100). Se a nova
condio de teste for avaliada como false, a execuo desvia-se para a palavra-chave Else, e a(s) instruo(es) que
est(o) antes da palavra-chave End IF (so) executada(s). Se em qualquer das condies de teste acima referidas o
resultado for true, a(s) instruo(es) que est(o) a seguir e antes da palavra-chave ElseIf ou Else so executadas.
Visual Basic.NET, C1
Slide 39
[Case Else
Aces]
End Select
Visual Basic.NET, C1
Slide 40
Case Else destina-se a indicar o que deve ser executado no caso da expresso indicada
na linha Select Case tomar um valor diferente de qualquer um dos referidos nas linhas
Case. (A sua utilizao opcional)
Visual Basic.NET, C1
Slide 41
Exemplo:
This example uses the Select Case statement to evaluate the value of a variable.
The second Case clause contains the value of the variable being evaluated, and
therefore only the statement associated with it is executed.
Dim Number
Number = 8' Initialize variable.
Select Case Number' Evaluate Number.
Case 1 To 5' Number between 1 and 5.
MsgBox "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8' Number between 6 and 8.
MsgBox "Between 6 and 8"
Case Is > 8 And Number < 11' Number is 9 or 10.
MsgBox "Greater than 8"
Case Else' Other values.
MsgBox "Not between 1 and 10"
End Select
Visual Basic.NET, C1
Slide 42
Visual Basic.NET, C1
Slide 43
Estruturas de Repetio
muito comum que um programa necessite de repetir um determinado conjunto de aces por
um certo nmero de vezes. Conforme esse nmero de vezes seja decido no momento em que se
est a codificar o programa ou dependa de cada execuo particular desse mesmo programa,
optaremos pela estrutura mais adequada.
Um ciclo tem de ter uma forma qualquer de terminar (essa forma depende do tipo
de ciclo). Caso contrrio teramos um ciclo infinito e a execuo do programa ficaria
indefinidamente "pendurada" nesse ciclo.
Visual Basic.NET, C1
Slide 44
Sintaxe:
For varivel_de_iterao [AS Datatype] = valor_ inicial To valor_ final [Step valor_ do_passo]
[aces]
[Exit For]
[aces]
Next [varivel de iterao]
Notar que:
O ciclo For implica a utilizao de uma varivel numrica, chamada de "varivel de iterao"
(varivel_ de_ iterao), que em cada iterao toma um novo valor de acordo com o que se
especificar: comea com o valor valor_ inicial e vai at valor_ final. A varivel no pode ser do tipo
boolean ou do tipo array. Depois de todas aces terem sido executadas, adicionado o valor valor_
do_passo varivel varivel_de_iterao. Neste ponto, todas as aces so executadas de novo e
repete-se tudo de novo at que varivel_de_iterao = valor_ final.
Visual Basic.NET, C1
Slide 45
Visual Basic.NET, C1
Slide 46
Exemplo:
This example uses the For...Next statement to create a string that contains 10 instances of the numbers 0 through 9, each string
separated from the other by a single space. The outer loop uses a loop counter variable that is decremented each time through the
loop.
Sub CicloFor()
Dim Words, Chars AS short
Dim MyString as string
For Words = 10 To 1 Step -1 ' Set up 10 repetitions.
For Chars = 0 To 9 ' Set up 10 repetitions.
MyString = MyString & Chars ' Append number to string.
Next Chars ' Increment counter
MyString = MyString & " " ' Append a space.
Next Words
MesageBox.Show (MyString = & MyString)
End Sub
Visual Basic.NET, C1
Slide 47
Testes no Incio
Testes no Fim
nenhuma vez
uma vez
Visual Basic.NET, C1
Slide 48
Sintaxe:
Do [{While | Until} condio]
[aces]
[Exit Do]
[aces]
Loop
Ou
Do
[aces]
[Exit Do]
[aces]
Loop [{While | Until} condio]
Quando a condio
for Falsa, sai do ciclo
Slide 49
Visual Basic.NET, C1
Slide 50
Exemplo:
This example shows how Do...Loop statements can be used. The inner Do...Loop statement loops 10 times, sets the value of
the flag to False, and exits prematurely using the Exit Do statement. The outer loop exits immediately upon checking the
value of the flag.
Sub Ciclos()
Dim Check As Boolean, Counter As Short
Check = True: Counter = 0' Initialize variables.
Do' Outer loop.
Do While Counter < 20' Inner loop.
Counter = Counter + 1' Increment Counter.
If Counter = 10 Then' If condition is True.
Check = False' Set value of flag to False.
Exit Do' Exit inner loop.
End If
Loop
Loop Until Check = False' Exit outer loop immediately.
MessageBox.show( "Counter = " & Counter & "; Check = " & Check)
End Sub
Slide 51
Sintaxe
Tipo de dados do
valor a devolver.
Visual Basic.NET, C1
Tm que ser do
mesmo tipo!
Slide 52
Slide 53
Slide 54
Note-se que para chamar um procedimento Sub pode-se utilizar apenas o nome
do procedimento, omitindo a palavra-chave Call.
Para chamar um procedimento Function utiliza-se normalmente o nome do
procedimento como parte de uma expresso numa instruo de atribuio.
Visual Basic.NET, C1
Slide 55
Exemplos:
Sub Area()
Dim Comp As Decimal
Dim Larg As Decimal
Comp = 10
Larg = 20
Me.CalculaArea (Comp, Larg)
End Sub
Definio do
Procedimento
CalculaArea
200
Visual Basic.NET, C1
Slide 56
Exemplos:
Sub Multiplicar()
Dim Var1 As Short
A instruo em que feita uma
Dim Var2 As Short
atribuio ao nome da funo especifica
Dim Var3 As Short
o valor de retorno da funo
Var1 = 5
Var2 = 10
Var3 = Multiplica(Var1, Var2) Chamada da Funo Multiplica
MessageBox.Show (Var3 = & Var3)
End Sub
Funo que devolve o produto de dois
argumentos
Function Multiplica(Var1 As short, Var2 As Short) As Short
Multiplica = Var1 * Var2
Definio da Funo
End Function
Multiplica
50
Visual Basic.NET, C1
Slide 57
Argumentos
Exemplo:
Sub Subtrai ( x1 As Integer, x2 As Integer)
MessageBox.Show (R = , & x1 x2)
End Sub
Este procedimento no pode ser executado s por si, j que s funciona se lhe forem
passados dois argumentos (neste caso dois inteiros). Logo, temos de o chamar a partir de
outro procedimento onde lhe possamos fornecer esses valores.
Os argumentos declarados passam a funcionar, dentro do procedimento, como
variveis.
Estes Valores tm de ser do
mesmo Tipo do Argumento
correspondente na definio do
procedimento a ser chamado!
Sub FazContas ()
Me.Subtrai (5, 6)
Me.Subtrai (25,12)
End Sub
Visual Basic.NET, C1
Na chamada do Procedimento
Slide 58
Argumentos
Notas:
Para chamar o procedimento Subtrai, indicamos uma lista de valores
correspondentes a cada um dos argumentos, separados por virgulas.
Uma vez concluda a execuo do procedimento Subtrai (com estes
argumentos), o controlo devolvido ao procedimento Fazcontas. Depois
executada a instruo seguinte chamada do procedimento Subtrai.
muito importante a ordem pela qual os argumentos so passados. O
primeiro argumento dado vai corresponder ao primeiro argumento recebido e
assim sucessivamente. Me.Subtrai 5, 6 diferente de Me.Subtrai 6,5.
Visual Basic.NET, C1
Slide 59
No exemplo anterior apresentmos sempre constantes como argumentos. No entanto, podemos tambm apresentar variveis ou
mesmo expresses, desde que o seu tipo seja compatvel com o tipo do argumento correspondente no procedimento chamado.
A regra continua a ser a mesma: aquilo que for apresentado como primeiro argumento a passar vai ser usado como o primeiro
argumento no procedimento chamado e assim sucessivamente.
Exemplo:
Sub FazContas ()
Dim x As Short, y As Short
x=5
y=6
Me.Subtrai (x, y)
Me.Subtrai (x + y, 2 * x)
End Sub
-1
Esta chamada vai provocar a execuo do procedimento
Subtrai usando o valor de x + y como primeiro argumento
e o valor de 2 * x como o segundo argumento.
Visual Basic.NET, C1
Slide 60
No existe qualquer relao entre o nome dos argumentos do procedimento chamado e o nome dos
argumentos usados na chamada. Ou seja, o facto de termos dado os nomes x1 e x2 aos argumentos do
procedimento Subtrai (na sua definio) no quer de forma alguma dizer que este procedimento s possa ser
chamado com variveis que tenham esse mesmo nome! O VB encarrega-se de fazer as necessrias
correspondncias.
Em geral, quando se passam argumentos a um procedimento, o VB trata de adequar cada um deles aos
que se encontram descritos na definio do dito procedimento. A adequao feita respeitando a sequncia
em que os argumentos so representados. Assim, o primeiro argumento declarado na definio do procedimento
vai tomar o valor do primeiro argumento apresentado nessa chamada do procedimento; o segundo argumento
declarado na definio do procedimento vai tomar o valor do segundo argumento apresentado nessa chamada do
procedimento; e assim sucessivamente para cada um dos argumentos.
Sub Exemplo ( v As Integer, msg1 As String, msg2 As String)
....
End sub
Dentro de outro procedimento
S = Ol
Me.Exemplo (3, s, Bom dia)
Visual Basic.NET, C1
Slide 61
Slide 62
Exemplo:
A = 5; B = 0
Visual Basic.NET, C1
Slide 63
Notas:
Por defeito, O VB .NET faz as passagens de argumentos por valor ou seja,
quando no se indica ByRef ou ByVal assumido ByVal.
A deciso entre os dois tipos de passagem (para cada argumento) tomada
aquando da definio de cada procedimento. Na chamada dos procedimentos
tudo o que temos que fazer sujeitarmo-nos forma como o procedimento foi
definido.
Quando desejarmos que uma varivel apresentada como argumento (numa
chamada) sofra alteraes dentro do procedimento chamado, temos de usar uma
passagem por referncia. Quando apenas queremos passar o seu valor para o
procedimento chamado, utilizamos uma passagem por valor.
Visual Basic.NET, C1
Slide 64
Slide 65
Slide 66
Dim d () As Decimal
Apesar de ter sido sempre utilizada a instruo Dim pode ser usada qualquer instruo
admissvel para a declarao de variveis.
Visual Basic.NET, C1
Slide 67
Slide 68
Podemos pensar num array de duas dimenses como sendo uma tabela constituda
por linhas e colunas.
limitesuperior1 e limitesuperior2 comeam em zero e representam os limites
superiores da dimenso 1 e da dimenso 2 do array, respectivamente.
Um array em VB pode ter at 60 dimenses, embora raramente se trabalhe acima
das 3 dimenses.
tambm possvel no especificar o limitesuperior1 e o limitesuperior2 no
momento da declarao do array. Todavia, tem que se manter a vrgula entre os
parnteses, de modo a indicar a dimenso do array.
Visual Basic.NET, C1
Slide 69
Equivalente a:
Dim s(2,1) As String
s(0,0) = Pedro
s(0,1) = Sousa
s(1,0) = Ana
s(1,1) = Pinto
s(2,0) = Mrio
s(2,1) = Silva
Visual Basic.NET, C1
Slide 70
Slide 71
ReDim a (6)
ReDim s (3,3)
Visual Basic.NET, C1
Slide 72
Slide 73