FIT 100
Lab 8:
Event Handlers, Properties and Variable Assignment
Autumn 2001
Reading for Lab 8:
·
Chapter
6 (p. 278-309) and 7 (p. 335-346) of Learn
to Program with Visual Basic 6.0
OR
·
How
to Use Visual Basic, Chapter 6
http://library.books24x7.com/toc.asp?bkid=888
This link will be active through November 12, 2001.
You
have to be on campus, or coming in through the UW proxy server, to access the
page.
Introduction:
In lecture this week the topics
of variables and variable assignments were discussed. Today in lab you are going to build on Lab 7
and the introduction of the VB IDE.
In Lab 7 you created a form with many objects on them. Those objects all have names associated with
them. You will learn more about event
handlers and how to attach code to certain event handlers to change the
properties of those objects. You will
also learn to declare variables, assign values to those variables, and use
those variables as part of your program.
If there is time at the end of lab, the concept of conditionals will be
introduced.
Objectives:
- To understand the importance of object names when
changing properties and assigning values with code.
- To be precise in the declaration of variables and understanding
how to assign values to them.
- To steadily add pieces of code to your program and
increase it’s complexity.
TO DO:
- FTP the Lab7 folder that contains the project file
with your name and the First form file from last lab to the C
drive. Or, if you saved it to disk,
go to the project file there.
(Note: You named the project
file with yourname.vbp and the form file First.frm).
- Open up Visual Basic.
- Instead of creating a new project, click on the
Existing tab and go to C:\Documents\Lab7.
Open the project with your name.
Go to the Properties Window and open up your form, First, by double clicking on it.
- Let’s make this form do something. Although we have
buttons on our form, we haven’t instructed them to do anything yet. Try
running your program. While there
are several ways to run a program from the IDE, for now just press F5 or
press the Start button on the toolbar. Click one of your buttons.
Does anything happen? No, because we haven’t given the program anything to
do. Press the stop button to end
the program and return to the design area of the form.
To make the buttons do something we need to attach code to event procedures.
These are instructions you write that are executed when specific events related
to controls are triggered. (Note: The command buttons, labels, etc. are all
controls)
To attach code to an event procedure for each of our buttons we need to open
the Code Window and write some Visual Basic instructions.
- Open the Code Window by double clicking on the cmdBlue button. You will be inside of the Click() event procedure. Type in the
following code so that your procedure looks like this:
Private Sub cmdBlue_Click()
First.BackColor
= vbBlue
End Sub
***Remember that the VB IDE will
help you out and type in the first and last lines that are needed for the event
procedure***
- While you are
still in the Code Window notice that there are two drop down boxes at the
top. The one on the left should say “cmdBlue”.
This is the object list box. The one on the right should say
“Click”. This is the procedure list box. Select cmdRed
from the object list box and type in the following code so that your
procedure looks like this:
Private Sub cmdRed_Click()
First.BackColor
= vbRed
End Sub
- Close the Code Window and run your program. What
happens when you click on the Red or Blue buttons? Turn to the person next to you and
explain it to them.
- Let’s work with one of the other buttons (cmdVisible) and the text box (txtATextBox) to demonstrate some other
properties you can manipulate.
·
Open up the Code Window by
double-clicking on the form, or by selecting View>Code from the menu
bar.
·
Select Form in the object
list box and Load in the procedure list box (the Load event will come up
by default). Type in the following code:
Private Sub Form_Load()
txtATextBox.Visible
= False
End Sub
- Now select cmdVisible
in the object menu and Click in the procedure menu and type in
the following code:
Private Sub cmdVisible_Click()
txtATextBox.Visible
= True
End Sub
- Run your program.
What happens when the form loads?
What happens when you click the Visible
button?
- Save your project.
You have set the names of the form and the project, so all you need
to do is click on the save icon to save both.
- Inside of the cmdClick
button click event, assign the value of the text in txtATextBox
to the caption of lblALabel. Add this statement in between the
opening and closing statements that appear:
lblALabel.Caption = txtATextBox.Text
- Run your program.
Click on the Visible button and your text
box appears. What happens when you
then click on the “This is where you click!” Button?
- Save your project again.
Declaring variables and assigning values:
So far we have worked with
objects (controls), their properties and some assignments. Now it is time to declare variables and
assign particular values to them.
Since we may want a little help in debugging our code in the future, were going
to ask VB to keep track of the variable names we use and alert us when they
haven’t been properly declared.
- Go into your code box. Select General from the object
drop-down menu. Declarations
should automatically come up in the procedure window.
- Add the following two words to the General area (the
very top of your code page):
Option Explicit
When you use the Option Explicit statement, you must explicitly
declare all variables. If you
attempt to use an undeclared variable name, an error occurs. This will help you write better, more
precise code and help you catch errors.
The next step in our program is
to declare a variable (to allocate some space in memory) to hold a piece of
data. The data that this variable will
hold is a string value (i.e. text) that you will enter.
- Let’s use the name creatorinfo
as a variable and declare it. We
want this variable to hold text, so we’ll declare it as a String
variable. Enter the following
statement after the Option Explicit statement:
Dim creatorinfo as String
- Now, here’s
the tricky part. We want to use
this variable to hold some information about you, the creator of this
program. We want this info to
appear when a user clicks on the lblALabel
object.
·
Assign a value to the
variable. We will have that value
assigned when the form loads. (This is called initializing the variable)
Inside of your Form_Load() event procedure, initialize your variable creatorinfo by adding the statement:
creatorinfo = “Hello there! This is <your name>, and I wrote
the code for this program!”
- You only want the value of creatorinfo
to appear in the caption of the lblALabel
when someone clicks on the label.
So the statement that controls that assignment should be located in
the lblALabel click event.
·
In the code window, select lblALabel from the object menu and the Click
event from the procedure menu. The
following statement should be added into the procedure:
lblALabel.Caption
= creatorinfo
- Run your program.
·
Click on the Visible
button and your text box appears.
·
Type in some text in the text box
·
Click on the “This is where you
click!” button-your text in the text box now appears in the label.
·
Now, click on the label. The value you assigned to creatorinfo
appears as the caption of the label.
·
Trés
cool, no?
- Save your project again.
- You work has been saved to the Lab7 folder during class
time. Now, FTP the whole folder back
to your Dante account.
Looking ahead to Lab 9:
What happens when you want your
program to make a decision between two possible actions? What if the program makes that decision based
on two or more actions a user might make?
If the user takes one action (or enters certain information), a certain thing
must happen. If they take another
action, then another, different thing must happen. When a choice must be made, then conditionals
need to be used to give the program the precision it needs to run correctly.
Conditionals take the following
form when used in a VB program:
If
<some statement is true or false> Then
<perform some action>
Else
<perform a different action>
End
If
The syntax (or the way this
statement is written out) varies from language to language, but the idea is the
same. The above syntax is what is used
in Visual Basic.
For Lab 9, we will create a
little program that asks a user to give their birth date. Once they enter that information and click on
a submit button, the program tells them their sign.
Think about how you would write
an algorithm that would give one of two answers depending on the information
entered by the user.
Your form (the interface) for Lab
9 will require the following objects:
2 labels
1 command button
1 text box
12 option buttons (radio buttons)
If you wish to get a head start
on Lab 9, you can create a project that has a form with the following
objects. Save it in a folder called Lab9
and upload the entire folder to Dante for use in lab next week.