Você está na página 1de 6

31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .

NET (resumo)

.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:

Rec urso /Carac terístic a Visual Basic 6.0 Visual Basic .NET
Controle Line Dis ponível Não Dis ponível
Controle OLE container Dis ponível Não Dis ponível
Dynamic data exchange(DDE) Dis ponível Não Dis ponível
Controle S hape Dis ponível Não Dis ponível
Data Acces s Objects (DAO) S uportado Não S uportado
Remote Data Objects (RDO) S uportado Não S uportado
ins trução Option bas e Dis ponível Não Dis ponível
Fixed-length s trings S uportado Não S uportado
Fixed-s ize array S uportado S uportado
ins trução ReDim Declaração Array Redimens ionamento Array
Univers al Data Type Variant Object
Currency Data Type S uportado Não S uportado
Data Type para armazenar datas Double DateTime
ins trução DefType S uportado Não S uportado
operador Eqv S uportado Não S uportado
operador Imp S uportado Não S uportado
Propriedades Default para objects S uportado Não S uportado
Declaração de es truturas Type...End Type S tructure...End S tructure
Es copo de uma variável declarada Es copo do bloco de código
Es copo do procedimento
em um bloco no procedimento
Valores para argumentos opcionais Não requerido Requerido
Declaração de procedimentos como
S uportado Não S uportado
es táticos
ins trução GoS ub Dis ponível Não Dis ponível
M ecanis mo padrão para pas s ar
ByRef ByVal
argumentos
S intaxe do laço W hile W hile...End W hile ... End W hile
Palavra-Chave Null S uportado Não S uportado
Palavra-Chave Empty S uportado Não S uportado
Função Is Empty S uportado Não S uportado
ins trução Option Private M odule S uportado Não S uportado
evento Clas s _Initialize S uportado Não S uportado
evento Clas s _Terminate S uportado Não S uportado

http://www.macoratti.net/13/12/net_vbn1.htm 1/6
31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .NET (resumo)

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 A c tiveX, não suporta
aplicações DHTML e classes da W eb que o Visual Basic 6.0 suporta.

O Visual Basic.NET também é incompatív el com os W indow s Common Controls e os


controles de grid v inculados a dados disponív eis 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 é Captio n no Visual Basic.NET usamos Text : Exemplo:

LblResult.Captio n = "Mac o ratti"             ->Visual Basic 6.0


LblResult.Text = "Mac o ratti"                  ->Visual Basic .NET

No Visual Basic 6.0 a propriedade usada para definir o foco em um controle (TextBox)
era SetFo c us no VB .NET usamos o método Focus:

Text1.SetFo c us Visual Basic 6.0


TextBo x1.Fo c us VB .NET

No Visual Basic 6.0 a propriedade Passw ord 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, v ocê 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 v ocê pode mudar isso usando a instrução Optio n Base.

Em contraste, o Visual Basic.NET faz não suporta a instrução Optio n Base. Portanto,
v ocê 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 MyA rray (11 a 22) A s String

http://www.macoratti.net/13/12/net_vbn1.htm 2/6
31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .NET (resumo)

Quando v ocê 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 av iso 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, v ocê pode usar as declarações Pro perty Get e Pro perty 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)


   MyProp = MyValue
End Property

Quando v ocê 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)


     MyProp = Value
  End Set
End Property

Objetos de ligação tardia (Late-Bound)

http://www.macoratti.net/13/12/net_vbn1.htm 3/6
31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .NET (resumo)

Da mesma forma que o Visual Basic 6.0 o Visual Basic.NET suporta objetos de ligação
tardia. Quando v ocê 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 resolv er ou conv erter 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 v ocê clicar no botão
Co mmand1:

Priv ate Sub Command1_Click()

Dim MyInt As Integer


Dim MyObject As Object
MyInt = InputBox("Informe o v alor 1 ou 2")

Select Case (MyInt)


Case "1"
   Set MyObject = Label1
   MyObject.Caption = "Primeira Label"
Case "2"
   Set MyObject = Label2
   MyObject.Caption = "Segunda Label"
End Select
End Sub

Quando v ocê atualizar o projeto para o VB .NET, o relatório de atualização exibe o


seguinte av iso: "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 MyObjec t.
Portanto, o assistente gera um av iso em tempo de execução.

No Visual Basic 6.0, v ocê define a legenda de um controle Label, usando a propriedade
Captio n do Label. No VB .NET, no entanto, a propriedade Captio n é substituído pela
propriedade Text. A seguir está o código atualizado para o ev ento Click do botão
Command1.

http://www.macoratti.net/13/12/net_vbn1.htm 4/6
31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .NET (resumo)

Priv ate Sub Command1_Click(ByVal ev entSender As System.Object, ByVal ev entArgs As


System.Ev entArgs) Handles Command1.Click

Dim MyInt As Short


Dim MyObject As Object
MyInt = CShort(InputBox("Informe o v alor 1 ou 2"))
Select Case (MyInt)

Case CInt("1")
   MyObject = Label1
   'UPGRADE_W ARNING: Couldn't resolv e default property of object MyObject.Caption.
   MyObject.Caption = "Primeira Label"
Case CInt("2")
   MyObject = Label2
   'UPGRADE_W ARNING: Couldn't resolv e default property of object MyObject.Caption.
   MyObject.Caption = "Segunda Label"
End Select

End Sub

Variáveis numéricas

No Visual Basic 6.0:

- Uma v ariáv el do tipo de dados Integer é armazenada como número de 16 bits (2


bytes)
- Uma variável de tipo de dados Long é armazenada como um número de 32 bits (4-byte)

Em contraste, o Visual Basic.NET oferece três tipos de dados numéricos:

A v ariáv el de tipo de dados de Sho rt é armazenada como um número de 16 bits(2-


byte)
Uma v ariáv el do tipo de dados Integ er é armazenada como um número de 32 bits
(4 bytes)
A v ariáv el de tipo de dados Lo ng é armazenada como um número de 64 bits (8
bytes).

Portanto, quando v ocê atualizar um projeto Visual Basic 6.0, na atualização do Visual
Basic o Assistente conv erte todas as v ariáv eis do tipo de dados Lo ng para o tipo de
dados Integer.

http://www.macoratti.net/13/12/net_vbn1.htm 5/6
31/08/2018 .NET - Diferenças entre o Visual Basic e o VB .NET (resumo)

Veja os Destaques e nov idades do SUPER DVD Visual Basic 2013


(sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Veja mais sistemas completos para a plataforma .NET no Super


DVD .NET , confira...

Curso Básico VB .NET - Vídeo Aulas

Quer aprender C# ??

Chegou o Super DVD C# 2013 com exclusiv o material de


suporte e v ídeo aulas com curso básico sobre C#.

Curso C# Basico - Video Aulas

Ro m 12:1 Ro g o -vo s po is, irmão s, pela c o mpaixão de Deus, que apresenteis o s


vo sso s c o rpo s c o mo um sac rifíc io vivo , santo e ag radável a Deus, que é o
vo sso c ulto rac io nal.
Ro m 12:2 E não vo s c o nfo rmeis a este mundo , mas transfo rmai-vo s pela
reno vaç ão da vo ssa mente, para que experimenteis qual seja a bo a, ag radável,
e perfeita vo ntade de Deus.

       Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:

Seção VB .NET do Site Macoratti.net


Super DVD .NET - A sua porta de entrada na plataforma .NET
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Seção C# do site Macoratti.net
Comparando VB6 com VB.NET - Macoratti.net
VB.NET e C-Sharp - Comparando - Macoratti.net
Roteiro para migração VB6 => VB.NET - Macoratti.net
Contornando problemas na migração VB6 para VB ... - Macoratti.net
VB6 migrando para o VB.NET - Macoratti.net
Curso C# Basico - Vídeo Aulas
Curso Visual Basic .NET Básico - Video Aulas

José Carlos Macoratti

http://www.macoratti.net/13/12/net_vbn1.htm 6/6