FIT 100

Lab 9:  Event Handlers, Variables and Assignments

Spring 2001

Reading to be done prior to Lab 9:

·         p. 69-75 (top of page) in Chapter 4 of Computer Programming Fundamentals with Applications in Visual Basic 6.0

 

Introduction:

In lecture this week the topics of variables and variable assignments were discussed.  Today in lab you are going to build on Lab 8 and the introduction of the VB IDE.  In Lab 8 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:

  1. To understand the importance of object names when changing properties and assigning values with code.
  2. To be precise in the declaration of variables and understanding how to assign values to them.
  3. To steadily add pieces of code to your program and increase it’s complexity.

 

TO DO: 

  1. Go into your Dante account.  FTP the ThisTime.exe that you were to have created outside of class for Lab 8 into C:\Documents.  Show your TA your working clock. (You can do this by opening up My Computer, going to the Documents folder, and double-clicking on the ThisTime.exe)

 

  1. FTP the project files with your name and the First form file from last lab into C:\Documents.

    (Note:  You named the project file with yourname.vbp and the form file First.frm). 

    Now FTP a picture that you used for your Project 1 as well (if we have time, we’ll put that picture into the picture box).

  2. Open up Visual Basic.

  3. Instead of creating a new project, click on the Existing tab and go to C:\Documents.  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 event procedures to them. These are instructions that the controls execute when specific events are fired. (Note: The command buttons, labels, etc. are all controls)

To attach an event procedure to 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? 

 

  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 object’s 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 of text that you will enter.

 

  1. Let’s use the name creatorinfo as a variable and declare it.  We want this variable to hold an expression made up of 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() 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. Bonus practice: Covered by the TA if there is time.

·         See if you can figure out how to insert the picture you ftp’d earlier into your picture box using the propertied of the object picMyPictureBox

·         Once you add a picture, you always need to send the picture with the project and form files if you want it to appear. (Just like sending pictures to go with HTML!)

·         However, if you make a program executable, then the image will be included in the code and you don’t have to worry about 3 separate files (.vbp, .frm, and the image file).

 

  1. Save your work to a disk and then FTP it (picture and all files) to your Dante account.

 

Looking ahead to Lab 10:

 

What happens when you want your program to make a decision between two possible actions a user might take?  If the user takes one action (or enters certain information), a certain thing must happen.  If they take another action, 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 or this 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 10, we will create a little program that asks a user to enter the temperature outside.  Once they enter that information and click on a submit button, the program gives them a reply as to how cold or hot it is.

 

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 10 will require the following objects:

 

2 labels

2 command buttons

1 text box

 

If you wish to get a head start on Lab 10, you can create a project that has a form with the following objects.  Save it for use in lab next week.

 

See you next week!