.NET
- Diferenças entre o Visual Basic 6.0 e o VB .NET (resumo)
Embora existam muitas diferenças entre o Visual Basic 6.0 e o Visual Basic .NET temos na tabela abaixo uma compilação resumida das principais diferenças entre as linguagens:
Recurso/Característica | Visual Basic 6.0 | Visual Basic .NET |
Controle Line | Disponível | Não Disponível |
Controle OLE container | Disponível | Não Disponível |
Dynamic data exchange(DDE) | Disponível | Não Disponível |
Controle Shape | Disponível | Não Disponível |
Data Access Objects (DAO) | Suportado | Não Suportado |
Remote Data Objects (RDO) | Suportado | Não Suportado |
instrução Option base | Disponível | Não Disponível |
Fixed-length strings | Suportado | Não Suportado |
Fixed-size array | Suportado | Suportado |
instrução ReDim | Declaração Array | Redimensionamento Array |
Universal Data Type | Variant | Object |
Currency Data Type | Suportado | Não Suportado |
Data Type para armazenar datas | Double | DateTime |
instrução DefType | Suportado | Não Suportado |
operador Eqv | Suportado | Não Suportado |
operador Imp | Suportado | Não Suportado |
Propriedades Default para objects | Suportado | Não Suportado |
Declaração de estruturas | Type...End Type | Structure...End Structure |
Escopo de uma variável
declarada em um bloco |
Escopo do procedimento |
Escopo do bloco de código no procedimento |
Valores para argumentos opcionais | Não requerido | Requerido |
Declaração de
procedimentos como estáticos |
Suportado | Não Suportado |
instrução GoSub | Disponível | Não Disponível |
Mecanismo padrão para
passar argumentos |
ByRef | ByVal |
Sintaxe do laço While | While...End | While ... End While |
Palavra-Chave Null | Suportado | Não Suportado |
Palavra-Chave Empty | Suportado | Não Suportado |
Função IsEmpty | Suportado | Não Suportado |
instrução Option Private Module | Suportado | Não Suportado |
evento Class_Initialize | Suportado | Não Suportado |
evento Class_Terminate | Suportado | Não Suportado |
Além das diferenças da tabela acima, o Visual Basic .NET não suporta várias aplicações suportadas pelo Visual Basic 6.0.
Por exemplo, o Visual Basic.NET não suporta documentos ActiveX, não suporta aplicações DHTML e classes da Web que o Visual Basic 6.0 suporta.
O Visual Basic.NET também é incompatível com os Windows Common Controls e os controles de grid vinculados a dados disponíveis no Visual Basic 6.0.
Da mesma forma, a propriedade usada para especificar o titulo(legenda) de um controle de Label no Visual Basic 6.0 é Caption no Visual Basic.NET usamos Text : Exemplo:
LblResult.Caption
=
"Macoratti" ->Visual
Basic 6.0
LblResult.Text = "Macoratti"
->Visual
Basic.NET
No Visual Basic 6.0 a propriedade usada para definir o foco em um controle (TextBox) era SetFocus no VB .NET usamos o método Focus:
Text1.SetFocus | Visual Basic 6.0 |
TextBox1.Focus | VB .NET |
No Visual Basic 6.0 a propriedade Password do controle TextBox é do tipo String ; no VB .NET é do tipo Char.
Atualização usando o Assistente
Além disso quando da atualização de uma aplicação Visual Basic 6.0 para VB .NET, o Assistente faz várias outras alterações no código durante o processo de upgrade.Vejamos algumas delas relacionadas com :
Arrays
Ao contrário do Visual Basic 6.0, no Visual Basic.NET, você não pode especificar o limite inferior para um array (uma matriz). No Visual Basic 6.0, o limite inferior padrão para uma matriz é 0, mas você pode mudar isso usando a instrução Option Base.
Em contraste, o Visual Basic.NET faz não suporta a instrução Option Base. Portanto, você não pode modificar o limite inferior para um array no Visual Basic.NET.
Considere a seguinte declaração, que é parte de um projeto no Visual Basic 6.0:
Dim MyArray (11 a 22) As String
Quando você atualizar o projeto Visual Basic 6.0 que contém a instrução de código anterior para Visual Basic.NET, o Assistente de atualização do Visual Basic atualiza com sucesso o projeto.
No entanto, o relatório de atualização para o projeto gerado pelo assistente exibe o seguinte aviso em tempo de execução: "Limite inferior de MyArray série foi mudado de 11 para 0."
Procedimentos de Propriedade
A sintaxe para definir propriedades em Visual Basic 6.0 e no VB .NET é diferente.
No VB 6.0, você pode usar as declarações Property Get e Property Let para definir propriedades. O Visual Basic.NET não suporta a declaração Property Let.
Considere o seguinte código declarado em um projeto Visual Basic 6.0:
Public Property Get MyProperty() As Integer MyProperty = MyProp End Property
Public Property Let MyProperty(ByVal MyValue As Integer) |
Quando você atualizar o projeto, o Assistente de atualização do Visual Basic modifica o código que é alterado para:
Dim MyProp As Short Public Property MyProperty() As Short Get MyProperty = MyProp End Get
Set(ByVal Value As Short) |
Objetos de ligação tardia (Late-Bound)
Da mesma forma que o Visual Basic 6.0 o Visual Basic.NET suporta objetos de ligação tardia. Quando você atualiza seus projetos para o Visual Basic.NET, no entanto, os objetos de ligação tardia pode apresentar problemas.
Ao atualizar um projeto, o Assistente de atualização do Visual Basic pode não ser capaz de resolver ou converter as propriedades de um objeto de ligação tardia. Isso ocorre porque atualização do Assistente não pode determinar o tipo de um objeto de ligação tardia.
Vejamos um exemplo para entender isso. Considere o seguinte código que é parte de um Projeto Visual Basic 6.0. O código a seguir é executado quando você clicar no botão Command1:
Private Sub Command1_Click()
Dim MyInt As Integer
Select Case (MyInt) |
Quando você atualizar o projeto
para o VB .NET, o relatório de atualização exibe o seguinte
aviso: "Não
foi possível resolver a propriedade padrão do objeto
MyObject.Caption objeto."
Como a ligação tardia é usada para alterar as legendas dos
controles Labels a atualização do Assistente Visual Basic não
pode identificar o tipo de objeto MyObject.
Portanto, o assistente gera um aviso em tempo de execução.
No Visual Basic 6.0, você define a legenda de um controle Label, usando a propriedade Caption do Label. No VB .NET, no entanto, a propriedade Caption é substituído pela propriedade Text. A seguir está o código atualizado para o evento Click do botão Command1.
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click Dim MyInt As Short Dim MyObject As Object MyInt = CShort(InputBox("Informe o valor 1 ou 2")) Select Case (MyInt) Case CInt("1") MyObject = Label1 'UPGRADE_WARNING: Couldn't resolve default property of object MyObject.Caption. MyObject.Caption = "Primeira Label" Case CInt("2") MyObject = Label2 'UPGRADE_WARNING: Couldn't resolve default property of object MyObject.Caption. MyObject.Caption = "Segunda Label" End Select End Sub |
Variáveis numéricas
No Visual Basic 6.0:
Em contraste, o Visual Basic.NET oferece três tipos de dados numéricos:
Portanto, quando você atualizar um projeto Visual Basic 6.0, na atualização do Visual Basic o Assistente converte todas as variáveis do tipo de dados Long para o tipo de dados Integer.
Veja os
Destaques e novidades do SUPER DVD Visual Basic 2013
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Rom 12:1 Rogo-vos pois, irmãos, pela compaixão de Deus, que apresenteis os vossos corpos como um sacrifício vivo, santo e agradável a Deus, que é o vosso culto racional.
Rom 12:2 E não vos conformeis a este mundo, mas transformai-vos pela renovação da vossa mente, para que experimenteis qual seja a boa, agradável, e perfeita vontade de Deus.
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#