Difference between revisions of "Equipe Cão-Cão"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(Arquivos)
(Aplicação Console)
 
(8 intermediate revisions by the same user not shown)
Line 315: Line 315:
  
 
Para acessar arquivos, usamos o namespace System.IO.File
 
Para acessar arquivos, usamos o namespace System.IO.File
 +
  
 
Metodos de System.IO.File
 
Metodos de System.IO.File
Line 320: Line 321:
 
- AppendText  Cria um  StreamWriter anexa texto UTF-8 a um arquivo existente.
 
- AppendText  Cria um  StreamWriter anexa texto UTF-8 a um arquivo existente.
  
- Copy Overloaded. Copia um arquivo existente para um novo arquivo.
+
- Copy Copia um arquivo existente para um novo arquivo.
  
- Create Overloaded. Cria um arquivo no diretório especificado.
+
- Create Cria um arquivo no diretório especificado.
  
 
- CreateText Cria ou abre um novo arquivo para escrita.
 
- CreateText Cria ou abre um novo arquivo para escrita.
Line 340: Line 341:
 
- Move Move um arquivo definido para um novo local.
 
- Move Move um arquivo definido para um novo local.
  
- Open Overloaded. Abre um FileStream no caminho indicado.
+
- Open Abre um FileStream no caminho indicado.
  
 
- OpenRead Abre um arquivo para leitura.
 
- OpenRead Abre um arquivo para leitura.
Line 347: Line 348:
  
 
- OpenWrite Abre um arquivo existente para escrita.
 
- OpenWrite Abre um arquivo existente para escrita.
 +
  
 
Para ler e escrever usamos os objetos StreamWriter e StreamReader, de System.IO
 
Para ler e escrever usamos os objetos StreamWriter e StreamReader, de System.IO
  
Lendo arquivos texto:
+
=== Lendo arquivos texto ===
  
 
   Dim nomeArq as String
 
   Dim nomeArq as String
Line 369: Line 371:
 
End Sub
 
End Sub
  
Escrevendo em arquivos texto
+
=== Escrevendo em arquivos texto ===
  
 
   Dim nomeArq As String
 
   Dim nomeArq As String
Line 447: Line 449:
  
 
É possível criar suas próprias exceções, herdando da classe Exception.
 
É possível criar suas próprias exceções, herdando da classe Exception.
 +
 +
== Aplicação Console ==
 +
 +
Uma aplicação console é executada através da chamada da sub-rotina Main()
 +
 +
  Imports System
 +
  Module HelloWorld
 +
      Public Sub Main()
 +
        Console.WriteLine("Olá Mundo")
 +
      End Sub
 +
  End Module
 +
 +
== Aplicativo Windows Forms ==
 +
 +
Um aplicativo com interface de usuario do Windows Forms
 +
 +
A execução desse tipo de aplicativo é feita através do evento Load do 'Form' que inicializa o aplicativo.
 +
 +
'Seja HelloWorld o nome do Form de inicialização do aplicativo.
 +
 +
  Public Class HelloWorld
 +
      Private Sub HelloWorld_Load(ByVal sender As System.Object,_
 +
                                  ByVal e As System.EventArgs)  Handles MyBase.Load
 +
        '
 +
        'codigo a ser executado, ao iniciar o aplicativo
 +
        '
 +
      End Sub
 +
  End Class
  
 
= Suporte a Banco de Dados (ADO .NET) =
 
= Suporte a Banco de Dados (ADO .NET) =
Line 459: Line 489:
  
  
= Acesso a dispositivos externos (impressoras, scanners, etc) (FALTANDO) =
+
= Acesso a dispositivos externos (impressoras, scanners, etc) =
  
 
== Impressão ==
 
== Impressão ==
  
 
Pode ser feita através das classes disponíveis em System.Drawing.Printing
 
Pode ser feita através das classes disponíveis em System.Drawing.Printing
 
  
 
= Interação com outras linguagens =
 
= Interação com outras linguagens =
Line 523: Line 552:
 
= IDE's =
 
= IDE's =
 
* Visual Studio 2008  
 
* Visual Studio 2008  
* Visual Studio Express 2008
+
* Visual Basic .Net Express 2008 Edition
 
+
* MonoDevelop
= Padronização da Linguagem (ANSI/ISO) (FALTANDO) =
+
* item 10
+
  
 +
= Padronização da Linguagem (ANSI/ISO) =
  
 
= Referências =
 
= Referências =

Latest revision as of 01:00, 7 October 2008

Visual Basic .NET

Visual Basic

"Visual Basic 2008 é uma evolução da linguagem Visual Basic que foi projetada e produtivamente desenvolvida para aplicações seguras e orientadas a objetos. Visual Basic permite desenvolvimentos para Desktop, Web e aplicações móveis. Da mesma maneira que todas as linguagens cujo alvo são os framewoks Microsoft .NET, programas escritos em Visual Basic beneficiam por sua segurança e a interoperabilidade da linguagem."

http://msdn.microsoft.com/en-us/library/2x7h1hfk.aspx


"Visual Basic .NET (VB.NET) é uma linguagem de computador orientada a objetos que pode ser vista como uma evolução do Microsoft Visual Basic (VB) implementado no framework Microsoft .NET."

http://en.wikipedia.org/wiki/Visual_Basic_.NET

Histórico da linguagem

O Inicio de tudo: Basic.

"A linguagem Basic, que quer dizer "Beginner's All Purpose Symbolic Instruction Code", ou Código de instrução simbólico de uso genérico para principiantes, foi criada em 1964 por John Kemmeny e Tom Kurtz, dois professores universitários americanos Querendo tornar o computador mais acessível aos estudantes, construíram um código com palavras de uso comum em inglês. Surgiu assim o método interativo. Isso significa que o computador responde direta e imediatamente às perguntas do usuário, assim como uma pessoa que conversa com outra. Dois funcionários da empresa MITS, Bill Gates e Paul Allen, incrementaram o Basic, que passou a fazer parte do conjunto do micro, ou seja, era só ligar na tomada e usar."

http://super.abril.com.br/superarquivo/1989/conteudo_111537.shtml


Evoluindo: Visual Basic.

Quando o Windows se tornou padrão, pensava-se que a programação para este ambiente só seria possível com linguagens como C, sendo impossível alguma pessoa com pouca experiência fazer um programa por mais simples que fosse. A solução encontrada para essa questão surgiu em 1991, quando a Microsoft lançou o VISUAL BASIC, como um novo BASIC, não mais aquele confuso, mas um estruturado e bem mais poderoso com a combinação de recursos já existentes na linguagem BASIC com ferramentas de projeto visual introduz simplicidade e facilidade de uso, sem sacrifícios de desempenho ou das características gráficas que fazem do Windows um ambiente agradável. Tornou-se a linguagem mais utilizada em todo o mundo, sendo considerada uma das causas do sucesso do Windows.

O Visual Basic introduziu uma estratégia radicalmente nova de programação. O fato é que, com o passar do tempo, escrever programas passou a ser cada vez mais difícil, especialmente programas que exigem interface gráfica. Entretanto, alguns programadores perceberam que muitas coisas que eram difíceis de ser feitas, como construir janelas, menus ou botões, podiam ser feitas sempre da mesma forma. Estes programadores, que já tinham o hábito de colecionar sub-rotinas de utilização geral, passaram a encapsular algumas destas rotinas em uma espécie de "objeto" pronto para ser usado. A idéia final, que deu origem ao Visual Basic, foi a percepção de que vários destes objetos podiam simplesmente ser desenhados na tela como se desenha um retângulo ou outra figura qualquer.

Os comandos usados no Visual Basic são basicamente os mesmos usados no BASIC, com a diferença de que foram ampliados para satisfazer os necessidades de uma aplicação voltada para Ambientes Gráficos.

http://www.infotem.hpg.ig.com.br/lin_progr_vb.htm

Contribuições para a criação e o desenvolvimento da linguagem

Inicialmente temos John Kemmeny e Tom Kurtz, professores americanos criadores do Basic, linguagem que deu origem ao atual Visual Basic .NET. Bill Gates e Paul Allen também possuem grande importância. O 'Visual Basic' é uma linguagem programação que foi produzida pela empresa Microsoft, e de igual maneira é parte integrante do pacote Microsoft Visual Studio. Sua versão mais recente faz parte do pacote Visual Studio .NET, voltada para aplicações .Net. Sua versão anterior fez parte do Microsoft Visual Studio 6.0, ainda muito utilizado atualmente.


Versões e Evoluções

A Versão inicial do Visual Basic ( versão 1.0 ) lançado em 1991, alcançou um sucesso expressivo, vendendo milhares de cópias e recebendo destaque especiais da maioria das revistas técnicas de informática. Em outubro de 1992 veio a versão 2.0, trazendo novas e poderosas características. A versão 3.0 veio logo depois transformando-se num programa amadurecido, com muitas ferramentas poderosas de programação, a versão 3.0 ( ultima versão orientada a evento ) tinha como principais características:

     Melhor desempenho.
     Ferramentas para criação de bancos de dados.
     Acesso visual aos dados com um controle de dados, de forma que se possa criar aplicativos de
     pesquisas e varreduras de dados sem necessidade de codificação.
     Um conjunto de caixas de diálogo para suportar os requisitos mais comuns de informação.
     Habilidade para criar menus sobrepostos em qualquer lugar nos aplicativo


Depois de algum tempo surgiu a versão 4.0, tinha como principal característica a primeira versão do Visual Basic orientada a Objeto (até a versão 3.0 ele era orientado a Eventos). Em Janeiro de 1996 foi anunciada a versão 5.0. E na versão 6.0 notamos uma ajuda aos desenvolvedores para criar facilmente soluções de negócios e soluções baseadas na Web.. Com as edições Learning, Professional e Enterprise, o Visual Basic 6.0 atende às necessidades de qualquer desenvolvedor.

http://www.infotem.hpg.ig.com.br/lin_progr_vb.htm


Plataforma .NET:

A plataforma Dot Net veio com uma visão mais ampla na parte de programção e disponibilização dos códigos, ela aborda tanto PCs, como também PDAs, Telefones Celulares, etc....Com a nova extrutura de montagem de arquivos, os códigos agora são pré-compilados em MSIL (Microsoft Intermediate Language) e compilados em tempo de execução pela CLR (Commom Language Runtime). Uma importante capacidade desta arquitetura é a de interagir com navegadores HTML comuns. Dentre suas várias vantagens, destacamos também a produtividade, quando comparado a qualquer outra ferramenta do mercado. Ele torna o desenvolvimento de aplicativos baseados em Web tão simples como o desenvolvimento de aplicativos em Visual Basic. O programador não tem sequer que conhecer HTML ou scripts de cliente(usualmente JScritp) para criar aplicativos sofisticados

http://forum.imasters.uol.com.br/index.php?showtopic=22277


VB .NET 2001:

O Visual Basic.NET só veio a surgir de fato, na sua primeira versão, após o Visual Basic 6.0 em 2001. Mais do que acrescentar alguns recursos ao Visual Basic 6.0 a Microsoft reestruturou completamente o VB com o objetivo de tornar a tarefa de escrever e distribuir aplicações para a WEB ou para sistemas com n-camadas muito mais fácil e simples. O Visual Basic.NET veio com dois novos pacotes para formulários : Windows Forms e Web Forms, uma nova versão da ADO para acesso a fonte de dados desconectadas além de novas características que abrem novas portas para quem utiliza o Visual Basic como ferramenta de desenvolvimento.


VB .NET 2002:

A versão do VB .NET 2002, foi completamente reformulada para suportar CLR. Além de um modelo de compilação totalmente novo, o CLR oferece melhor gerenciamento de memória, um ambiente orientado a objetos e segurança de tipo. Um dos principais recursos do CLR é o coletor de lixo (GC). No ambiente runtime gerenciado, o heap do GC é responsável pelo gerenciamento de todos os objetos.

VB .NET 2005:

Na versão VB .NET 2005 tivemos algumas novidades. Partial types é um recurso adicionado na síntaxe da orientação a objetos que permite uma utilização bem mais ampla do famoso code-behind que já estavamos acostumados a utilizar em ASP 3. A palavra Partial pode ser adicionada a uma classe, permitindo que o código da classe seja dividido em duas partes. Assim sendo, se temos uma classe grande, podemos dividi-la em vários arquivos utilizando a palavra partial. No momento da compilação o compilador vai juntar tudo e interpretar como uma única classe. Níveis de Acesso Mistos é um recurso que faltou no VB.NET 2003 e agora está sendo trazido de volta (sim, de volta, pois VB 6 tinha). Digamos que vamos criar uma propriedade com valor calculado, INSS, por exemplo. Desejaremos que esta propriedade seja somente de leitura. Mas internamente pode ser útil que seja possível a escrita na propriedade INSS, para permitir a realização de cálculos. Neste caso o GET e o SET da propriedade passam a ter visibilidades distintas : Enquanto o GET é público, o SET é privado ou protected. O Blogo usign se assemelha muito ao bloco try/finally, mas com uma síntaxe mais enxuta. Através do bloco using podemos definir variáveis que serão usadas em um pequeno trecho de código e que depois serão eliminadas, sendo chamado o dispose nos casos em que o objeto implementar a interface Idisposable.


VB .NET 2008:

A última versão do VB (VB .NET 2008) traz melhorias e novos recursos para os programadores VB. Isso inclui melhorias no .NET Framework e no IDE e mudanças na linguagem VB em si. As melhorias na linguagem VB que mais interessam aos programadores incluem "query comprehensions", que são muito parecidas com a consulta SQL no que diz respeito à sintaxe e são usadas para retornar um conjunto de dados de diversas origens, como XML e coleções, e suporte a LINQ, tipos anônimos, expressões lambda e métodos de extensão.


Outras Versoes:

Além dessas, tivemos também como versões o Visual Basic 2003, Visual Basic 2005. Não foram feitas maiores explicações sobre melhorias das versões por serem consideradas muito técnicas e, portanto, fora do escopo de uma pesquisa com o intuito de informar iniciantes a respeito da linguagem.

Aplicações desenvolvidas em VB .NET

A página a seguir foi desenvolvida em em VB.NET:

http://www.macoratti.net


"O software responsável pelo registo dos cidadãos será o PA-PE (Posto de Atendimento - Posto de Emissão). O PA-PE é uma aplicação desenvolvida em VB.NET e foi concebida para funcionar em rede, a mesma só funciona se estiver numa rede de no mínimo dois computadores e os mesmos têm de pertencer ao mesmo workgroup."

Fonte: http://www.tiangola.com/portal/inicio/noticias/98-governo-e-tecnologia/61-tecnologia-em-prol-do-processo-eleitoral-em-angola

Características da linguagem

Linguagem compilada

Visual basic é uma linguagem compilada e bem como o VB.NET tem seu código parcialmente compilado ao passo que o mesmo é escrito.

Para entender como funciona a execução do código na linguagem VB.NET, podemos verificar passo a passo de que modo isso funciona no Framework .NET, desde o código escrito até o momento da execução do mesmo.

No momento da compilação, o compilador não transforma diretamente o código analisado em código binário, como acontece quando cria-se um aplicativo em Visual Basic, por exemplo. Há nesse ponto uma grande diferença aos métodos tradicionais, uma vez que no .NET Framework haverá uma linguagem intermediária, conhecida como Microsoft Intermediate Language (MSIL), para a qual é convertido o código-fonte.

O código intermediário então gerado trará um conjunto de instruções independentes de sistema operacional bem como informações importantes à execução: manipulação de objetos, acesso á memória, etc., possibilitando programas seguros e multiplataforma.

O momento da compilação também gera metadados, os quais conterão informações adicionais que serão utilizadas em seguida para execução do programa. Estes, juntamente com o código intermediário, serão armazenados, mas não serão diretamente executáveis. Para isso, será necessário converter o código obtido do MSIL para código de máquina.


Independente de máquina

É o CLR (Common Language Runtime), runtime do framework, quem carregará o código intermediário e metadados e obterá o código executável através do compilador instantãneo conhecido como Just-In-Time (JIT). Esse código executável trará consigo informações suficientes para execução em um determinado processador.

Por esse motivo será possível obter aplicações VB.NET multiplataforma uma vez que o framework .NET atua como um intermediário para que a aplicação execute em diferentes sistemas operacionais.


Requisitos mínimos

Cabe ao Common Language Runtime (CLR) facilitar a distribuição e instalação de aplicações. É o CLR quem coordena a execução do código e possui as DDLs das APIs do Windows e arquivos runtime do VB. Tarefas antes atribuídas ao programador, serão agora implementadas no ambiente de execução, fazendo, desse modo, com que não se dependa de bibliotecas externas.

Alguns requisitos mínimos e recomendados de sistema para a versão 3.5 do .NET Framework são como seguem (para melhor obtenção desses e dados referentes a outras versões, consultar http://msdn.microsoft.com/pt-br/library/8z6watww.aspx):

  • Sistemas operacionais suportados: Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP
  • Processador: Mínimo - 400 MHz Pentium; Recomendado - 1GHz Pentium
  • RAM: Mínimo - 96 MB; Recomendado - 256 MB
  • HD: Acima de 500 MB de espaço disponível pode ser necessário

Sintaxe: principais elementos e estruturas da linguagem:

Instruções Condicionais:

If ... Then ... Else

  If (condicao #1) Then
     [codigo #1]
  End If

ou

  If (condicao #1) Then
     [codigo #1]
  Else
     [codigo #2]
  End If

Aninhando instruções:

  If (condicao #1) Then
     [codigo #1]
  Else
     If (condicao #2) Then
        [codigo #2]
     End If
  End If

Iif

  Iif ( (condição #1),
      [código se a condicao for verdadeira],
      [código se a condicao for falsa])

Select Case

  Select Case (expressao #1) 
       Case (condicao #1)
            [codigo #1]
       Case [condicao #2)
            [codigo #2]
       ...
       Case Else
            [código #3]
  End Select

- expressão #1: é a variável ou expressão que esta sendo comparada.

- condicao #n: é a condição lógica a ser avaliada.

- Case Else: executa o bloco de código associado se nenhuma condição anterior for verdadeira.

Instruções de Repetição:

For ... Next

  For <contador = valorinicial > To <valorfinal> [step]
     [código #1]
  Next [contador] 

Ex:

  For x=1 To 100 step 2
     x = x+10
     If x > 68 then
          exit for
     End If
  Next

- contador : variável númerica que controla o número de vezes que o código será executado.

- step: especifica o valor de incremento do contador.O valor padrão é de uma unidade.

- Exit For - interrompe a execução do laço

For Each/Next

O laço For Each...Next é idêntico ao laço For...Next mas executa o bloco de código para cada elemento em uma coleção , ou invés de executar um determinado número de vezes.

  For Each elemento In coleção
     '[código a ser executado para cada valor do elemento]
  Next [elemento]

While ... End While

  While <expressão booleana>
     [código #1]
  End While

Do ... Loop

  Do {While | Until} <condicao>
     [bloco de código]
     [Exit Do]
  Loop 

Exit Do - interrompe a execução do laço.

  Do While <condição >
     [código]
  Loop 

Faça enquanto a condição for verdadeira.

  Do Until <condição >
    [código]
  Loop

Faça até que a condição seja verdadeira.

A condição de saída também pode aparecer no final do laço

  Do
     [Código #1]
  Loop Until <condição #1>


Variáveis

Declaração

  Dim |nomeVariavel| as |Tipo|

Escopo

- Public: As variáveis são visíveis por toda a aplicação.

- Private: As variáveis são visíveis dentro do módulo ou classe onde foram declaradas.

- Shared: Estática, compartilhada por todos os objetos do respectivo módulo ou classe.


Funções

Declaração

- Sem tipo de retorno:

  Sub NomedaSubRotina (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...)
     ' O código da função
  End Sub 

- Com tipo de retorno:

  Sub NomedaFunçõa (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...) as Tipo
     ' O código da função
     Return ValordeRetorno
  End Sub

Passagem de parâmetros

ByRef: passagem por referência ByVal: passagem por valor

  Sub Main()
     Dim Numero As Integer = 100
     Console.WriteLine("Valor de 'Numero' ANTES de chamar a sub-rotina: " & Numero)
     Console.Read()
     MudaValorParametro(Numero)
     Console.WriteLine("Valor de 'Numero' DEPOIS de chamar a sub-rotina: " & Numero)
     Console.Read()
     NaoMudaValorParametro(Numero)
     Console.Writeline("Valor de 'Numero' nao foi alterado: "& Numero)
  End Sub 
  Sub MudaValorParametro(ByRef valor As Integer)
     valor = 1000
  End Sub 
  Sub NaoMudaValorParametro(ByVal valor As Integer)
     valor = 50
  End Sub

Escopo

- Public: A rotina pode ser chamada de qualquer parte de sua aplicação. É o padrão quando não se informa nada.

- Private: A rotina pode ser chamada somente por outra rotina dentro do mesmo módulo ou classe onde esta definida.

Classes

Declaração

  Class Aluno
  ...
  End Class 

Ex:

  Public Class Aluno
     Dim notaExame As Double = 7.8
     Dim materiaExame As String = "Inglês"
     Public Sub MostraNota()
        System.Console.WriteLine(notaExame)
     End Sub
  End Class 

Declarando e instanciando objetos

- declarar uma variável objeto do tipo Aluno :

  Dim objAluno As Aluno

- instanciar o objeto com a palavra-chave 'New' :

  objAluno = New Aluno / Dim objAluno2 as New Aluno()

Arquivos

Para acessar arquivos, usamos o namespace System.IO.File


Metodos de System.IO.File

- AppendText Cria um StreamWriter anexa texto UTF-8 a um arquivo existente.

- Copy Copia um arquivo existente para um novo arquivo.

- Create Cria um arquivo no diretório especificado.

- CreateText Cria ou abre um novo arquivo para escrita.

- Delete Exclui um arquivo definido

- Exists Determina se um arquivo existe.

- GetAttributes Obtêm os atributos do arquivo especificado.

- GetCreationTime Retorna a data e hora de criação para o arquivo ou pasta definido.

- GetLastAccessTime Retorna a data e hora de criação para o arquivo ou pasta definido acessado pela última vez.

- GetLastWriteTime Retorna a data e hora de criação para o arquivo ou pasta definido escrito pela última vez.

- Move Move um arquivo definido para um novo local.

- Open Abre um FileStream no caminho indicado.

- OpenRead Abre um arquivo para leitura.

- OpenText Abre um arquivo existente para leitura.(UTF-8)

- OpenWrite Abre um arquivo existente para escrita.


Para ler e escrever usamos os objetos StreamWriter e StreamReader, de System.IO

Lendo arquivos texto

  Dim nomeArq as String
  Dim fluxoTexto  As IO.StreamReader
  Dim linhaTexto As String
  nomeArq = "entrada.txt"
  If IO.File.Exists(nomeArq) Then
     fluxoTexto = New IO.StreamReader(NomeArq)
     linhaTexto = fluxoTexto.ReadLine
     While linhaTexto <> Nothing
        Console.WriteLine(linhaTexto)
        linhaTexto = fluxoTexto.ReadLine
     End While
     fluxoTexto.Close()
  Else
     MessageBox.Show("Arquivo não existe")
  End If

End Sub

Escrevendo em arquivos texto

  Dim nomeArq As String
  Dim fluxoTexto  As IO.StreamWriter
  Dim linhaTexto As String
  If IO.File.Exists(nomeArq) Then
     fluxoTexto = New IO.StreamWriter(nomeArq)
     fluxoTexto.WriteLine("Escrevendo algo no arquivo")
     fluxoTexto.Close()
  Else
     MessageBox.Show("Arquivo não existe")
  End If

End Sub

Exceções

Tratamento de Exceções

O tratamento de exceções é implementado usando a estrutura de comandos :

  Try
     ' código que pode gerar/disparar uma exceção
  Catch
     ' código que efetua o tratamento da exceção
  Finally
     ' código que será executado, ocorrendo ou não a exceção
  End Try

ex:

  Sub Main()
    'Este código gera um erro/exceção
     Try
        Console.WriteLine("Vamos dividir 10 por 0 para ver o que acontece...")
        Console.WriteLine()
        Dim i As Integer = 10
        Dim j As Integer = 0
        Dim k As Integer
        ' Esta linha vai gerar um erro
        k = (i / j)
     Catch
        Console.WriteLine("Ocorreu um erro fatal... ")
     End Try
  End Sub

É possível também capturar mais de uma exceção:

  Dim i As Integer = 2147483647
  Dim j As Integer = 0
  Dim k As Integer = 0
  Try
     i+ = 1
     k=i/j 
  Catch exc As DivideByZeroException
     Console.WriteLine("Erro: Divisão por zero")
  Catch exc As OverflowException
     Console.WriteLine("Erro: Overflow")
  Finally
     Console.ReadLine()
  End Try

Disparando exceções

Podemos usar as exceções padrão que a plataforma .NET contém; todas elas derivam da classe base System.Exception. As exceções mais comuns estão listadas abaixo:

   * ArgumentException— argumento inválido passado ao um método
   * ArgumentNullException— utilizados por métodos que não permitem argumentos com valores null.
   * DivideByZeroException— tentativa de divisão por zero.
   * IndexOutOfRangeException— índice não apropriado em um array.
   * InvalidCastException— resulta de um operação inválida de conversão forçada(cast) ou uma tentativa de uma conversão explicita.
   * InvalidOperationException— O objeto esta em um estado inválido com relação a chamada do método.
   * NullReferenceException— tentativa de referenciar um objeto null.

Não estamos limitado a usar somente as exceções que a .NET Framework oferece pode também criar e lançar as suas próprias exceções. Para disparar uma exceção usamos a cláusula Throw :

  Throw new tipoExcecao

onde 'tipoExcecao' informa o tipo de exceção que esta sendo lançada.

É possível criar suas próprias exceções, herdando da classe Exception.

Aplicação Console

Uma aplicação console é executada através da chamada da sub-rotina Main()

  Imports System
  Module HelloWorld
     Public Sub Main()
        Console.WriteLine("Olá Mundo")
     End Sub
  End Module

Aplicativo Windows Forms

Um aplicativo com interface de usuario do Windows Forms

A execução desse tipo de aplicativo é feita através do evento Load do 'Form' que inicializa o aplicativo.

'Seja HelloWorld o nome do Form de inicialização do aplicativo.

  Public Class HelloWorld
     Private Sub HelloWorld_Load(ByVal sender As System.Object,_
                                 ByVal e As System.EventArgs)  Handles MyBase.Load
        '
        'codigo a ser executado, ao iniciar o aplicativo
        '
     End Sub
  End Class

Suporte a Banco de Dados (ADO .NET)

ADO .NET (ActiveX Data Objects): conjunto de classes definidas pelo framework .NET utilizados para acessar dados armazenados em banco de dados. Os recursos de acesso a dados do ADO .NET estão presentes no namespace System.Data.

  • System.Data - contém as classes fundamentais para gerenciar dados como DataSet e DataRelation
  • System.Data.Common - Possui classes bases que são herdadas por outras classes.
  • System.Data.OleDb - Possui classes usadas para realizar conexão com o provedor OLE DB.
  • System.Data.SqlClient - Possui classes para conexão com um banco de dados SQL Server via interface TDS (Tabular Data Stream)
  • System.Data.SqlTypes - inclui tipos adicionais de dados que não são fornecidos pelo .NET.


Acesso a dispositivos externos (impressoras, scanners, etc)

Impressão

Pode ser feita através das classes disponíveis em System.Drawing.Printing

Interação com outras linguagens

A plataforma .NET fornece um alto nível de interoperabilidade entre linguagens. Os programas escritos em diferentes linguagens .NET são todos compilados em MSIL - as partes diferentes podem ser combinadas para criar um programa unificado. O MSIL permite que a plataforma .NET seja "independente" de linguagem, pois os programas .NET não estão vinculados a uma linguagem específica. Qualquer linguagem que possa ser compilada em MSIL é chamada de 'linguagem compatível com .NET'. Eis a lista de algumas das linguagens atuais que suportam a plataforma .NET:

  • C#
  • COBOL
  • Fortran
  • Java
  • Pascal
  • Perl
  • Python
  • Smalltalk
  • Visual Basic .NET
  • Visual C++ .NET


Formas de auxílio à Documentação

No VB.NET as principais formas de gerar documentação são utilizando o Visual Studio, VBCommenter e o NDoc.

O visual Studio 2003 possibilita a documentação de Projetos a partir da utilização da ferramenta VBCommeter. Ela é responsável por gerar o arquivo XML com os dados que mesclamos junto com o código para gerar a documentação. Esta ferramenta não está incluída no Visual Studio .NET.

O Visual Studio 2005 oferece ao desenvolvedor a possibilidade de gerar código XML ( que pode ser convertido em arquivos de documentação ) sem a necessidade de programas auxiliares. É possível realizar toda a documentação de um Projeto utilizando apenas a ferramenta nativa NDOC. Essa ferramenta gera a documentação em um formato pré-definido. Podemos gerar em formato do MSDN ou um próprio HELP, como os padrões do Windows.

Atualmente, no Visual Basic 2008 é possível gerar documentação das Classes de um Projeto através de uma ferramenta que a Microsoft está trabalhando conhecida com SandCastle. O processo constitui basicamente da extração de comentários XML do código e geração dos arquivos de documentação já no formato MSDN. Para tanto, é necessário que sejam estabelecidos padrões que devem ser seguidos ao longo do Projeto tais como comentários das classes, métodos e propriedades. Conhecimentos básicos são exigidos por parte dos usuários. Por exemplo, para comentar um código em VB que seja reconhecido como documentação XML deve-se utilizar três aspas simples ao invés do comentário "convencional" que é feito com somente uma aspa simples. A partir daí o Visual Studio ( com uma pequena configuração ) fica responsável pela exportação dos comentários em formato XML e o SandClastle completa o trabalho da documentação, transformando esses arquivos XML em um formato de documento help padrão CHM, por exemplo.

Suporte à Aplicações Desktop

Os aplicativos Desktop do VB.NET são chamados Aplicativos Windows Forms. Um aplicativo Windows Forms se baseia nas classes do namespace System.Windows.Forms.Usando um ambiente de desenvolvimento como o Visual Studio, você pode criar aplicativos Windows Forms que exibem informações, solicitam entradas de usuários e se comunicam com computadores remotos pela rede. No Windows Forms, um formulário é uma superfície visual na qual são exibidas informações para o usuário. Normalmente, os aplicativos do Windows Forms são criados pela inserção de controles em formulários e pelo desenvolvimento de respostas a ações do usuário, como cliques do mouse ou pressionamentos de teclas. Um controle é um elemento discreto de interface do usuário que exibe dados ou aceita a entrada de dados. Quando um usuário executa alguma ação em seu formulário ou em um de seus controles, gera um evento.O seu aplicativo reage a esses eventos usando código e os processa quando eles acontecem , bem parecido com uma Aplicação Swing em Java.


Suporte à Aplicações Web

Sim, porém a princípio não era voltado pra esse tipo de aplicação, só passou a servir para desenvolvimento Web depois do VB 6.0, em 2001. A prova de que pode ser utilizado para tal fim, é a página www.macoratti.net que foi desenvolvida em VB.net.

Controles Personalizados

É tão fácil criar um Controle Personalizado como criar uma classe. Você simplesmente utiliza a herança para herdar de um controle já existente e adiciona as características desejadas ao seu controle. Além disto você pode também criar uma classe de controle customizado como parte do projeto existente e então mais tarde colocá-la em uma assembly separado que pode ser compartilhado com outros programadores.

Podemos fazer distinção entre três tipos de Controles Personalizados :

Controles de Usuários - Users Controls : São os tipos mais simples de controles. Eles herdam da classe System.Windows.Forms.UserControl e seguem o modelo da composição.

Controles Herdados - Inherited Controls : São controles com mais recursos. Você escolhe um controle que mais se aproxima de suas características e então deriva uma classe personalizada que sobrescreve ou inclui propriedades e métodos, como se você estivesse trabalhando com Classes e usasse Herança.

Controles Criados - São controles criados usando as rotinas da GDI+ e que geram toda a interface com o usuário; geralmente tendem a herdar da classe System.Windows.Forms.Control.

Pode-se verificar como fazer um Controle Personalizado no Visual Studio no tutorial na seção de Referências.


IDE's

  • Visual Studio 2008
  • Visual Basic .Net Express 2008 Edition
  • MonoDevelop

Padronização da Linguagem (ANSI/ISO)

Referências