Accessing VB 6.0 functions in VB.NET

Hello Experts -

While trying to figure out how to test a string to determine if it held numeric data, I came across a web site that claimed that the functions found in the old standby VB were accessable in VB.NET.

Specifically, the site said:

"Looking for IsNumeric in VB.NETt

"I was wondering why a VB.NET class file was throwing up errors when I called the IsNumeric function the other day. After some googling i found out from Roy Osherove’s blog that you now need to import the Microsoft.VisualBasic Namespace to use this and a bunch of other once standard functions."

Is this true? If so, how exactly woud I go about importing the VB Namespace?

Maybe this is already common knowledge. Don't be too tough on me here. I'm only a beginner.

gbmcneilAsked:
Who is Participating?
 
PagodNaUtakCommented:
Put this on top your code:

Imports Microsoft.VisualBasic
0
 
gbmcneilAuthor Commented:
And, then I can take a VB 6.0 function like DateDiff and use it in VB.NET?
0
 
PagodNaUtakCommented:
After putting it on top of your code you can use the IsNumeric Function of VB6 but as a suggestion avoid using those functions.

0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
PagodNaUtakCommented:
Yes, but this approach is not recommended...
0
 
PagodNaUtakCommented:
0
 
gbmcneilAuthor Commented:
Are we talking potential corruption here. Or, just bad programming practice?
0
 
PagodNaUtakCommented:
We are talking about bad programming practice...

VB.Net is a new language, if you want to use the full potencial of vb.net avoid using functions that is from vb 6.0. There are new function in VB.net you just have to dig it down.

I understand what you are into, I used to be a vb 6.0 guy but when I understand the vb.net language (not an expert on this) I realize I have to forget those vb 6.0 function and move forward, if not, what is the sense of using this new language than programinng in vb 6.0.
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
I agree that you should strive to use only the newer native VB.Net functions.  One big reason is that the legacy functions are still ONE based, while the newer functions are ZERO based.  When you allow yourself to mix the old and new you can inadvertently create "off by one" bugs that are very hard to troubleshoot...
0
 
gbmcneilAuthor Commented:
Thanks very nuch for your help.
0
 
gbmcneilAuthor Commented:
It seems to me that VB.NET's program environment environment is phenominal, if you can just figure out the attribute or method you looking for. This is another way of saying I don't think the documentation is very good.

I spend hours just trying to figure out what function I need. I live on The Experts Exchange because it's the only way to make any progress programming.

Have you ever seen a good reference manual for VB.NET - without all the explanations? Just lists of attributes and methods.

I am led to believe that NET.Framwork consists of a 150,000 such descriptors.  
0
 
gbmcneilAuthor Commented:
Hi Idle -

What do you mean by "one based" versus "zero based"?
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
For instance, the legacy Mid() function is replaced with Substring().

Using Mid(), the first character in the string is accessed using 1 (one).
Using Substring(), the first character in the string is accessed using 0 (zero).
0
 
gbmcneilAuthor Commented:
Will you tell my mother if I continue to use Mid()?
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
I'm sure she'd be concerned and might stage an intervention!

If you only plan on developing in VB then use whatever floats your boat.  =)

One advantage to learning and using the native .Net functions is that you can theoretically jump to C# easier since the functions will be the same and only the syntax would differ.
0
 
gbmcneilAuthor Commented:
That day is not going to occur in my lifetime (and I'm not ninety years old).
0
 
gbmcneilAuthor Commented:
A last minute question. Is it called -

Imports Microsoft.VisualBasic.Information

or

Imports Microsoft.VisualBasic.Compatibility

and, if Microsoft.VisualBasic.Information is VB.NET VisualBasic, why would someone load a function library that already exists in VB.NET?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.