Avatar of gbmcneil
gbmcneil
 asked on

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.

Microsoft Development.NET ProgrammingVisual Basic.NET

Avatar of undefined
Last Comment
gbmcneil

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
PagodNaUtak

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
gbmcneil

ASKER
And, then I can take a VB 6.0 function like DateDiff and use it in VB.NET?
PagodNaUtak

After putting it on top of your code you can use the IsNumeric Function of VB6 but as a suggestion avoid using those functions.

PagodNaUtak

Yes, but this approach is not recommended...
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
PagodNaUtak

gbmcneil

ASKER
Are we talking potential corruption here. Or, just bad programming practice?
PagodNaUtak

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.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Mike Tomlinson

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

ASKER
Thanks very nuch for your help.
gbmcneil

ASKER
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.  
Your help has saved me hundreds of hours of internet surfing.
fblack61
gbmcneil

ASKER
Hi Idle -

What do you mean by "one based" versus "zero based"?
Mike Tomlinson

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).
gbmcneil

ASKER
Will you tell my mother if I continue to use Mid()?
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Mike Tomlinson

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

ASKER
That day is not going to occur in my lifetime (and I'm not ninety years old).
gbmcneil

ASKER
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?
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck