VB.Net -> Linguagem e Sintaxe
Linguagem e Sintaxe
1 . Mudanças
Esses topicos representam características que existiam, mas são tratadas de forma diferente:
- Variaveis
| VB6 | VB.NET |
| Integer | Short |
| Long | Integer |
| Currency | Decimal |
| Variant | Object |
- Declarações
Antes uma variável devia ser instanciada para depois ser atribuido um valor. Agora isso não é mais necessário. Conforme o código do exemplo seguinte:
| VB6 Dim sTexto as String sTexto = “meu texto” VB.NET |
Até a versão do VB6 era necessário declarar todas as variáveis com seus tipos, agora isso não é mais necessário:
| VB6 ‘a e b são do tipo variant, apenas c é inteiro Dim a, b, c As Integer ‘para corrigir isso é necessário a declaração de cada variável VB.NET |
- Parâmetros
Os parâmetros no VB6 são, por definição, passados por referência (ByRef). No VB.NET os valores são passados por valor (ByVal) como padrão:
O VS.NET preenche automaticamente o comando de atribuição ByVal quando ele não é fornecido na definição de uma variável de parâmetro.
- Arrays (Vetores)
No VB.NET não se declara o número de termos e sim o índice do último termo desejado. Veja no exemplo a seguir
| Dim vTeste(5) as Integer
VB6 VB.NET |
- Tipos definidos pelo usuário
No VB6 os tipos de dados definidos pelo usuário são bastante utilizados para armazenar uma estrutura de dados mais complexa. O conceito não mudou, mas a sintaxe sim, conforme o código abaixo:
| VB6
|
- Comando Option
Lembra do comando “Option Explict”? Caso esta opção estivesse ativa, o compilador fazia uma varredura para saber se uma variável estava ou não declarada, se não o sistema dava um erro de compilação. Existem outras opções para o comando Option, conforme a seguir:
| Tipo (Default) | Descrição | VB6 | VB.NET |
| Option Compare | Compara textos de acordo com os parâmetros (binário ou texto) | OK | OK |
| Option Explict | Obriga a declaração de variáveis antes de usá-las | OK | OK |
| Option Base (0 ou 1) | Inicia vetores no índice (0 ou 1) | OK | Não |
| Option Private | Indica que o arquivo em questão é restrito ao projeto | OK | Não |
| Option Strict (On ou Off) | Não permite a conversação automática de tipos(de short para Long automático, por exemplo) | Não | OK |
- Funções e Sub-rotinas
Agora no VB.NET o parênteses a chamada de funções é obrigatória. Digamos que exista uma procedure teste (Arg1,Arg2)
| VB6 teste Arg1, Arg2 VB.NET VB6 e VB.NET |
Outra característica é que agora os parâmetros opcionais no VB.NET são obrigatóriamente fornecidos com seus valores padrão. Além disso não há mais a necessidade de colocar o nome da função ou sub-rotina como receptora dos valores de resposta. Pode-se utilizar o termo “return”, que facilita a manutenção do código, caso haja de trocar o nome da rotina.
| Public Function teste(ByVal P1 As Double, optional ByVal P2 As Double = 10) _ As Double return P1 * P2 End Function |
- Definição de propriedades em classes
Ocorreu uma mudança na formatação de definição de atributo nas classes, de maneira a tornar mais intuitivo e organizado o código.
| VB6
Public Property Let TamanhoFonte (ByVal tam as Double) VB.NET Public Property TamanhoFonte As Double |
Chegamos assim ao fim da primeira parte… na segunda parte (página) abordaremos as novidades.