Chapter 7 - Dyessick

advertisement
Microsoft Visual Basic 2010:
Reloaded
Fourth Edition
Chapter Seven
More on the Repetition Structure
Objectives
After studying this chapter, you should be able to:
• Code a counter-controlled loop using the
For…Next statement
• Nest repetition structures
• Calculate a periodic payment using the
Financial.Pmt method
• Select the existing text in a text box
• Code the TextChanged event procedure for a text
box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
2
Objectives (cont'd.)
• Code a list box’s SelectedValueChanged and
SelectedIndexChanged event procedures
• Include a combo box in an interface
• Code the TextChanged event procedure for a
combo box
• Store images in an image list control
• Display an image stored in an image list control
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
3
The For...Next Statement
• For...Next statement: processes a set of
instructions a known number of times
– Is a pretest loop
• Counter-controlled loop: a loop whose processing is
controlled by a counter
• Counter variable: used to keep track of the number
of times the loop has been processed
• Startvalue, endvalue, and stepvalue items
– Control the number of times the loop is processed
– Must evaluate to numeric values
– Can be positive or negative
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
4
The For...Next Statement (cont'd.)
• A negative stepvalue causes the loop counter to
count down
• Decrementing: adding increments of a negative
number
• Flowchart symbol for the For...Next loop is a
hexagon
• Values for the counter variable, startvalue,
stepvalue, and endvalue are shown within the
hexagon
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
5
Figure 7-1:
How to use the
For…Next
statement
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
6
Figure 7-1:
How to use the
For…Next
statement
(cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
7
The For...Next Statement (cont'd.)
Figure 7-2: Processing steps for Example 1 in Figure 7-1
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
8
The For...Next Statement (cont'd.)
Figure 7-2: Processing steps for Example 1 in Figure 7-1 (cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
9
The For...Next Statement (cont'd.)
Figure 7-3: Problem specification for the Savings Account application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
10
The For...Next Statement (cont'd.)
Figure 7-4: Sample run of the Savings Account application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
11
Figure 7-5:
Pseudocode and
flowchart for the
Calculate button’s
Click event
procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
12
The For...Next Statement (cont'd.)
Figure 7-6: Calculate button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
13
The For...Next Statement (cont'd.)
• Can use For…Next or Do…Loop for a countercontrolled loop
• With Do…Loop, you must:
– Declare and initialize the counter variable
– Update the counter variable
– Include an appropriate comparison in the Do clause
• For…Next statement handles the declaration,
initialization, update, and comparison tasks
– Is more convenient to use
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The For...Next Statement (cont'd.)
Figure 7-7: Comparison of the For…Next and Do…Loop statements
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
15
Nested Repetition Structures
• Repetition structures can be nested
– Can use pretest or posttest loops for outer loop and
for inner (nested) loop
• A clock with minute and second hands
demonstrates nested loops
– Minute hand moves 1 position, then the second
hand moves 60 positions
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 7-8: Three
versions of the
logic used by a
clock’s minute
and second hands
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Nested Repetition Structures (cont’d.)
Figure 7-9: Modified problem specification for the Savings Account application
Figure 7-9: Sample run of the Savings Account application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Nested Repetition Structures (cont’d.)
Figure 7-11: Two versions of the Calculate button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 7-11: Two versions of the Calculate button’s Click event procedure (cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Payment Calculator Application
Figure 7-12: Problem specification for the Payment Calculator application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Payment Calculator Application
(cont’d.)
Figure 7-13: Sample run of the Payment Calculator application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Financial.Pmt Method
• Financial.Pmt method
– Calculates a periodic payment on a loan or investment
– Returns the periodic payment as a Double type value
• Rate and number of periods arguments must be
expressed in the same units (monthly, annual, etc.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
23
Figure 7-14: How to use the Financial.Pmt method
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
24
The Financial.Pmt Method
(cont’d.)
Figure 7-15: Pseudocode and code for the Calculate button’s Click event
procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 7-15:
Pseudocode
and code for
the Calculate
button’s Click
event
procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Selecting the Existing Text
in a Text Box
• SelectAll method: selects all text in a text box
for replacement typing
– User only needs to type the new value
• Enter event: occurs when the text box receives
the focus
– When the user tabs to the control
– When the user uses the control’s access key
– When the Focus method sends the focus to the
control
– When the user clicks in the text box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
27
Selecting the Existing Text
in a Text Box (cont'd.)
Figure 7-16: How to use the SelectAll method
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
28
Selecting the Existing Text
in a Text Box (cont'd.)
Figure 7-17: Loan text box’s Enter event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
29
Selecting the Existing Text
in a Text Box (cont'd.)
Figure 7-18: Result of processing the text box’s Enter event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
30
Selecting the Existing Text
in a Text Box (cont'd.)
• Entering a new value in the Loan text box does not
update the monthly payments until the user clicks
the Calculate button
– May cause confusion
Figure 7-19: New loan
amount entered in the
Loan text box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
31
Coding the TextChanged Event
Procedure
• TextChanged event
– Occurs when a change is made in a control’s Text
property
– Change may be made by user or the program
Figure 7-20: New principal entered in the Principal text box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
32
Coding the TextChanged Event
Procedure (cont’d.)
Figure 7-21: Result of processing the text box’s TextChanged event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
33
Coding the SelectedValueChanged
and SelectedIndexChanged Event
Procedures
Figure 7-22: The list box’s SelectedValueChanged
and SelectedIndexChanged event procedures
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
34
Including a Combo Box in an Interface
• Combo Box control:
– Similar to a list box with a list of choices
– List portion may be hidden
– May contain a text field that allows the user to type an
entry that is not on the list
• Three styles of combo boxes, controlled by the
DropDownStyle property:
– Simple
– DropDown (the default)
– DropDownList
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
35
Using a Combo Box in an Interface
Figure 7-23: Examples of the three styles of combo boxes
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
36
Figure 7-24: Code used to fill the combo boxes in Figure 7-23 with values
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
37
Using a Combo Box in an Interface
(cont'd.)
• Items.Add method: used to add items to a combo
box
• SelectedItem property: contains the value of the
selected item in the list
• Text property: contains the value that appears in
the text portion of the control (item selected or typed
in)
• Items.count property: used to obtain the number
of items in the combo box
• Sorted property: used to sort the items in the list
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
38
Using a Combo Box in an Interface
(cont'd.)
Figure 7-25: Sample run of the Payment Calculator application using a combo box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
39
Figure 7-26: Code for the Payment Calculator application shown in Figure 7-25
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
40
Figure 7-26: Code for the Payment Calculator application shown in Figure 7-25
(cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
41
Using an Image List Control
• Image List control:
– Stores a collection of images
– Does not appear on the form; appears in the
component tray
• Add images to the control using the Images
Collection Editor window
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-27: Image Viewer application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-28: How to add images to an image list control’s Images collection
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-29: Completed Images Collection Editor window
in the Image Viewer application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-30: How to refer to an image in the Images collection
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-31: Sample run of the Image Viewer application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using an Image List Control (cont’d.)
Figure 7-32: Code entered in the View button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Programming Tutorial 1
• Creating the Slot Machine Application
Figure 7-34: MainForm in the Slot Machine application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
49
Programming Tutorial 2
• Creating the Birmingham Sales Application
Figure 7-40: MainForm for the Birmingham Sales application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
50
Programming Example
• Raise Calculator Application
Figure 7-46: MainForm for the Raise Calculator application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
51
Summary
• For...Next statement: a pretest loop that will
process the instructions a fixed number of times
• A variable declared in a For clause has block
scope
• Use a hexagon in a flowchart for a For…Next loop
• Financial.Pmt method: calculates a periodic
payment on a loan or investment
• SelectAll method: highlights text in a text box
• TextChanged event: occurs when a control’s text
changes
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
52
Summary (cont'd.)
• Combo box: similar to a list box but may not
expose the list items until clicked
• Three styles of combo boxes: Simple, DropDown,
and DropDownList
• Combo box’s Items.Add method: adds an item to
the list
• Use SelectedItem, SelectedIndex, or Text
property of a combo box to set the default item in a
combo
• Combo box’s Items.Count property: used to
obtain the number of items listed in the combo box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
53
Summary (cont'd.)
• Combo box’s Sorted property: used to sort items
listed in a combo box
• Combo box’s SelectedItem property: contains
the value of the item selected in the list portion of
the combo box
• Combo box’s Text property: contains the value
that appears in the text portion of the combo box
• Combo box’s TextChanged event: occurs when
the user either selects an item in the list portion or
types a value in the text portion
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
54
Summary (cont'd.)
• Image list control: stores a set of images in its
Images collection
• Images in an image list control belong to the
Images collection
• Access an image in the Images collection using the
Item property with the index of the desired image
• Image collection’s Count property contains the
number of images in the collection
• Use a picture box control to display an image
contained in an image list control
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
55
Download