Desenvolvimento - Visual Basic .NET

VB.NET: Estudo da linguagem - Parte 1

Estude a linguagem Visual Basic .NET através desta série de artigos que iremos publicar.

por Paulo Cesar Macedo



Importante:
Esse estudo foi uma compilação dos seguintes textos feita pelo autor:
MSDN Visual Studio 2002/2003 (tradução da fonte original do site da Microsoft)
Livro: Programando em Visual Basic de Michael J. Young.
Livro: Visual Basic for Windows de Steven Holzner.
Livro: Visualização e realidade virtual de Lee Adams.

1 - Estudo da Linguagem Visual Basic .NET

1.0 – Arquivos gerados pelo Visual Basic .NET

Quando iniciado um projeto em VB, o sistema cria os arquivos com extensão .vb, além de outros que podem ser incluídos no projeto tais como arquivos ASP que tem a extensão .aspx; arquivos XML com extensão .xml; arquivos HTML com extensão .html e outros. Assim não há distinção de arquivos de classes, janelas, controles e etc, pois todos terão a partir de agora a extensão .vb.

Arquivos de um projeto WEB

Em versões anteriores do VB, as janelas tinham extensões .frm, os controles tinham extensões .ctr, as classes tinham a extensão .cls.

Ainda hoje, os arquivos do Vb podem ser abertos por qualquer programa de texto e podem ser alterados diretamente sem usar o Ambiente de Desenvolvimento do Visual Studio.

1.1 - Nova Estrutura do programa escrito em VB .Net

A nova estrutura do programa deve seguir essas etapas:

  1. Utilize os comandos Option para verificar os erros de lógica e de sintaxe.
  2. Utilize o comando Imports para acessar os recursos da tecnologia .NET Framework.
  3. O procedimento Main ( ) será o ponto inicial do programa, ou seja o código que será executado em primeiro lugar.
  4. Utilize os comandos Class, Module ou NameSpace se for criar objetos para o programa.
  5. Utilize comandos de compilação condicional #if .. #else... se necessário.

Exemplo 1 :

" Programa escrito em Visual Basic .

Option Explicit

Module Olá

Sub Main( )

MsgBox("Olá Mundo!") " Exibe a Mensagem na tela.

End Sub

End Module

A primeira linha funciona como comentário. O Comando Option obriga declarar todas as variáveis antes de utilizá-las no programa.

No exemplo acima, no módulo “Olá” está o procedimento Sub Main ( ) que vai controlar a execução do processo e exibir a mensagem “Olá Mundo” na tela do computador.

Quando criamos um programa em VB escolhendo Windows Application na janela de opções, o Visual Studio .NET cria um projeto contendo referências e uma classe chamada sempre de form1.vb.

Exemplo 2 :

Public Class Form1

Inherits System.Windows.Forms.Form

‘ O código abaixo foi criado automaticamente pelo Visual Basic

#Region " Windows Forms Designer generated code "

Public Sub New()

MyBase.New()

" This call is required by the Windows Forms Designer.

InitializeComponent()

" Add any initialization after the InitializeComponent() call.

End Sub

" Form overrides dispose to clean up the component list.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

No exemplo acima, O VS .net criou o protótipo central para ser modificado, contendo uma janela Form1 que possui o código inicial da janela Sub New que é o construtor da janela onde é colocado o código de inicialização da janela que substitui o antigo evento Initialize do VB 6.0.

Resumindo, quando a janela é carregada na tela, o primeiro procedimento a ser executado será o código dentro de Sub New, também conhecido como Construtor (proveniente da linguagem C++).

InitializeComponent( ) é criado automaticamente pelo VStudio e substitui o antigo arquivo .frm que era criado pelo VB 6, onde continha todo as propriedades e códigos fonte da janela em formato de Texto.

Resumindo, InitializeComponent( ) grava todas os controles, textos, figuras e outras coisas que forem feitas na janela.

O comando inherits na primeira linha do exemplo acima herda todas as características de uma janela normal. Assim pode-se alterar suas propriedades na janela de propriedades do VB.

Resumindo, para criar uma janela é preciso acionar a classe Windows Form da tecnologia .NET Framework.

1.2 – Atribuir nomes aos elementos do seu programa

Quando for nomear (dar nome as variáveis, objetos ou classes) os elementos do seu programa a Microsoft recomenda usar as seguintes técnicas.

  • Começar cada Nome com letra maiúscula , Exemplo : ConvertaPrimeiraLetra.
  • Quando nomear uma função ou método inicie com a ação que ela executa. Exemplo : CarregarFiltro; IniciarProcura; FecharJanela.
  • Quando nomear uma Classe ou uma propriedade da classe inicie com o nome a que se refere a classe . Exemplo : CarroAcessórios; EmpregadosSalário; ArquivosNome.
  • Quando nomear uma Interface (Interface) no seu programa, inicie com a letra I maiúscula seguida da ação ou comportamento dessa interface. Exemplo : IPersistente; IAleatório.
  • Quando nomear eventos para sua classe, inicie com a palavra “Event” ou “Evento”. Exemplo: EventoFechar; EventoAbrir.
  • Se for usar um evento que foi disparado no momento da ação ou depois da ação, utilize os verbos no presente ou passado. Exemplo : EventoFechar; EventoFechou; EventoAbrir; EventoAbriu.
  • Para nomes muito grandes utilize abreviações. Exemplo : HTML (abreviação de Hyper Text Marquet Language).
  • Não use nomes idênticos no mesmo módulo ou procedimento, o ideal é utilizar nomes completamente diferentes em todo o programa.

1.3 – Utilizando quebra de linha e combinação de código

No momento da codificação os comandos estiverem extensos demais, pode-se quebrar a linha em diversas partes sem gerar erros de execução. Utilize o “Caracter de continuação de Linha” ( _ ) após um espaço simples, em seguida continuar a escrever o código em outra linha.. Exemplo :

Data1.RecordSource = _

"SELECT * FROM Titles, Publishers" _

& "WHERE Publishers.PubId = Titles.PubID" _

& "AND Publishers.State = "CA""

Assim, a linha de código fica mais fácil de ler na tela do seu computador, entretanto existe uma limitação para o número de linhas.

Para combinar muitas linhas de código em uma única linha utilize dois pontos ( : ). Exemplo :

Text1.Text = "Olá" : Vermelho = 255 : Text1.BackColor = Vermelho

1.4 – Caracteres especiais no VB .Net

Alguns caracteres possuem significados diferentes na linguagem, veja a seguir :

  1. Parênteses : Use parênteses para criar um procedimento ou função. Exemplo : Sub Main ( ).
  2. Separadores ( : ) : Os dois pontos ( : ) são usados para separar blocos de código na mesma linha. Exemplo : Text1.Text = "Olá" : Vermelho = 255 : Text1.BackColor = Vermelho
  3. Concatenação : Para combinar duas variáveis Strings, utilize o operador de concatenação &. Exemplo :

Var1 = "10.01"

Var2 = 11

Result = Var1 + Var2 " Result = 21.01

Result = Var1 & Var2 " Result = 10.0111


Não use o operador “ + “ para concatenar duas string, pois pode gerar erros. Observe os resultados do exemplo acima.

  1. Operador de acesso ( . ) : O ponto é utilizado para acessar funções, métodos ou propriedades de uma classe ou objeto. Exemplo : MyForm.Text = "This is my form"
  2. Operador de acesso ( ! ) : A exclamação também é utilizada para acessar métodos ou propriedades somente de algumas classes ou estruturas. Exemplo : RS.Fields!CustomerID.Value = txtCustomerID.Text
  3. Caracter de declaração de tipos de dados ( ! ) : O ponto de exclamação também pode ser utilizado para declarar variáveis do tipo Single. Exemplo : Var = 1234578!

1.5 – Criar comentários no Código

Para cada linha de código, pode-se criar um comentário explicando o significado do procedimento, este tipo de linha é ignorado pelo compilador. Utilize o símbolo de comentário ( ‘ ) para ativar o comentário. Exemplo :


" Este é um comentário no início do código

Text1.Text  = "Hi!"  " Este é um comentário na  mesma linha do código

A Microsoft recomenda criar comentários para cada seção de código dessa forma :

  1. Propósito : Inclua esse tópico no comentário, para identificar qual a descrição ou tarefa do código em questão.
  2. Requisitos : Inclua esse tópico no comentário, para identificar quais variáveis, objetos, classes e outros elementos utilizados no código em questão.
  3. Efeito : Inclua esse tópico para identificar quais variáveis, objetos, classes e outros elementos que serão afetados pelo código em questão.
  4. Argumentos : Inc.ua esse tópico para explicar os argumentos exigidos pelo código em questão.
  5. Retorno : Inclua esse tópico para identificar o valor de retorno desse código em questão.

Não se pode quebrar linhas em comentário, utilizando o caracter ( _ ). Pode-se utilizar o comando REM para ativar comentários, entretanto esse procedimento requer mais espaço em memória que o símbolo ( ‘ ), portanto utilize o símbolo somente.

1.6 – Limitações do Visual Basic .NET

As versões anteriores do VB tinham várias limitações no código, veja abaixo :

  • Número de variáveis usadas no mesmo código.
  • Número de funções usadas no mesmo código.
  • Número de arquivos abertos no mesmo código.
  • Número de janelas abertas no mesmo código.
  • Dentre outras...

No VB .NET existem limitações físicas, segundo a Microsoft, mas são tão altas que não há chances de serem atingidas pelo desenvolvedor, a ponto de não serem nem documentadas oficialmente.

1.7 - Compilação Condicional

Quando se executa um programa, o compilador inicia a leitura do código fonte indistintamente até o final. Entretanto esse comportamento pode ser alterado utilizando a Compilação Condicional.

A compilação condicional faz com que o compilador execute certos blocos de código enquanto outros são ignorados. É útil quando se deseja usar comandos para certos tipos de Sistemas operacionais em uso, ou utilizar dicionários para uma língua de um país, etc..

Para aplicar esse recurso use o comando de diretiva # if ... #Then ... # Else . Além disso pode-se criar uma constante a nível de compilação usando o comando de diretiva #Const . Exemplo :

‘Cria uma compilação para a versão de um programa de língua Francesa ou Alemã, note

‘que FrenchVersion e GermanVersion são constantes predefinidas pelo VB.

#If FrenchVersion Then

" <código para a lingua francesa>.

#ElseIf GermanVersion Then

" <código para a lingua alemã>.

#Else

" <código para outras versões>.

#End If

1.7.1 – Criando Constantes de declaração Condicional

Constantes são variáveis que não podem ser alteradas. As constantes de declaração condicional são variáveis que não podem ser alteradas e também não podem ser acessadas pelo código geral.

Pode-se criar constantes com caixa de diálogos de propriedades, por linha de comando ou por comandos em código. Para criar constantes condicionais por comandos em código, utilize #Const. Exemplo :

#Const MeuPaís = "BRASIL"

#Const Versão = "8.0.0012"

#Const NúmeroPadrão = 36

1.7.2 – Ocultando ou expandindo o código

No VB .NET há um recurso que permite ocultar ou expandir o código escrito no Editor de Códigos, é semelhante ao Windows Explorer ao visualizar os diretórios e subdiretórios do sistema. Quando um diretório possui subdiretórios, o sistema exibe um sinal de mais ( + ) ao lado do nome do diretório corrente, informando que há outros elementos nele. Basta clicar sobre o ( + ) para visualizar os outros elementos.

Assim funciona esse recurso, que pode ser aplicado usando a diretiva #Region. Exemplo :

#Region "O código dentro de Region é ocultado clicando sobre #Region"

Private components As System.ComponentModel.Container

Dim WithEvents Form1 As System.Windows.Forms.Form

Private Sub InitializeComponent()

components = New System.ComponentModel.Container

Me.Text = "Form1"

End Sub

#End Region

Esse recurso torna fácil ler e administrar o código fonte do desenvolvedor. Note que não é possível usar esse recurso quando criar Funções, e qualquer código ocultado ou expandido é lido normalmente pelo compilador.

Paulo Cesar Macedo

Paulo Cesar Macedo