Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Apostila VBNET, Notas de estudo de Eletromecânica

apostila vbnet

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 26/06/2009

aline-ss-11
aline-ss-11 🇧🇷

4.8

(59)

33 documentos

1 / 33

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIANCHIETA
Ambiente de Programação I
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Pré-visualização parcial do texto

Baixe Apostila VBNET e outras Notas de estudo em PDF para Eletromecânica, somente na Docsity!

UNIANCHIETA

Ambiente de Programação I

1 - .NET Framework

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.

Common Language Runtime (CLR)

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.

Arquitetura .NET

Linguagens de Programação (VB.NET, C#, etc)

Base Class Library

Common Language Runtime

Common Type System Common Language Specification

.NET Base Class Library

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.

Linguagens e o .NET Framework

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.

  • Pré-JIT: Compila de uma só vez todo o código da aplicação .NET que está sendo executada e o armazena no cache para uso posterior.
  • Exono-JIT: Este tipo de compilador é usado em dispositivos como hand-helds onde a memória é um recurso precioso. Sendo assim, o código é compilado sob demanda, e a memória alocada que não está em uso é liberada quando o dispositivo assim o requer.
  • Normal-JIT: O Normal-JIT compila o código sob demanda e coloca o código resultante no cache, de forma que esse código não precise ser recompilado quando houver uma nova invocação do mesmo método.

Gerenciamento da memória - Garbage Collection (GC)

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.

2 - Orientação a Objetos

Classes

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.

Objetos e Membros

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.

Agregação

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.

Encapsulamento

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.

3 - Variáveis

As Características de uma Variável

Para darmos nomes a uma variável é necessário seguir algumas regras básicas:

  1. Sempre iniciar com letras (A até Z). Não use números ou símbolos para iniciar o nome de uma variável.
  2. Na composição do nome não podemos usar espaço em branco, sinal de hífen, símbolos como @#*&^$% ou sinais de pontuação.
  3. Cuidado para não usar nomes reservados pela linguagem. Exemplo: If, Caption, Name, Sub, End, etc.

O Comando Dim

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)

4 - Operadores

Operadores Matemáticos

Estes tipos de operadores possuem a finalidade de efetuar cálculos.

Operador Descrição Exemplo

  • Soma var = 18+
  • Subtração var = 18-
  • Multiplicação var = 18* / Divisão var = 18/ \ Divisão. Resultado será um número inteiro var = 18
    ^ Exponenciação var = 18^ Mod Resto da Divisão var = 18 Mod 5 & Concatenador de String “ca” & “ju” = “caju”

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.

Operadores Relacionais

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”

Operadores Lógicos

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.

Clausula If ...Then ...Else

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:

If condição Then comando1 Else comando2 - Uma linha

ou

If condição Then

Bloco de Comandos1 - Bloco

Else

Bloco de Comandos2 - Bloco

End If

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.

Clausula ElseIf

If condição1 Then

Bloco de Comandos

ElseIf condição2 Then

Bloco de Comandos

Else

Bloco de Comandos

End If

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.

Cláusula Select Case

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

Uso de Operadores

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 <> ... NEXT (Faça de número inicial até número final)

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.

STEP

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

  • Exit Sub : Força a saída da Sub. Quando a execução do programa encontra este comando, transfere o controle do programa para a linha seguinte que chamou a rotina.
  • Exit Function : Força a saída da função. Quando a execução do programa encontra este comando, transfere o controle do programa para a linha seguinte que chamou a rotina.
  • Exit Do : Força a saída de um LOOP, seja WHILE ou UNTIL, mesmo que a condição estabelecida não seja verdadeira:

Dim Contador as Short = 0 Do While Contador < 10 Contador = Contador + 1 if Contador = 5 then Exit Do end if Loop

  • Exit For: Força a saída de um FOR..NEXT, mesmo que o número final não tenha sido alcançado.

Dim Contador as Short For Contador = 1 to 10 If Contador = 6 Then Exit For end if Next