This tutorial teaches syntax migration from VB6 to VB.NET with simple VB7/VB.NET comparison.
Terms of Agreement:
By using this article, you agree to the following terms...
You may use
this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
You may link to this article from another website, but ONLY if it is not wrapped in a frame.
You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.
Tutorial: How do I do it in VB.NET?
This tutorial explain some of the more common migrating problems from VB to
VB.NET.
VB7
Function PrevInstance() As Boolean
If Ubound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess).ProcessName))
> 0 Then
Return True
Else
Return False
End If
End Sub
Graphics
Load a picture
VB6
Picture1.Picture = LoadPicture(path)
VB7
Dim img As Image = Image.FromFile(path)
Picture1.Image = img
Load a icon
VB6
Me.Icon = LoadPicture(path)
VB7
Dim ico As New Icon(path)
Me.Icon = ico
File
I/0
Read from a file
VB6
Open path For Input As #1
Line Input #1, buffer
Close #1
VB7
Dim fs As FileStream = File.Open(path, FileMode.OpenOrCreate,
_ FileAccess.Read)
Dim sr As New StreamReader(fs)
Buffer = sr.ReadLine
sr.Close
Write to a file
VB6
Open path For Output As
#1
Write #1, buffer
Close #1
VB7
Dim fs As FileStream = File.Open(path, FileMode.OpenOrCreate, _
FileAccess.Write)
Dim sr As New StreamWriter(fs)
sr.Write(buffer)
sr.Close
Errors
Check for an error
VB6
On Error Goto errhandler
...
errhandler:
MsgBox(err.Description)
VB7
Try
...
Throw New Exception("error description goes here")
...
Catch e as Exception
MsgBox(e.Description)
End Try
Events
Handling
an event
In VB7, there is a new keyword called AddHandler. AddHandler makes handling
events a snap.
Excellent stuff, but why .NET has to be so obscure is beyond me. I can see us all writing wrapper classes for the next n months to simplify the syntax back to something memorable and to what it should have been in the first place... 8-( (If this comment was disrespectful, please report it.)
Looks interesting. I'm still not clear on the difference in syntax though. It seems to me that this .NET code could be just as simple as the vb6 code without much real change in the mothod. (If this comment was disrespectful, please report it.)
To understand why, you must look at the bigger picture - platform & OS indepentancy. This will mean that in the fututre, your application won't be tied just to 32-bit Intel platform & Windows OS. I've written a wrapper class to handle all VB7 'oddities' and am adding functions to them. Sean, great tutorial for those who need it! Keep them coming... (If this comment was disrespectful, please report it.)
In looking at this, it seems to me that VB.NET actually will take more time to code than VB6. Point in case: App.Path & App.EXEName VS. System.Reflection.Assembly.GetExecutingAssembly.Location.ToString Looks to me like MS wants you to get carpel tunnel syndrome... ;) Thanks for the info though!!! (If this comment was disrespectful, please report it.)
hey.. that was gr8.. but I need some diffrent help.. can u help me? please.. I need help badly.. but its easy.. but I am not getting it.. 5 globes from me.. (If this comment was disrespectful, please report it.)
9/23/2002 2:22:18 AM:
great job....keep it coming along.. (If this comment was disrespectful, please report it.)
Clean... (If this comment was disrespectful, please report it.)
1/31/2003 2:26:45 AM:
Good Show.. (If this comment was disrespectful, please report it.)
5/6/2003 5:16:39 AM:
Why it seems that VB.net is more difficult to code? I mean it takes longer code than the old VB. (If this comment was disrespectful, please report it.)
5/29/2003 9:48:31 PM:
I just got my hands on .NET, I need to catch up... Excellent head start for VB6 programmers (If this comment was disrespectful, please report it.)
It's really talking... compect and to the point.. 5 from me, good work! (If this comment was disrespectful, please report it.)
7/13/2003 3:15:21 PM:
im new to vb.net
how about Time() and Date() functions? i want to create a clock like the one displayed in the taskbar. thanks. (If this comment was disrespectful, please report it.)
11/6/2003 5:30:05 PM:
how about app.version ??? (If this comment was disrespectful, please report it.)
7/14/2004 6:23:48 AM:
You did very well! with all those coding differences,what is the best way to catch up.how do i resolve confusions.. (If this comment was disrespectful, please report it.)
nice work.. is there something out there to simlify these? and or maybe a larger file with more of these? i just got my hands on .net man.. i feel newbie all over.. it has been a few years since ive touched vb6 but wow.. this is painful! .. i look at it and almost want to not even try :O .. crawls back to his safety vb6 blanket. (If this comment was disrespectful, please report it.)
Please tell me how to know which causes a form to be closed in VB.NET. (In VB6, I use UnloadMode in event form_QueryUnload to determine) Thanks. (If this comment was disrespectful, please report it.)
This is what we all need. Please post more VB 6 --> VB.NET code equivalents. (If this comment was disrespectful, please report it.)
Add Your Feedback
Your feedback will be posted below and an email sent to
the author. Please remember that the author was kind enough to
share this with you, so any criticisms must be stated politely, or they
will be deleted. (For feedback not related to this particular article, please
click here instead.)