

























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
apostila vbnet
Tipologia: Notas de estudo
1 / 33
Esta página não é visível na pré-visualização
Não perca as partes importantes!
O .NET Framework possui dois componentes principais: o Common Language Runtime (CLR) e o .NET Base Class Library.
A figura a seguir exemplifica a estrutura do .Net Framework.
O CLR gerencia a execução do código. Ele é responsável pela compilação do código, alocação e gerenciamento de memória (Garbage Collection) e gerenciamento de thread.
O gerenciamento de memória feito pelo CRL torna os programas menos susceptíveis a erros. Como o próprio nome diz o CRL é compartilhado e, portanto, não temos um runtime específico para cada linguagem.
Common Type System (CTS)
O Common Type System (CTS) que também faz parte do CRL, define os tipos suportados pelo .NET e suas características. Cada linguagem que suporta .NET tem de necessariamente, suportar esses tipos.
Common Language Specification (CLS)
O CLS, ou Especificação Comum da Linguagem, define um conjunto de regras que qualquer linguagem que implemente a .NET deve seguir a fim de que o código gerado resultante da compilação de um programa, seja entendido pelo runtime .NET. Seguir essas regras é um imperativo porque, caso contrário, um dos grandes ganhos do .NET, que é a independência da linguagem de programação e a sua interoperabilidade, fica comprometido.
A grosso modo, dizer que uma linguagem é compatível com o CLS significa dizer que mesmo quando esta é sintaticamente diferente de qualquer outra que implemente .NET, semanticamente ela é igual, porque na hora da compilação será gerado um código intermediário (e não código em linguagem de máquina dependente da arquitetura do processador) equivalente para duas peças de código iguais, porém escritas em linguagens diferentes. É importante entender esse conceito para não pensar que o código desenvolvido em C# não pode interagir com código desenvolvido em VB ou outras linguagens, porque mesmo estas sendo diferentes, todas são compatíveis com o CLS.
Linguagens de Programação (VB.NET, C#, etc)
Base Class Library
Common Language Runtime
Common Type System Common Language Specification
A .NET Base Class Library fornece uma coleção de classe úteis e reutilizáveis. Elas são orientadas a objetos e totalmente extensíveis e podem ser facilmente integrados às suas aplicações desenvolvidas em .NET Framework.
A Base Class Library é organizada dentro de “ namespaces ”. Um namespace é um agrupamento lógico de classes relacionadas. Os namespaces são organizados hierarquicamente sendo que a raiz é o namespace System.
A tabela a seguir apresenta exemplos dos principais namespaces :
Alguns namespaces. NET System Contém algumas classes de baixo nível usadas para trabalhar com tipos de dados primitivos. É a raiz para todos os namespaces da Base Class Library. System.Collections Implementações prontas de pilhas, filas, listas encadeadas. System.Data Aqui você vai encontrar tudo o que é necessário para lidar com bases de dados. É aqui se encontra o ADO.NET. System.Drawing O .NET oferece uma biblioteca de componentes para trabalhar com gráficos, chamada GDI+, que se encontra neste namespace. System.IO Biblioteca par lidar com leitura, gravação e gerenciamento de arquivos. System.Math Local onde se encontram funções matemáticas. System.NET Aqui você encontra bibliotecas para programação de redes, sockets , etc. System.Reflection Em .NET você pode gerar códigos em tempo de execução, descobrir tipos de variáveis etc. As bibliotecas necessárias para isso encontram-se neste namespace. System.Runtime Fornecem bibliotecas para interagir com código não-gerenciado. System.Security Contém suporte a criptografia, permissões e segurança. System.Threading Biblioteca necessária para o desenvolvimento de aplicações multithread. System.Web ASP.NET, Web Services e tudo o que tenha a ver com Web pode ser encontrado aqui. System.Windows.Forms Bibliotecas para o desenvolvimento de aplicações Windows tradicionais. System.XML Bibliotecas que permitem a interação com documentos XML.
Quando uma aplicação .NET é compilada, ela é convertida para a Microsoft Intermediate Language (MSIL).
A MSIL é uma linguagem de baixo nível que a CLR (Common Language Runtime) pode ler e entender. Como todas as DLLs e Executáveis estão na forma de MSIL, eles podem interagir entre si, independente da linguagem em que foram desenvolvidas inicialmente.
A Common Language Specification (CLS) define os padrões que devem ser seguidos por uma linguagem que faça parte do .NET Framework.
de uma DLL ou de um arquivo executável. Isso é conhecido como Executável Portável ( Portable Executable ) ou simplesmente PE. Diz-se portável porque ele poderá ser executado em qualquer plataforma que suporte .NET, sem necessidade de recompilação, operação que será efetuada automaticamente pelo runtime quando da execução da aplicação.
Compilação JIT (“Just in Time”)
Um compilador JIT, também conhecido como JITTER, converte instruções MSIL para instruções específicas da arquitetura do processador onde a aplicação .NET está sendo executada.
O gerenciamento da memória é efetuado pelo runtime , permitindo que o desenvolvedor se concentre na resolução do seu problema específico. O que diz respeito ao sistema operacional, como o gerenciamento da memória, é feito pelo runtime.
Como isso é efetuado? À medida que uma área de memória é necessária para alocar um objeto, o GC ou coletor de lixo ( Garbage Collection ) realizará essa tarefa, assim como a liberação de espaços de memória que não estiverem mais em uso.
Uma classe descreve um grupo de objetos com propriedades semelhantes (atributo), o mesmo comportamento (métodos), os mesmos relacionamentos com outros objetos e a mesma semântica. Pessoa, empresa, animal, processo e janela são classes de objetos.
A Classe é a abstração de um objeto.
Um objeto é a instanciação de uma classe.
Objetos são compostos de Membros. Membros são Propriedades, Campos, Métodos e Eventos e eles representam dados e funcionalidades de um objeto.
Campos e Propriedades representam dados de um objeto. Métodos são as ações que um objeto pode desempenhar e E ventos são notificações que um objeto recebe ou envia para outros objetos quando atividades acontecem na aplicação.
Considerando o exemplo de um objeto carro, ele pode ter propriedades como: cor, fabricante, modelo, ano e assim por diante. Essas propriedades descrevem o estado do objeto. Um objeto carro pode possuir diversos métodos, como acelerar, brecar, virar, etc. Os métodos representam comportamentos que um objeto pode representar. E eventos representam notificações. Por exemplo, um objeto carro poder gerar um evento batida quando interage com um objeto árvore.
Um modelo de objeto é uma organização hierárquica com objetos subordinados a um objeto principal.
Para ilustrar vamos retornar ao exemplo do objeto carro. Um objeto carro pode conter: um objeto motor, 4 objetos rodas e assim por diante. A composição desses objetos subordinados afeta diretamente as funções e as regras do objeto carro. Por exemplo, se a propriedade cilindro do objeto motor por igual a 4, este carro terá um comportamento diferente de outro carro cuja a propriedade cilindro do motor for igual a 8.
O .NET Framework utiliza-se do conceito de agregação em vários objetos presentes no Windows Forms. Por exemplo: o objeto TextBox possui a propriedade Fonte que consiste no objeto Fonte. Um objeto Form pode conter uma coleção de outros objetos, como caixas de texto, checagem, seleção, etc.
Objetos podem interagir uns com outros através das propriedades, métodos e eventos públicos. Porém, um objeto não necessita saber a implementação de um método público de outro objeto para acioná- lo. Basta saber que ele existe e que pode ser acionado.
Por exemplo, um objeto carro possui os métodos AndarParaFrente , AndarParaTrás e Parar. Porém um objeto Motorista pode se utilizar desses métodos sem saber o que o objeto Carro faz internamente para que esses métodos funcionem.
A isso, damos o nome de Encapsulamento.
Para darmos nomes a uma variável é necessário seguir algumas regras básicas:
Comando utilizado para declaração de variáveis.
Sintaxe: Dim NomeDaVariável As TipoDeVariável
Exemplo:
Dim valor As Integer Dim nome As String
Tipos de Dados
Tipo do Visual Basic Tipo no Common Language Runtime
Espaço para Alocação
Intervalo de Valor
Boolean Boolean 2 bytes. True ou False Byte Byte 1 byte 0 a 255 (valores positivos) Char (caracter único) Char 2 bytes 0 a 65535 (valores positivos) Date DateTime 8 bytes 0:00:00 (meia noite) de 1 de Janeiro de 0001 às 23:59:59 de 31 de Dezembro de 9999 Decimal Decimal 16 bytes 0 a +/- 79.228.162.514.264.337.593.543.950. (+/-7,9...E+28) †^ sem casas decimais; E de 0 à +/-7, com 28 casas decimais à direita; Número mais próximo de zero +/- 0,0000000000000000000000000001 (+/- 1E-28) † Double (ponto flutuante de dupla precisão)
Double 8 bytes -1,79769313486231570E+308 a - 4,94065645841246544E-324 †^ para valores negativos; 4,94065645841246544E-324 a 1,79769313486231570E+308 †^ para valores positivos Integer Int32 4 bytes -2.147.483.648 à 2.147.483. Long (inteiro longo) Int64 8 bytes -9.223.372.036.854.775.808 à 9.223.372.036.854.775.807 (9,2...E+18 †) Object Object (class) 4 bytes em plataforma 32-bit e 8 bytes em plataforma 64-bit
Qualquer tipo pode ser armazenado numa variável do tipo Object.
SByte SByte 1 byte -128 a 127 (signed) Short (inteiro curto) Int16 2 bytes -32.768 a 32. Single (ponto flutuante de precisão simples)
Single 4 bytes -3,4028235E+38 a -1,401298E-45 †^ para valores negativos; 1,401298E-45 a 3,4028235E+38 †^ para valores positivos String (tamanho variável)
String (class) Varia de acordo com a plataforma.
0 a aproximadamente 2 bilhões de caracteres Unicode UInteger UInt32 4 bytes 0 a 4.294.967.295 (somente valores positivos) ULong UInt64 8 bytes 0 a 18.446.744.073.709.551. (1,8...E+19 †) (somente valores positivos) User-Defined (Estrutura)
(Herança de ValueType)
Varia de acordo com a plataforma.
Cada membro da estrutura tem um intervalo determinado por seu tipo de dado. UShort UInt16 2 bytes 0 a 65.535 (somente valores positivos)
Estes tipos de operadores possuem a finalidade de efetuar cálculos.
Operador Descrição Exemplo
Esses operadores respeitam uma ordem de precedência universal:
1ª. Exponenciação 2ª. Multiplicação e Divisão 3ª. Adição e Subtração
O calculo: 3+42^2/4-1+5 resultará em 11. Se por algum motivo precisarmos que o programa efetue primeiro a soma, então devemos colocá-la entre parênteses: (3+4)2^2/4-(1+5) = 1. Usamos os parênteses para mudar a ordem de precedência dos operadores.
Estes operadores fazem comparações entre variáveis ou expressões. O retorno desta comparação será sempre um valor booleano ( True ou False ). Nos exemplos abaixo todas as comparações serão verdadeiras.
Operador Descrição Exemplo < Menor 3 < 5
Maior 5 > 3 <= Menor ou Igual 3 <= 5 = Maior ou Igual 5 >= 3 = Igual 5 = 5 <> Diferente “a” <> “A”
Os operadores lógicos também retornam valores booleanos (True ou False).
And : Usamos quando precisamos comparar duas relações e ambas tem que ser verdadeira.
20 > 10 and 5 = 5
O Resultado será verdadeiro ( True ). 20 é maior que 10 e 5 é igual a 5.
Já em:
20 > 10 and 5 = 4
O Resultado será falso (False). 20 é maior que 10 mas 5 não é igual a 4. Somente 1 das duas expressões é verdadeira.
Or : Usamos quando precisamos comparar dois relacionamentos e pelo menos um deve ser verdadeiro ( ou um ou outro ).
20 < 10 Or 5 > 4
O resultado será verdadeiro. 20 não é menor que 10, mas 5 é maior que 4.
20 < 10 Or 4 > 5
O resultado será falso. 20 não é menor que 10 e nem 4 é maior que 5.
Not : É um operador que inverte o resultado, passando algo que seria verdadeiro para falso e vice- versa. Not(10 > 5)
O resultado será falso. 10 é maior que 5. Seria Verdadeira a comparação, mas como possui o Not ele inverte o resultado.
Xor : Ou exclusivo. Para ser verdadeiro, ou é uma coisa ou outra, nunca dois resutados iguais.
8 > 10 Xor 8 > 6
Retorna verdadeiro, pois o resultado das duas comparações foram diferentes. A primeira é falsa e a segunda é verdadeira.
8 > 10 Xor 6 > 8
Retorna falso, pois o resultado das duas comparações foram semelhantes. A primeira é falsa e a segunda também.
10 > 8 Xor 8 > 6
Retorna falso, pois o resultado das duas comparações foram semelhantes. A primeira é verdadeira e a segunda também.
Eqv : Abreviatura de Equivalente. Faz uma equivalência lógica entre duas expressões.
10 > 8 Eqv 8 > 6
Retorna verdadeiro, pois ambas comparações são iguais.
8 > 10 Eqv 8 > 6
Retorna falso, pois as comparações retornam valores diferentes.
Imp : Abreviatura de Implicação (uma coisa implica em outra). O resultado será False somente se a primeira comparação for True e a segunda for False. Nos outros casos o resultado será sempre True. Este operador é o único onde a ordem dos operadores faz diferença. 10 > 8 Imp 6 > 8 - Retorna Falso, pois a primeira comparação é Verdadeira e a segunda é Falsa.
10 > 8 Imp 8 > 6 - Retorna Verdadeiro.
8 > 10 Imp 6 > 8 - Retorna Verdadeiro.
Traduzindo: IF = Se, THEN = Então, ELSE = Senão, END IF = Fim do Comando Se. Esta estrutura também pode ser usado em uma linha simples ou em estrutura de bloco, como mostram os exemplos abaixo:
ou
O comando ELSE, que é sempre executado quando a condição inicial não é verdadeira.
Dim Numero as Integer Numero = Convert.ToInt32(txtNumero.Text) If Numero < 20 Then MessageBox.Show(“Número é menor que 20”) Else MessageBox.Show(“Número é maior ou igual a 20”) End If
O programa verifica: Se o número for menor que 20 exibe a mensagem: “Número é menor que 20”, senão, exibe “Número é maior ou igual a 20”.
Lembre-se: Sempre que usar o comando IF é necessário usar o comando THEN após a condição.
Traduzindo: IF = Se, THEN = Então, ELSEIF = Senão se, END IF = Fim do Comando Se.
Utilizamos o comando ELSEIF ao invés de ELSE sempre que existam mais de duas condições a serem analisadas.
Dim Numero as Integer Numero = Convert.ToInt32(txtNumero.Text)
If Numero < 20 Then MessageBox.Show(“Número é menor que 20”) ElseIf Numero = 20 Then MessageBox.Show(“Número é igual a 20”) Else MessageBox.Show(“Número é maior que 20”) End If
O código anterior verifica se o contador é menor que 20. Se não for verifica se é então igual a 20, senão irá avisar que contador é maior que 20.
A vantagem de se utilizar a clausula Select Case ao invés de inúmeros Ifs e ElseIfs é que a clausula Select Case economiza a digitação e deixa o código mais claro.
Veja a estrutura do comando:
Select Case Opcao Case 1 MessageBox.Show(“Opção 1 acionada.”) Case 2 MessageBox.Show(“Opção 2 acionada.”) Case 3 MessageBox.Show(“Opção 3 acionada.”) Case Else MessageBox.Show(“Nenhuma das opções selecionadas!”) End Select
Note que este comando verifica se a Opção é igual a 1, se não for, verifica se é igual a 2 e depois se é igual a 3. Caso a variável Opção não seja 1, 2 ou 3 então o comando CASE ELSE é acionado.
O comando CASE ELSE é opcional, ou seja, não é necessário ser colocado em um Select Case. Se ele não estiver presente e nenhuma das opções for a correta, então o Select Case será encerrado.
O comando Case pode avaliar seqüências. Estas devem ser separadas por vírgulas. Exemplo:
Case 2, 4, 6
Ou seja, se a condição for 2, 4, ou 6 ele processará esta clausula.
No comando Case podemos usar também intervalos, como por exemplo:
Case 2 to 4
Ou seja, caso a condição esteja entre 2 e 4.
Caso queira que na verificação da condição seja avaliado se a variável é maior ou menor que determinada expressão, usamos:
Case Is > 50
As clausulas If e Select Case permitem o uso de operadores relacionais ( >,>=, <, <=, <> e = ).
Já os operadores lógicos só podem ser usados na clausula If e servem para que duas ou mais comparações possam ser avaliadas. Os operadores lógicos mais utilizados são: And , Or e Not.
Semelhante ao DO WHILE, dependendo do resultado da condição os comandos existentes dentro da estrutura podem não serem executados, passando direto para a linha após o comando LOOP.
DO ... LOOP UNTIL <<Condição>> ( Repita até que )
O Comando DO abre a seqüência de repetição, mas não faz nenhum teste de condição. Este teste é feito no final da estrutura com o comando LOOP UNTIL, ou seja, obrigatoriamente as instruções contidas após o comando DO serão executadas.
Dim Contador as Short = 0
Do Contador = Contador + 1 Loop Until Contador >= 10
FOR <
O comando FOR faz uma contagem de um determinado intervalo de números. Diferentemente dos demais comandos de repetição, no For o contador não precisa ser incrementado manualmente. Ao passar pela clausula Next, ele é incrementado automaticamente. Exemplo:
Dim cont as short
For cont = 1 to 10 MessageBox.Show(“A variável Contador agora vale “ & cont.ToString()) Next
Neste código, o comando FOR avisa que a variável contador será iniciada com o valor 1. As instruções contidas na linha abaixo são executadas, e quando o comando NEXT é encontrado a execução volta para o FOR, e a variável Contador é incrementada em mais um e assim por diante. Quando Contador for maior que 10 a estrutura FOR/NEXT é desfeita.
Usamos o STEP em conjunto com o FOR para alterar o valor com que uma variável é incrementada. Exemplo: Se quisermos que o comando conte de 2 em 2 colocamos FOR Variável = 1 TO 10 STEP 2.
Exemplo, para exibir os valores impares de 1 a 10 podemos fazer:
Dim Contador as Short
For Contador = 1 to 10 Step 2 MessageBox.Show(Contador.ToString()) Next
Podemos usar a Clausula Step para gerar valores decrescentes. Exemplo:
Dim Contador as Short
For Contador = 5 to 0 Step - MessageBox.Show(Contador.ToString()) Next
Faça até que o Contador seja maior ou igual a 10.
Conte de 1 até 10
Este código exibirá mensagens com os números 1, 3, 5, 7 e 9.
Este código exibirá mensagens com os números 5, 4, 3, 2, 1 e 0.
EXIT <
Dim Contador as Short = 0 Do While Contador < 10 Contador = Contador + 1 if Contador = 5 then Exit Do end if Loop
Dim Contador as Short For Contador = 1 to 10 If Contador = 6 Then Exit For end if Next