Usando Option Explicit , Option Strict e Option Compare
A opção Option Explicit (Opção Explicita) já deve ser uma velha conhecida dos tempos do VB6 ( pelo menos deveria ser ). A opção Option Explicit impede que você use uma variável sem criá-la , evitando com isto muitos erros que podem acontecer quando uma variável nova e vazia é automaticamente criada se você errar o nome de uma variável que já existe.
A opção Option Strict é nova , e foi implementada no VB.NET ; usando a opção Option Strict evitamos os erros em tempo de execução que se originam de conversões automáticas de variáveis. Assim , na conversão de uma variável do tipo Int32 para o tipo Int16 ocorre um estreitamento que pode ou não dar certo pois podem existir valores que ao serem convertidos para int16 percam a precisão. Se você trabalhar com a opção Option Strict desativada , o VB vai deixar você tentar , se der certo muito bem se não der ....
Vamos a um exemplo :
O código abaixo trabalha com a opção Option Strict desativada :
Option Strict Off Private Sub Calculo(NumeroMaior as Int32 , NumeroMenor as Int16) Dim troca as int32 troca = NumeroMaior NumeroMenor = troca End Sub |
O VB não vai reclamar e não indicará erro neste código seu projeto vai rodar bem até que você tente fazer a conversão de um número maior que 32.767 , ai sim vai ocorrer um erro na sua aplicação...
Se ativarmos a opção Option Strict o código fica assim :
Option Strict On Private Sub Calculo(NumeroMaior as Int32 , NumeroMenor as Int16) Dim troca as int32 troca = NumeroMaior NumeroMenor = troca if NumeroMaior > NumeroMenor.Value then MessageBox " Atenção ! Este número não suporta a conversão " else NumeroMenor = Ctype(troca, Int16) endif End Sub End Sub |
Com a opção Option Strict ativada , a coisa muda de figura. Durante a fase de projeto o VB.NET irá sublinhar o código e será gerado um erro em tempo de compilação. O VB.NET não permite a você usar o código sem fazer a modificação explícita ( manual ) . Você é avisado em tempo e pode ajustar o seu código.
Conselho : Use Option Explicit e Option Strict sempre ativas !
Para ativar estas opções faça o seguinte:
|
Pronto ! seu projeto já esta imune a erros de conversão forçada e a variáveis que surgem do nada....
Agora vamos falar da opção - Option Compare - ela é usada a nível de arquivo para declarar o método de comparação padrão que será usado quando da comparação de dados string. A sintaxe é :
Option Compare { Binary | Text } onde:
Para usar Option Compare devemos fazer a declaração antes de qualquer outra instrução. O método de comparação de strings é definido para uma classe , módulo ou estrutura . O valor padrão para a comparação de textos é o valor Binary.
Lembre-se que no Windows a ordem da ordenação é determinada pela página de código. A seguir vemos um exemplo que usa Option Compare Binary , o que produz uma ordenação binária.
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
Quando os mesmos caracteres são ordenados usando - Option Compare Text , a seguinte ordem é produzida:
(A=a) < ( À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)
' Define o método de comparação de strings para Binary.Option Compare
Binary ' "AAA" é menor que "aaa". ' Define o método de comparação de strings para TextOption Compare
Text ' "AAA" é igual a to "aaa".
até a próxima...
José Carlos Macoratti