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: 

 

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

  2. Open up Visual Basic.

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

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

  1. 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***

 

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

 

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

 

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

 

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

 

  1. Run your program.  What happens when the form loads?  What happens when you click the Visible button?

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

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

  4. 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?

 

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

 

  1. Go into your code box.  Select General from the object drop-down menu.  Declarations should automatically come up in the procedure window.

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

 

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

 


 

  1.  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!”

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

 


 

  1. 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?

  1. Save your project again.

 

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