O Visual Basic.NET (VB.NET) é uma sucessão do Visual Basic 6.0 (VB6) e por uma questão de compatibilidade, e facilidade de migração dos programadores e das aplicações, muitas das funções e objectos, que estavam disponíveis no VB6, estão também disponíveis no VB.NET.
Estas funções e objectos estão agrupadas no namespace Microsoft.VisualBasic e fazem parte do conjunto de referências base de cada projecto, ou seja, quando é criado um novo projecto, já existe uma referência a este namespace, que poderá ser utilizado em todo o projecto.
Existem no entanto alternativas para essas funções e objectos, que estão disponíveis em alguns namespaces da plataforma .NET.
Por uma questão de boas práticas de programação é bom utilizar as funções e objectos mais recentes, pois estas são as que irão prevalecer (nunca se sabe se as outras serão descontinuadas e removidas de edições futuras).
Para desactivar esta referência do projecto e obrigar desta forma à utilização dos novos métodos (pessoalmente recomendo que se faça), pode-se fazer o seguinte:
1 - Duplo clique em My Project ou menu Project – Properties
2 - Seleccionar a TAB References. Aqui estão as referências que estão adicionadas ao projecto.
Podemos ainda, e dentro das referências, clicar em “Unused References” para verificarmos que referências não estão a ser utilizadas no nosso projecto. Isto não irá reduzir o tamanho do ficheiro mas reduzirá o número de dependências do projecto.
3 - Finalmente, nos namespaces importados para o projecto, retiramos a selecção do namespace Microsoft.VisualBasic.
Isto irá obrigar a usar as novas funções no projecto!
Além disso existem funções que estão disponíveis em diferentes namespaces e que poderão provocar alguns problemas, como é o caso de Left(), Len(), etc.
Alguns exemplos de conversão funções de VB6 para VB.NET
Formatar números:
' VB6
Dim num As Integer = 12345
Debug.WriteLine(Format(num, "#,00"))
' VB.NET
Dim num As Integer = 12345
Debug.WriteLine(num.ToString("#,00"))
Retirar X caracteres à esquerda:
' VB6
Dim num As Integer = 12345
Debug.WriteLine(Microsoft.VisualBasic.Left(num, 2))
' VB.NET
Dim num As Integer = 12345
Debug.WriteLine(num.ToString.Substring(0, 2))
Retirar X caracteres do meio de uma string:
' VB6
Dim num As Integer = 12345
Debug.WriteLine(Microsoft.VisualBasic.Mid(num, 1, 1))
' VB.NET
Dim num As Integer = 12345
Debug.WriteLine(num.ToString.Substring(0, 1))
Verifica qual o código ascii de um caracter:
' VB6
Debug.WriteLine(Asc("A"))
' VB.NET
Debug.WriteLine(Convert.ToByte("A"c))
Converte um código ascii no seu caracter:
' VB6
Debug.WriteLine(Chr(65))
' VB.NET
Debug.WriteLine(Convert.ToChar(65))
Mostra a data/hora actual:
' VB6
Debug.WriteLine(Now.ToString)
' VB.NET
Debug.WriteLine(DateTime.Now.ToString)
Mostra uma mensagem no ecrã:
' VB6
MsgBox("teste!")
' VB.NET
MessageBox.Show("teste!")
Converte para Inteiro:
' VB6
Debug.WriteLine(CInt("123"))
' VB.NET
Debug.WriteLine(Integer.Parse("123"))
Converte para String:
' VB6
Dim num As Integer = 12345
Debug.WriteLine(CStr(num))
' VB.NET
Dim num As Integer = 12345
Debug.WriteLine(num.ToString)
Verifica se uma expressão é numérica:
' VB6
Dim num As String = "12345"
If IsNumeric(num) Then
' verdadeiro
End If
' VB.NET
Dim num As String = "12345"
Dim result As Integer
If Integer.TryParse(num, result) Then
' verdadeiro e a variável result
' fica com o resultado em inteiro
End If
Verifica se uma expressão é uma data válida:
' VB6
Dim data As String = "5-2-2010"
If IsDate(data) Then
' verdadeiro
End If
' VB.NET
Dim data As String = "5-2-2010"
Dim dt As DateTime
If DateTime.TryParse(data, dt) Then
' verdadeiro e a variável dt
' fica com o resultado como DateTime
End If
Existem muitos mais exemplos, mas estes servem para mostrar algumas das formas de como podemos substituir as antigas funções do VB6 e começar a programar à “.NET way”
Espero que ajude!
0 comentários:
Enviar um comentário