Difference between revisions of "Equipe Cão-Cão"
(→Aplicação Console) |
|||
(57 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | '''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. | 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. | 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 | If (condicao #1) Then | ||
[codigo #1] | [codigo #1] | ||
Line 55: | Line 157: | ||
End If | End If | ||
− | + | === Iif === | |
Iif ( (condição #1), | Iif ( (condição #1), | ||
[código se a condicao for verdadeira], | [código se a condicao for verdadeira], | ||
[código se a condicao for falsa]) | [código se a condicao for falsa]) | ||
− | + | === Select Case === | |
Select Case (expressao #1) | Select Case (expressao #1) | ||
Case (condicao #1) | Case (condicao #1) | ||
Line 77: | Line 179: | ||
- Case Else: executa o bloco de código associado se nenhuma condição anterior for verdadeira. | - 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] | For <contador = valorinicial > To <valorfinal> [step] | ||
[código #1] | [código #1] | ||
Line 98: | Line 199: | ||
- Exit For - interrompe a execução do laço | - 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. | 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. | ||
Line 105: | Line 206: | ||
Next [elemento] | Next [elemento] | ||
− | + | === While ... End While === | |
While <expressão booleana> | While <expressão booleana> | ||
[código #1] | [código #1] | ||
End While | End While | ||
− | + | === Do ... Loop === | |
Do {While | Until} <condicao> | Do {While | Until} <condicao> | ||
[bloco de código] | [bloco de código] | ||
Line 133: | Line 234: | ||
− | + | == Variáveis == | |
− | + | ||
− | + | === Declaração === | |
Dim |nomeVariavel| as |Tipo| | Dim |nomeVariavel| as |Tipo| | ||
− | + | === Escopo === | |
- Public: As variáveis são visíveis por toda a aplicação. | - Public: As variáveis são visíveis por toda a aplicação. | ||
Line 147: | Line 247: | ||
− | + | == Funções == | |
− | + | ||
− | + | === Declaração === | |
- Sem tipo de retorno: | - Sem tipo de retorno: | ||
Sub NomedaSubRotina (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...) | Sub NomedaSubRotina (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...) | ||
Line 162: | Line 261: | ||
End Sub | End Sub | ||
− | + | === Passagem de parâmetros === | |
ByRef: passagem por referência | ByRef: passagem por referência | ||
Line 183: | Line 282: | ||
End Sub | 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. | - 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. | - 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 | Class Aluno | ||
... | ... | ||
Line 205: | Line 303: | ||
End Class | End Class | ||
− | + | === Declarando e instanciando objetos === | |
- declarar uma variável objeto do tipo Aluno : | - declarar uma variável objeto do tipo Aluno : | ||
Line 214: | Line 312: | ||
objAluno = New Aluno / Dim objAluno2 as New Aluno() | objAluno = New Aluno / Dim objAluno2 as New Aluno() | ||
− | == Suporte a Banco de Dados (ADO .NET) | + | == 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. | 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 | 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. | Os aplicativos Desktop do VB.NET são chamados Aplicativos Windows Forms. | ||
Line 247: | Line 530: | ||
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. | 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. | ||
− | |||
− | |||
− | == Controles Personalizados | + | = 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. | É 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. | ||
Line 264: | Line 549: | ||
Pode-se verificar como fazer um Controle Personalizado no Visual Studio no tutorial na seção de Referências. | Pode-se verificar como fazer um Controle Personalizado no Visual Studio no tutorial na seção de Referências. | ||
− | |||
− | |||
− | == Padronização da Linguagem (ANSI/ISO) = | + | = IDE's = |
− | + | * Visual Studio 2008 | |
+ | * Visual Basic .Net Express 2008 Edition | ||
+ | * MonoDevelop | ||
+ | |||
+ | = Padronização da Linguagem (ANSI/ISO) = | ||
− | == | + | = Referências = |
− | + | ||
* Blanco, Luis Miguel (2002): Programación en Visual Basic .NET. Eidos. | * Blanco, Luis Miguel (2002): Programación en Visual Basic .NET. Eidos. | ||
− | * http://www. | + | * http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=12 |
+ | * http://imasters.uol.com.br/artigo/2424/dotnet/msil_-_microsoft_intermediate_language/ | ||
+ | * http://msdn.microsoft.com/pt-br/library/cc580665.aspx | ||
+ | * http://msdn.microsoft.com/pt-br/library/ht8ecch6.aspx | ||
* http://msdn.microsoft.com/pt-br/vbasic/ms789117.aspx | * http://msdn.microsoft.com/pt-br/vbasic/ms789117.aspx | ||
+ | * http://www.macoratti.net/vbn_ccst.htm |
Latest revision as of 01:00, 7 October 2008
Visual Basic .NET
Contents
- 1 Visual Basic
- 2 Histórico da linguagem
- 3 Contribuições para a criação e o desenvolvimento da linguagem
- 4 Versões e Evoluções
- 5 Aplicações desenvolvidas em VB .NET
- 6 Características da linguagem
- 7 Sintaxe: principais elementos e estruturas da linguagem:
- 8 Suporte a Banco de Dados (ADO .NET)
- 9 Acesso a dispositivos externos (impressoras, scanners, etc)
- 10 Interação com outras linguagens
- 11 Formas de auxílio à Documentação
- 12 Suporte à Aplicações Desktop
- 13 Suporte à Aplicações Web
- 14 Controles Personalizados
- 15 IDE's
- 16 Padronização da Linguagem (ANSI/ISO)
- 17 Referências
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:
"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."
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
- Blanco, Luis Miguel (2002): Programación en Visual Basic .NET. Eidos.
- http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=12
- http://imasters.uol.com.br/artigo/2424/dotnet/msil_-_microsoft_intermediate_language/
- http://msdn.microsoft.com/pt-br/library/cc580665.aspx
- http://msdn.microsoft.com/pt-br/library/ht8ecch6.aspx
- http://msdn.microsoft.com/pt-br/vbasic/ms789117.aspx
- http://www.macoratti.net/vbn_ccst.htm