Hi Every one

As I am still in the learning curve of vb.net I have 2 Question

1- Before I as start learning vb.net I know vb6 (good) and visual foxpro (Professional). In these 2 languages every thing that cannot be handled with there native command, I use win32 API calles to accomplish my job, then some expert programmer who knows both c# and foxpro mention that in .Net there is no need to use COM server such FileSystemObject or API calls anymore in any .Net Languages since they are internally integrated in .net Libraries.

I am seeing to much VB.Net code that is still using API calls and few which is still using the COM Object.

My #1 question, Is all these examples posted by not very experienced programmers so they still use what they know from vb6 or it is true that all API functions is included in the .Net Libraries?

My #2 Questioin: Where I can find the list of all .Net Libraries Function (AFAIK almost 3600 Functions) ?


1- .NET still supports calling to APIs through COM and adding reference to unmanaged libraries say user32.dll, kernel.dll, etc
2- Object browser in Visual Studio or some decompilers.

Thank you Ramy for your reply

I know API are still supported, but my question was Is "ALL" API calls are included? I guess most of them.

Does it matter if 'all' or 'most' are supported?

What are you trying to point out with that.....? (the same on your #1 question about experienced programmers)...

Like RamyMahrous said, the objectbrowser gives you a detailed view of the managed objects.

Does it matter if 'all' or 'most' are supported? .

Yes it matter to me

I am learning vb.net, so when some vb.net guy say some info, I cannot argue with him because I don't have the knowledge yet.

How the above is matter?
#1 I did not know if it is bad or good to use API calls in vb.net, but after I found many code sample still using API I begin to wonder.

#2 copying my foxpro or vb6 code and paste it in vb.net without changing or finding replacement for the API calls because it will run, so I will not bother myself seeking for vb.net way

#3 I know now that the code will run at same efficiency even it was in API or .Net Libraries. So the saying "using .net function" is always better is not true?

What are you trying to point out with that.....? (the same on your #1 question about experienced programmers)...

I am moving from foxpro to vb.net . It is not an easy job for me to do so, I am reading as much I can but I will give you 2 example

Once I post a question about how to find how many occurrence of first string in the second string. I search google and all function I found is minimum 6 line and some has 30 lines just to get the value, after many days I found a code with 2 lines.

Now In foxpro there is a function called EVALUATE(), this function work like this
text1.Text = "Whatever"
myvar = "text1.Text"
? Evaluate(myvar) <-- should give "Whatever"
I asked and searched and someone suggested this
and someone suggested this one
Dim Evaluate As New Collection
Evaluate.Add(Text1, "Text1")
Print Evaluate("Text1")

What is the point from the above 2 example? I am finding difficulty to understand the .net libraries, there is to many functions and I am still finding troubles to convert my foxpro code to vb.net code

I have a fospro code that is 10 lines long, in order to make work with vb.net it becamse 50 lines. so I am not satisfied.

most people are still thinking as in the old ways, they still think when they are using vb6 or whatever language.

My question about "experienced programmer" is that.
Should they use .net libraries function or that does not matter?

Like RamyMahrous said, the objectbrowser gives you a detailed view of the managed objects

That will give me the list of PEMs, What i am searching on is what every PEMs do, I want the description so I can read what each one do so I can use in my project

Thank you for your input.

Aha, this points out the way you think.
Yes, there are so many solutions in solving a problem in VB.Net. You can still use some good'old VB6 syntax. The designers of .Net, esspecially VB, didn't want to break out at once without supporting the old-fashion code.
For example, string manipulation is one of those major discussed features of .Net. It still supports some VB6 style while its all designed in the System.Text namespace but some very nice and fast changes has been made to that namespace, even in the .Net evoluation. Think about the stringbuilder class, string.compare, indexoff and so on.....
Another example are the use of Collections (generic) and/or List (of T) objects which are better designed than the VB6 collections but still use the same inplementation.

The Netherlands

I guess I have a lot to learn and suffer.

I just hope I don't explode before I finish my first project. :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.