Re: Jim's VB.Net Notes: Intro And Lesson 01

  • From: "Howard Traxler" <htraxler2@xxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Fri, 23 Jul 2010 07:13:05 -0500

Jim and others,
I would hope you will continue to post your work here as messages because, as an old-timer, i haven't yet done blogs nor those new fangled social sites and it's lots easier to compile a document from e-mail messages.

Thanks for your hard work.
Howard
----- Original Message ----- From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, July 22, 2010 10:01 PM
Subject: RE: Jim's VB.Net Notes: Intro And Lesson 01


Hi,
I'm sure there will be tutorials like this for CPP, Java and such - I'm
doing CPP version on my blog at http://joslee22590.blogspot.com.
Cheers,
Joseph

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry
Sent: Thursday, July 22, 2010 7:38 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: RE: Jim's VB.Net Notes: Intro And Lesson 01

Nod having this as a blog would be nice.  If it becomes an ongoing thing I
might if Jim doesn't mind copy his tutorial and make a C# one of it since
it's really a word for word copy with some minor changes here and there.

In the long run I would love to see something like this for every language
we have a Fruit basket for. Wouldn't that be cool a link to the fruit basket
then a link to a tutorial on how to get started with the language.  Wait
that would be too easy what ever happened to programmers drinking lots of
beer eating lots of pizza and learning so slow that they grow a beer gut,
butt, chin, and brain damage?


Ken

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jamal Mazrui
Sent: Thursday, July 22, 2010 9:48 PM
To: programmingblind@xxxxxxxxxxxxx
Cc: Homme, James
Subject: Re: Jim's VB.Net Notes: Intro And Lesson 01

Excellent work, Jim!  I think this kind of informal, gradually paced,
and friendly learning series can be helpful to many beginners.  I agree
with the suggestion that you create this as an ongoing blog series,
which would come with features for comments and trackbacks, etc.

Sorry I did not have a chance to get back to you sooner about the draft
you sent me.  Let me give some feedback here.

I suggest alerting users that scripts for JAWS or Window-Eyes are not
installed automatically, so if they are of interest, the user should
check appropriate options at the end of the EdSharp installer.

I suggest mentioning specific hotkeys whenever relevant, e.g.,
Control+Shift+F5 to pick a compiler and Control+F5 to compile.

One hotkey I use a lot can save a few keystrokes from your procedure to
create an alternate VB.NET compiler configuration.  To repeat the
current line on the next line, which is inserted, press Control+Y.  The
caret is placed at the beginning of the repeated line.  Make editing
changes as appropriate on that copied line.

A VB.NET program does, indeed, require at least one class and Main
method within it.  This method must be "shared" or "static" (C#
terminology).  If the "Module" keyword is used rather than the "Class"
keyword, then all members of the class are assumed to be shared, so that
attribute does not have to be specified on the Main method.

Jamal


On 7/22/2010 3:00 PM, Homme, James wrote:


Jim's Vb.net Notes

By Jim Homme

----------


Introduction

This is my brain dump to you as I learn Visual Basic .Net. I hope it
helps you.

I found, when I was learning my first programming language, Cobol, that
if I wrote the concepts down as I learned them, they stuck better.
Whatever your learning style, I hope you get something out of these notes.

----------


The Approach

The approach I will take is going to be simple. I'm going to try to
intentionally use short examples that teach a concept at a time. Along
the way, I will try to pull a few examples together that demonstrate
several concepts that we've recently gone over.

We will repeat concepts as we move through the notes, but when we do
that, with each successive treatment, we will dive deeper into the
concepts we repeat.

----------


Programming Environment

As our programming environment we'll use a text editor called EdSharp,
from Jamal Mazrui. So go get it from
http://www.empowermentzone.com/edsetup.exe. Install it. Get familiar
with it. Switch to the compiler setting for Visual Basic .Net. Then make
a directory for programs. Come back here when that's done and let's get
going.

----------


Adding A Compiler Setting For Visual Basic Console Applications

We'll write some console applications at the beginning of the tutorial
to cut down on and focus the learning curve. In order to get them to
compile properly, we need to set up a line in the EdSharp main.ini file
that will compile console applications. That's going to be extremely
easy as long as you carefully follow these next instructions.

Open EdSharp.

Press Alt + Shift + M. This opens the main.ini file.

Press Control + F and search for the string visual basic .net. The
cursor will land on a line that contains the command line string EdSharp
uses to compile a windows executable Visual Basic .Net program.

Put the cursor on the beginning of that line and press F8 to start a
selection block.

Scroll down until you've selected the entire compiler directive and move
one character past it.

Press Shift + F8. EdSharp selects the whole compiler directive.

Press Control + C to copy the text to the clipboard.

Create a blank line and paste with Control + V.

Change the beginning of the line to read something like Visual Basic
.net Console Application, so that you know what it does when you pick it
from the list of compilers.

Carefully move the cursor over to a string that reads in part winexe.

Delete the win from that string.

Save the file with Control + S.

You now will be able to compile Visual Basic .net Console applications
in EdSharp and you're ready for the first few lessons.

----------


Lesson 01: As Tradition Would Have It

Programmers are steeped in tradition. I'm not about to break tradition,
so our first program will be the HelloWorld program. It simply prints
the words "Hello world!" in quotes to the screen. I'll explain what's
going on after the program.

Let's get set up. For this lesson, and until I tell you to, use the
console application compiler setting you created in the introduction to
this tutorial. Probably the easiest thing to do is to put this tutorial
file in the folder where you have your programs and make it a favorite
in EdSharp. That way, you can make bookmarks in it and you don't have to
go through the File Open dialog to select a text file to open it.

For every program after this one, try to type it into EdSharp. Don't
paste. But do paste this one, because I want you to get used to
compiling a program and running it without the headache of compiler
errors to deal with.

In the future, I want you to type all programs in. If you type them in,
you'll get used to seeing compiler errors. Compiler errors are messages
the compiler puts on the screen when it doesn't understand something you
put in your program.

Once you've pasted the program, save it. Then compile it. Then go to the
command line and run it. To do that, type it's name without an
extension. It will print the words Hello world to the screen and wait
for you to press Enter.

So for every program you write, you're going to do three things.

1. Write some code.

2. Save it.

3. Run it.

Ready? Here we go.

----------


Let's Do It: Program 01, HelloWorld.vb

Paste the below program into a separate window and save it.

' HelloWorld.vb

' Print a message to the screen.

' Wait for the user to press Enter

' Exit

imports system

Module HelloWorld

Public Sub Main()

Console.WriteLine("Hello, world!")

Console.ReadLine()

End Sub

End Module

----------


What Did We Just Do: Program 01, HelloWorld.vb

There was a lot going on in that little program. As of this writing, I
don't know everything that happened, but here's what I know.

----------


Comments

Those lines at the top of the program that start with single quotes are
called comments. They give you a way to make notes to whoever is reading
your code. The compiler ignores them.

----------


The Line That Starts With Imports

This instructs the compiler to include a whole bunch of stuff from .Net.
I included this line, because I tried the program on two computers. It
wouldn't run on one computer without it.

----------


Code Blocks

In Visual Basic.Net, and any other language pretty much, we write
programs in chunks of code called code blocks. It's easy to tell in
Visual Basic.Net where a code block starts and ends. At the beginning of
a code block will be a line that starts with a keyword. At the end of
the code block will be the word end followed by that same keyword.

Our HelloWorld.vb program has two code blocks. One starts with Module
and ends with End Module. The other starts with Sub and ends with End Sub.

Module/End Module

 From what I understand at this point in my learning, every Visual
Basic.net program must have at least either one class or one module, and
the line at the top and bottom of this program satisfies that requirement.

----------


Sub Main/End Sub

 From what I know right now, any program that uses .Net must have a
routine whose name is main. This program satisfies that requirement.

----------


Console.WriteLine and Console.ReadLine

Here's what I know about these two lines.

The Console.WriteLine and Console.Readline statements are there to run
something called methods. Methods usually act on data in some way. The
second line is just there to make the program pause while you examine
the line on the screen that says "Hello world!" You'd normally use it to
get data from someone at the console who is using a keyboard to type
stuff for your program to do something with.

The Console.ReadLine method gets data, puts something onto the end of it
that makes your console take a new line, and sends all of that to the
screen.


----------


Sub/End Sub

The word right before main in the program tells Visual Basic that we're
starting something called a subroutine. A subroutine is another kind of
code block you can call to make it do stuff with data if you want to.
Later on in the tutorial, I'll have more to say about the differences
between subroutines and methods.

----------


Our Program's Relationship To .Net

The Imports System at the top of the program tells the compiler to bring
in a whole bunch of stuff in a thing called a name space. The name space
is called System. We're using something in the System name space called
Console. Console is a class. The Console class contains methods. We used
two of them.

----------


Lesson 01 Conclusion

As I said in the introduction to this tutorial, we are going to repeat a
lot of concepts, but go more deeply into them each time we do, so try to
put aside your curiosity about any questions you may have about the
things we've just barely touched on and get a feel for running the
program and think about how it's interacting with the system console.

Lesson 01 Lab: Your Turn

Copy the program to a new name and make sure the file name ends in .vb.
Change the stuff at the top of the program after the single quotes.
Compile it. Did anything change?

Go down inside the main subroutine and change the stuff inside the
quotes. Recompile and run the program. What happened this time?

Purposely introduce a misspelling in one of the lines and try to
recompile. What happened?

See you in the next lesson!

Jim

Jim Homme,

Usability Services,

Phone: 412-544-1810. Skype: jim.homme

Internal recipients, Read my accessibility blog
<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>.
Discuss accessibility here

<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>.
Accessibility Wiki: Breaking news and accessibility advice

<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%2
0Wiki/Forms/AllPages.aspx>



This e-mail and any attachments to it are confidential and are intended
solely for use of the individual or entity to whom they are addressed.
If you have received this e-mail in error, please notify the sender
immediately and then delete it. If you are not the intended recipient,
you must not keep, use, disclose, copy or distribute this e-mail without
the author's prior permission. The views expressed in this e-mail
message do not necessarily represent the views of Highmark Inc., its
subsidiaries, or affiliates.
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.441 / Virus Database: 271.1.1/3021 - Release Date: 07/22/10
18:36:00

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: