Un progetto VB6, viene convertito in VB.Net da
Microsoft Visual Basic 2008 express edition e non solo.
I progetti VB6 che vengono convertiti in VB.Net, possono avere problemi solo se il progetto VB6 usa OCX deprecati.
Per la conversione, VB 2008 express, includerà la libreria:
Microsoft.VisualBasic.Compatibility e
Imports VB = Microsoft.VisualBasic
Queste estensioni permettono l'uso di molte istruzioni VB6 in VB.Net, molto utili per facilitare la portatilità del vecchio codice, ma con un'efficienza più bassa rispetto alle originali in ambiente VB6.
Un codice VB6 scritto male così:
Private Sub Form_Load()
a = Right("ciao", 2)
b = CStr(10)
c = Mid("ciao", 1, 2)
d = InStr(1, "ATTENZIONE", "NZ", vbTextCompare)
e = UCase("ciao")
End Sub
Verrà convertito così:
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim e As Object
Dim d As Object
Dim c As Object
Dim b As Object
Dim a As Object
a = VB.Right("ciao", 2)
b = CStr(10)
c = Mid("ciao", 1, 2)
d = InStr(1, "ATTENZIONE", "NZ", CompareMethod.Text)
e = UCase("ciao")
End Sub
End Class
Anche se il codice funzionerà, in VB.Net bisognerebbe usare le ben più efficienti e versatili istruzioni equivalenti:
Option Strict Off
Option Explicit On
Friend Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim a, b, c, e As String
Dim d As Integer
a = "ciao".Substring(2)
b = 10.ToString()
c = "ciao".Substring(1, 2)
d = "ATTENZIONE".IndexOf("NZ", 0, StringComparison.CurrentCulture)
e = "ciao".ToUpper
End Sub
End Class
Questo è solo un piccolo esempio, che non sminuisce la potenza e utilità dell'importer presente in
VB 2008 Express, che fa il primo passo.