I get the same question over and over, "How do I get started in VB?" This page provides a "cookbook" set of instructions and tips which should provide the answer for this question!
Return to top of document
Okay, let's make VB proficiency a step-by-step process. The bottom line is that you have to read, then practice what you read. Here are the guidelines for what to read, and in which order.Step 1. The Microsoft Visual Basic 6.0 Programmer's Guide
It is an excellent manual and can be bought from Microsoft Press. Read it front to back, and don't skip pages. Type in all the examples and run them until you understand them. Save what you type in. Keep a notebook of where you found the code examples. You will likely use most of them over and over on future projects. Read it a second and third time if you want to get maximum value from it. I've read mine so often that there are more highlighted sections than there are unmarked ones. If you can't talk yourself into reading the whole thing, then consider these suggestions:
- Chapters 1-5
- Chapters 6-8, 11-13
When The Need Arises
- Chapters 9, 10, 14-17
Your tools are the VB language statements and the VB controls. Imagine hiring a carpenter and when you hand him a hammer he says "What's this for?". You owe it to yourself and your employer to know what VB tools are available and how to use them. Reading the manual (Step 2) is the start, but it is only a start. I've prepared two summaries, which show you the kind of studying that really help your training. The first is a language summary and the second is a control summary. In the language summary I've summarize the VB statements according to the type of task they can perform. For controls, I've identified every single property, method and event. The key thing about the summary is that you'll find out exactly what similarities there are between tools, plus you'll see exactly how one tool differs from the other.Step 3. Sample Projects
Go through each of the samples that came with VB (in the samples directory). Pay special attention to the procedures that are provided in the samples. You will be able to re-use these in your own project over and over.Step 4. VB FAQs
Read the VB FAQs. Their information focuses on questions which are asked over and over by VB users, particularly newbies.Step 5. VB Knowledge Base
Once upon a time, Microsoft offered files with list of Questions and Answers about VB. It was called the VB Knowledge Base. Now, Microsoft has integrated the VB KB into it's site-level Knowledge Base and you can access it online at http://support.microsoft.com
The older files are still available at the Microsoft FTP site and are worth reading all the way through (at least the titles). The reason these articles are there is that VB users wanted to know how to do things. You may not know what half of the articles are good for right now. But when you run into the same limitations as are addressed by the articles, you'll be glad you know what is in the Knowledge Base.Step 6. VB Help file
Go through the VB Help file, just like it was a manual. Pay close attention to the examples..Step 7. Books
Two books are key, Appleman's VB Programmer's Guide to the Windows API, and the Waite Group's book, Visual Basic How-To. These are not beginner level books (although the How-To is pretty easy to follow when API are not required), so you may not want to tackle them till you get through the Programmer's Guide. Both books have diskettes which are definitely worth going through in detail.Step 8. VB Programmer's Journal
There are good magazines on VB, as well as general computer magazines which cover VB topics from time to timeStep 9. 3rd Party Catalogs
Read through catalogs of VB 3rd party controls/DLLs to get a good overview of what capabilities are available. This will give you insight as to the limitations of VB by showing what features other people thought were missing from VB.Step 10. 3rd Party Software
Download and evaluate as many as possible of the 3rd party shareware tools located at the various archives. Be sure to register the ones you plan to keep and use.
Okay, so there are a lot of major differences between the two, but when it comes to coding, if you know BASIC, QuickBasic or QBASIC then you have an excellent foundation for succeeding with Visual Basic. The event-driven model used by VB is new, as are many of the VB concepts, but you will be using BASIC-like code to implement the VB concepts. The point is not to let VB take on an aura of something strange and mysterious. It's not called Visual BASIC for nothing.Rule 2. You must code to get good at coding.
Cross training is a myth. You can't get good at running by jumping, and you can't get good at coding by reading. All the materials listed in the Step-by-Step section are worthless unless you practice what you have read. This means code, code, and more code!Rule 3. Memorization is your most productive tool.
I hate it when my kids say "Dad, I can't quote the exact answer but I know where to look it up!". My personal philosophy is that as a programmer I want to create my applications as quickly as possible. When I have the syntax of VB commands memorized I can whip through an application in record time. If I had to stop and look up the syntax in the user's guide for every line of code I wrote, I'd more than triple the time it takes to complete an application. The moral of this story is that when you are reading the manuals, read with the intent to remember exactly what you read, not just where it can be found!
The corollary to this rule is that you must learn to type efficiently. I'm always amazed at my co-workers amazement at how fast I type. For me, to think it is to have it typed already. The value of this should be obvious. If you can't type efficiently you'll not only slow down how fast you record your ideas, but you'll also interrupt your creative process with the mundane task of watching your fingers single-stroke an idea. Have you ever noticed how distracting it is to listen to a slow speaker? Same idea applies to typing!Rule 4. Time is your worst enemy.
In the early stage of your learning cycle, don't get off on a tangent by looking into low-percentage learning tools (i.e., User Groups, USENET, and other group activities). These tools are excellent for getting an answer to a specific question, but do not provide as much return on investment of your time as individual study and coding practice. You shouldn't hesitate to seek help when a particular problem is slowing you down, but group activities rarely provide value to you except for a fraction of the time you're involved with the activity.
Please note that as your skills develop, and after you have absorbed much of the literature available to you, that group activities will take on more importance. At that point, you will better understand where your deficiencies lie, and can take better advantage of group activities.Rule 5. Start small.
Remember to start with small coding projects and work your way up to more complex ones. The examples in the VB Programmer's Guide (that came with VB) are very short and you should have little trouble with them. Programming skills are additive and you will get more frequent, positive feedback if you tackle many little projects instead of a few large ones.Rule 6. If you don't have a big project, get one!
As soon as you're comfortable with the basic skills, then start a big one of your own choosing. Until you have a personal need for a capability of VB, reading about it is like hearing about sex! You've got to do it to appreciate how great it is! Big projects have a way of causing you to reach the limits of Visual Basic in a way that little projects don't. It is often the interaction of VB elements which gives a programmer difficulty, and large projects provide more of this than small projects. Notice that the intent is not just to have a program with many lines of code, but to have a project that uses as many features of VB as possible.Rule 7. Use 3rd Party Tools.
This follows from Rule 2. Often, a 3rd party vendor puts hundreds, or thousands of hours into his product. If he sells it to you for under $100, it is an absolute bargain. As a paid programmer, your job is to get the software completed as quickly as possible and at the lowest cost. When you charge $40-$75 an hour, you are treating your customer poorly if you spend hours recreating something that is already available as a 3rd party tool for less money than you would charge for your own efforts.
I don't recommend the use of 3rd party tools until after you have mastered the basics of VB and have had the experience of trying to create your own code to replicate a 3rd party tool. You'll appreciate it more that way.Rule 8. Attend training classes wisely.
I have a strong opinion about classes. You don't get the most from a class unless you have worked with the topic on your own before coming to class. So, if you decide to take a class, then I recommend that you wait until you have used VB enough that you have a mental list of things you don't seem to understand. Then take a class and you'll get more out of it. If you go in with no prior knowledge, you won't appreciate what is significant or what is not.