Chapter 6 - Dyessick

advertisement
Microsoft Visual Basic 2010:
Reloaded
Fourth Edition
Chapter Six
Repeating Program Instructions
Objectives
After studying this chapter, you should be able to:
• Differentiate between a pretest and a posttest loop
• Include pretest and posttest loops in pseudocode
and in a flowchart
• Write a Do…Loop statement
• Utilize counters and accumulators
• Display a dialog box using the InputBox function
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
2
Objectives (cont'd.)
•
•
•
•
Include a list box in an interface
Enable and disable a control
Refresh the screen
Delay program execution
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
3
The Repetition Structure
• Repetition structure (or loop): a structure that
repeatedly processes one or more program
instructions until a condition is met
• Looping condition: the requirement for repeating
the instructions
• Loop exit condition: the requirement for not
repeating the instructions
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
4
The Repetition Structure (cont’d.)
Figure 6-1: Example of a looping condition and a loop exit condition
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
5
The Repetition Structure (cont’d.)
Figure 6-2: Problem specification for the Getting to a Million Club application
Figure 6-3: Sample run of the Getting to a Million Club application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
6
The Repetition Structure (cont’d.)
Figure 6-4: Pseudocode containing only the sequence structure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
7
The Repetition Structure (cont’d.)
• Pretest loop
– The condition is evaluated before the instructions
within the loop are processed
– The instructions may be processed zero or more
times
• Posttest loop
– The condition is evaluated after the instructions within
the loop are processed
– The instructions are always processed at least once
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
8
Figure 6-5: Modified problem specification and pseudocode containing a loop
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
9
The Repetition Structure (cont'd.)
• Repetition statements in Visual Basic
– Do...Loop
– For...Next
– For Each...Next
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
10
The Do...Loop Statement
• Do...Loop statement: codes both a pretest and
posttest loop
• Loop body: the instructions between the Do and the
Loop clauses
• Use While or Until to code the condition for the loop
• Repetition symbol in a flowchart is the diamond
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
11
Figure 6-6: How to use the Do…Loop statement
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
12
The Do...Loop Statement (cont'd.)
Figure 6-7: Flowchart for the pretest loop example from Figure 6-6
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
13
The Do...Loop Statement (cont'd.)
Figure 6-8: Flowchart for the posttest loop example from Figure 6-6
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
14
Using Counters and Accumulators
• Counter: a numeric variable used for counting
• Accumulator: a numeric variable used for
accumulating (adding together)
• Initializing: assigning a beginning value to a
counter or accumulator variable
• Updating (or incrementing): adding a number to
the value of a counter or accumulator variable
• Counters are always incremented by a constant
value, usually 1
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
15
Figure 6-9: Modified pseudocode and code for the calcButton’s Click event
procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
16
Using Counters and Accumulators
(cont’d.)
Figure 6-9: Modified pseudocode and code for the calcButton’s Click event
procedure (cont’d.)
Figure 6-10: Sample run of the modified Getting to a Million Club application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
17
The Sales Express Company
Application
• Requirements: display the average amount the
company sold during the prior year
• Input: the amount of each salesperson’s sales
• Multiline property: if True, allows multiple lines
of text in a text box
• ReadOnly property: if True, prevents a user from
changing the text box contents during run time
• ScrollBars property: specifies whether a text
box has no scroll bars, horizontal or vertical, or
both
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
18
The Sales Express Company
Application (cont'd.)
Figure 6-11: Problem specification for the Sales Express Company
application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
19
The Sales Express Company
Application (cont'd.)
Figure 6-12: Sample run of the Sales Express Company application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
20
The Sales Express Company
Application (cont'd.)
Figure 6-13: Pseudocode for the Average button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
21
The Sales Express Company
Application (cont'd.)
• Priming read: used to obtain the first input
• Update read: allows the user to update the value
of an input item
• Infinite (or endless) loop: a loop that has no way
to end
• Must verify that a variable does not contain the
value 0 before using it as a divisor
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
22
Figure 6-14: Flowchart for the Average button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
23
The InputBox Function
• InputBox function: displays a predefined dialog
box that allows the user to enter data
– Contains a text message, an OK button, a Cancel
button, and an input area
• InputBox function returns:
– The user’s entry if the user clicks the OK button
– An empty string if the user clicks the Cancel button
or the Close button on the title bar
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
24
The InputBox Function (cont'd.)
Figure 6-15: Example of an input dialog box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
25
The InputBox Function (cont'd.)
• InputBox function arguments:
– prompt: the message to display inside the dialog box
– title: the text to display in the dialog box’s title bar
– defaultResponse: a prefilled value for the user input
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
26
Figure 6-16: How
to use the
InputBox
function
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
27
The InputBox Function (cont'd.)
Figure 6-16: How to use the InputBox function (cont'd.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
28
Figure 6-17: Code associated with the pseudocode and flowchart shown in
Figures 6-13 and 6-14, respectively
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
29
The InputBox Function (cont'd.)
Figure 6-17: Code associated with the pseudocode and flowchart shown in
Figures 6-13 and 6-14, respectively (cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
30
Including a List Box in an Interface
• List box: displays a list of choices from which the
user can select zero or more choices
• SelectionMode property: controls the number of
choices a user can select
– None: user can scroll but not select anything
– One: user can select one item
– MultiSimple and MultiExtended: user can select
multiple items
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
31
Adding Items to a List Box
• Items collection: a collection of the items in a list
box
• Collection: a group of one or more individual objects
treated as one unit
• Add method: adds an item to the list box’s Items
collection
– Items to be added must be converted to String
– String Collection Editor window can be used to
specify list items during design time
• Load event of a form: occurs when an application is
started and the form is displayed for the first time
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
32
Adding Items to a List Box (cont'd.)
Figure 6-18: String Collection Editor window
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
33
Adding Items to a List Box (cont'd.)
Figure 6-19: How to use the Items collection’s Add method
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
34
Adding Items to a List Box (cont'd.)
Figure 6-20: Add methods entered in the MainForm’s Load event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
35
Adding Items to a List Box (cont'd.)
Figure 6-21: Result of processing the Add methods in Figure 6-20
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
36
Adding Items to a List Box (cont'd.)
Figure 6-22: Sample run of the Jasper’s Food Hut application
Figure 6-23: Add to List button’s Click event procedure in the Jasper’s
Food Hut application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
37
Adding Items to a List Box (cont'd.)
Figure 6-24: Sample run of the Clark’s Chicken application
Figure 6-25: Add to List button’s Click event procedure in the Clark’s
Chicken application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
38
Adding Items to a List Box (cont'd.)
• Sorted property:
– Determines if the list box items are sorted
– Sort order is dictionary order
Figure 6-26: Examples of the list box’s Sorted property
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
39
Accessing Items in a List Box
• Index:
– A unique number that identifies an item in a
collection
– Is zero-relative: the first item has index of 0
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
40
Accessing Items in a List Box (cont'd.)
Figure 6-27: How to access an item in a list box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
41
Determining the Number of Items
in a List Box
• Items.Count property: stores the number of
items in a list box
– Count value is always one higher than the highest
index in the list box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
42
Figure 6-28: How to determine the number of items in a list box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
43
The SelectedItem and
SelectedIndex Properties
• SelectedItem property:
– Contains the value of the selected item in the list
– If nothing is selected, it contains the empty string
• SelectedIndex property:
– Contains the index of the selected item in the list
– If nothing is selected, it contains the value -1
• Default list box item: the item that is selected by
default when the interface first appears
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
44
The SelectedItem and
SelectedIndex Properties (cont'd.)
Figure 6-29: Item selected in the animalListBox
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
45
Figure 6-30: How to use
the SelectedItem and
SelectedIndex
properties
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
46
The SelectedItem and
SelectedIndex Properties (cont'd.)
Figure 6-31: How to select the default list box item
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
47
The SelectedValueChanged and
SelectedIndexChanged Events
• SelectedValueChanged and
SelectedIndexChanged events:
– Occur when a user selects an item in a list box
– Occur when a code statement selects an item in a list
box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
48
The SelectedValueChanged and
SelectedIndexChanged Events
(cont’d.)
Figure 6-32: Code showing the SelectedValueChanged and
SelectedIndexChanged event procedures
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
49
The SelectedValueChanged and
SelectedIndexChanged Events
(cont’d.)
Figure 6-32: Code showing the SelectedValueChanged and
SelectedIndexChanged event procedures (cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
50
The SelectedValueChanged and
SelectedIndexChanged Events
(cont’d.)
Figure 6-32: Code showing the SelectedValueChanged and
SelectedIndexChanged event procedures (cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
51
The SelectedValueChanged and
SelectedIndexChanged Events
(cont’d.)
Figure 6-33: Result of processing the code shown in Figure 6-32
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
52
The Product Finder Application
•
•
•
•
Allows the user to enter a product ID
Searches for the ID in a list box
If found, highlights the ID
If not found, ensures that no ID is highlighted in the
list box
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
53
Figure 6-34: Sample run of the application when the produce ID is found
Figure 6-35: Sample run of the application when the product ID is not found
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
54
The Product Finder Application
(cont'd.)
Figure 6-36: Pseudocode for the Find button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
55
Figure 6-37: Product Finder application’s code
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
56
Figure 6-37:
Product Finder
application’s code
(cont’d.)
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
57
The Color Viewer Application
• Enabled property: used to enable or disable a
control
– When False, the control appears dimmed (grayed
out), indicating it is not available for use
• Refresh method: ensures that the computer
processes any previous lines of code that affect the
interface’s appearance
• Sleep method: delays program execution
– Argument is specified in milliseconds
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
58
The Color Viewer Application (cont’d.)
Figure 6-38: MainForm in the Color Viewer application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
59
The Color Viewer Application (cont’d.)
Figure 6-39: View Colors button’s Click event procedure
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
60
Programming Tutorial 1
• Creating the Roll ‘Em Game
Figure 6-41: MainForm for the Roll ‘Em Game application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
61
Programming Tutorial 2
• Coding the Just Birthdays Application
Figure 6-52: MainForm for the Just Birthdays application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
62
Programming Example
• Grade Calculator Application
Figure 6-63: MainForm in the Grade Calculator application
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
63
Summary
• The three programming structures are sequence,
selection, and repetition
• Repetition structure (or loop): repeatedly processes
a set of instructions
• Pretest loop tests the condition before the
instructions are processed
• Posttest loop tests the condition after the
instructions are processed
• Do...Loop statement: codes a pretest or posttest
loop
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
64
Summary (cont'd.)
• Use a While or Until condition in a Do...Loop
• Flowchart symbol for repetition is a diamond
• Counter and accumulators: variables that calculate
subtotals, totals, and averages
• Priming read gets the first value prior to the loop
• Update read gets remaining values from the user
• InputBox function: allows user input
• Verify that a variable does not contain a value of 0
before using it as a divisor
• List box: displays a list of choices
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
65
Summary (cont'd.)
• List box’s Items collection: contains the items in the
list box
• Use String Collection Editor window to add list
items during design time
• Items.Add method: adds an item to the list during
run time
• Form’s Load event occurs before the form appears
• List box item’s index is used to access the item
• Items.Count property stores the number of items
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
66
Summary (cont'd.)
• SelectedItem property of a list box: contains the
value of the selected item in the list
• SelectedIndex property of a list box: contains
the index position of the selected item in the list
• SelectedValueChanged and
SelectedIndexChanged events occur when an
item in a list box is selected
• Enabled property: enables or disables a control
• Sleep method: delays program execution
• Me.Refresh: refreshes (redraws) the form
Microsoft Visual Basic 2010: Reloaded, Fourth Edition
67
Download