Programming with Microsoft Visual Basic 2010 5 th Edition

advertisement
Programming with
Microsoft Visual Basic 2010
5th Edition
CHAPTER THREE
USING VARIABLES AND CONSTANTS
Previewing the Modified
Playtime Cellular Application
Previewing the Playtime Cellular application
◦
◦
◦
◦
Access Run command on Start menu
Browse to VB2010\Chap03 folder
Click the Playtime Cellular (Playtime Cellular.exe) file
View order form
Enter customer information from pages 119-120
Completed application resembles Chapter 2 version
Programming with Microsoft Visual Basic 2010, 5th Edition
2
Figure 3-2 Completed order form
Programming with Microsoft Visual Basic 2010, 5th Edition
3
Lesson A Objectives
After studying Lesson A, you should be able to:
Declare variables and named constants
Assign data to an existing variable
Convert string data to a numeric data type using the TryParse method
Convert numeric data to a different data type using the Convert class
methods
Programming with Microsoft Visual Basic 2010, 5th Edition
4
Lesson A Objectives (cont’d.)
Explain the scope and lifetime of variables and named constants
Explain the purpose of the Option Explicit, Option Infer, and Option
Strict
Programming with Microsoft Visual Basic 2010, 5th Edition
5
Using Variables to Store
Information
Controls and variables temporarily store data
Variable: Temporary storage location in main memory
◦ Specified by data type, name, scope, and lifetime
Reasons to use variables
◦ Hold information that is not stored in control on form
◦ Allow for more precise treatment of numeric data
◦ Enable code to run more efficiently
Programming with Microsoft Visual Basic 2010, 5th Edition
6
Using Variables to Store
Information (cont’d.)
Selecting a data type for a variable
◦ Data type: Specifies type of data a variable can store
◦ Provides a class template for creating variables
Unicode
◦ Universal coding scheme for characters
◦ Assigns unique numeric value to each character in the written languages of
the world
Programming with Microsoft Visual Basic 2010, 5th Edition
7
Figure 3-3
Basic data types in
Visual Basic
Programming with Microsoft Visual Basic 2010, 5th Edition
8
Using Variables to Store
Information (cont’d.)
For this course:
◦ Use Integer data type for all integers
◦ Use either Decimal or Double data type for numbers containing decimal
places or numbers used in calculations
◦ Use String data type for text or numbers not used in calculations
◦ Use Boolean data type for Boolean values
Programming with Microsoft Visual Basic 2010, 5th Edition
9
Using Variables to Store
Information (cont’d.)
Selecting a name for a variable
◦ Variables are referred to by name
◦ Identifier: Another term for variable name
Guidelines for naming variables
◦ Use Hungarian notation, with a three-character prefix representing the
variable’s data type
◦ Name should be descriptive: e.g., dblLength
◦ Use camel case: e.g., dblSalesAmount
Must follow variable naming rules
Programming with Microsoft Visual Basic 2010, 5th Edition
10
Figure 3-4 Variable naming rules and examples
Programming with Microsoft Visual Basic 2010, 5th Edition
11
Using Variables to Store
Information (cont’d.)
Declaring a variable
◦ Declaration statement: Used to declare (create) a variable and reserve space in
memory for it
Syntax shown in Figure 3-5 on next slide
If no initial value is given to variable when declaring it, computer stores
default value
◦
◦
◦
◦
Numeric variables are set to 0
Boolean variables are set to False
Object and String variables are set to Nothing
Date variables are set to 1/1/0001 12:00:00AM
Programming with Microsoft Visual Basic 2010, 5th Edition
12
Figure 3-5 Syntax and examples of a variable declaration statement
Programming with Microsoft Visual Basic 2010, 5th Edition
13
Assigning Data to an Existing
Variable
Assignment statement: Assigns value to variable at run time
◦ Syntax: variablename = expression
◦ Expression may include literal constants, object properties, variables,
keywords, arithmetic operators
Literal constant
◦ Data item whose value does not change
◦ Example: The string “Mary”
Literal type character
◦ Forces literal constant to change data type
Programming with Microsoft Visual Basic 2010, 5th Edition
14
Assigning Data to an Existing
Variable (cont’d.)
TryParse method: Converts string to number
TryParse is preferred over Val
◦ Allows programmer to specify data type
◦ Val only returns a type Double value
Syntax shown in Figure 3-7 on next slide
◦ dataType: Numeric data type, such as Integer
◦ string : String to be converted
◦ variable : Variable that receives the numeric value
Programming with Microsoft Visual Basic 2010, 5th Edition
15
Figure 3-7 Basic syntax and examples of the TryParse method
Programming with Microsoft Visual Basic 2010, 5th Edition
16
Assigning Data to an Existing
Variable (cont’d.)
Convert class: Can be used to convert a number from one type to
another
Syntax shown in Figure 3-9 on next slide
–Convert: Name of class
–method: Converts value to specified data type
–value: Numeric data to be converted
TryParse is recommended for converting strings to numeric data types
◦ Will not produce an error if conversion fails
Programming with Microsoft Visual Basic 2010, 5th Edition
17
Figure 3-9 Syntax and examples of the Convert class methods
Programming with Microsoft Visual Basic 2010, 5th Edition
18
The Scope and Lifetime of a
Variable
Scope: Indicates where variable can be used
Lifetime: How long variable remains in memory
Scope and lifetime are determined by where variable is declared
Three types of scope
◦ Class: Variable can be used by all procedures in a form
◦ Procedure: Variable can be used within procedure
◦ Block: Variable can be used within specific code block
Programming with Microsoft Visual Basic 2010, 5th Edition
19
The Scope and Lifetime of a
Variable (cont’d.)
Variables with procedure scope
◦
◦
◦
◦
Can be used only by that procedure
Declared at beginning of procedure
Removed from memory when procedure ends
Declared using Dim keyword
Most variables used in this course will be procedure-level variables
Sales tax example UI and code given on following slides illustrate use of
procedure variables
Programming with Microsoft Visual Basic 2010, 5th Edition
20
The Scope and Lifetime of a
Variable (cont’d.)
Figure 3-10 User interface for the Sales Tax Calculator application
Programming with Microsoft Visual Basic 2010, 5th Edition
21
Figure 3-11
Click event
procedures using
procedure-level
variables
Programming with Microsoft Visual Basic 2010, 5th Edition
22
The Scope and Lifetime of a
Variable (cont’d.)
Variables with class scope
◦
◦
◦
◦
Can be used by all procedures in a form
Declared in form’s Declarations section
Remain in memory until application ends
Declared using Private keyword
Total Sales example UI and code given on following slides illustrate use
of class-level variables
Programming with Microsoft Visual Basic 2010, 5th Edition
23
The Scope and Lifetime of a
Variable (cont’d.)
Figure 3-12 User interface for the Total Sales application
Programming with Microsoft Visual Basic 2010, 5th Edition
24
Figure 3-13 Code using a class-level variable
Programming with Microsoft Visual Basic 2010, 5th Edition
25
Static Variables
Static variable: Procedure-level variable with extended lifetime
◦ Remains in memory between procedure calls
◦ Retains its value even when the procedure ends
Static keyword: Used to declare static variable
Static variables act like class-level variables but have narrower scope
◦ Can only be used within procedure where declared
Programming with Microsoft Visual Basic 2010, 5th Edition
26
Figure 3-14 Code using a static variable
Programming with Microsoft Visual Basic 2010, 5th Edition
27
Named Constants
Named constant
◦ Memory location inside computer whose contents cannot be changed at run
time
Const statement: Creates named constant
◦ Stores value of expression in named constant
◦ expression: Can be literal constant, another named constant, or an
arithmetic operator
◦ Cannot contain a variable or method
Syntax and examples shown in Figure 3-15 on next slide
Programming with Microsoft Visual Basic 2010, 5th Edition
28
Figure 3-15 Syntax and examples of the Const statement
Programming with Microsoft Visual Basic 2010, 5th Edition
29
Figure 3-16 User interface for the Area Calculator application
Figure 3-17 Calculate Area button’s Click event procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
30
Option Explicit, Option Infer,
and Option Strict
Option Explicit On statement
◦ Prevents you from using undeclared variables
Implicit type conversion: Converts right-side value to the data type of
left side
◦ Promotion
◦ Data converted to greater precision number
◦ e.g., Integer to Decimal
◦ Demotion
◦ Data truncated
◦ e.g., Decimal to Integer
◦ Data loss can occur when demotion occurs
Programming with Microsoft Visual Basic 2010, 5th Edition
31
Option Explicit, Option Infer,
and Option Strict (cont’d.)
Option Infer Off statement:
◦ Ensures that every variable is declared with a data type
Option Strict On statement:
◦ Disallows implicit conversions
◦ Type conversion rules are applied when this option is on
◦ Figure 3-18 on following slide contains examples
Programming with Microsoft Visual Basic 2010, 5th Edition
32
Figure 3-18 Rules and examples of type conversions
Programming with Microsoft Visual Basic 2010, 5th Edition
33
Option Explicit, Option Infer,
and Option Strict (cont’d.)
Figure 3-19 Option statements entered in the General Declarations section
Programming with Microsoft Visual Basic 2010, 5th Edition
34
Lesson A Summary
Declare a variable using {Dim | Private | Static}
Assignment statement: Assigns value to a variable
Three levels of scope: Block, procedure, class
TryParse () converts strings to numeric data
Use Const to declare a named constant
Avoid programming errors by using Option Explicit On, Option
Infer Off, and Option Strict On
Programming with Microsoft Visual Basic 2010, 5th Edition
35
Lesson B Objectives
After studying Lesson B, you should be able to:
Include procedure-level and class-level variables in an application
Concatenate strings
Get user input using the InputBox function
Include the ControlChars.NewLine constant in code
Designate the default button for a form
Format numbers using the ToString method
Programming with Microsoft Visual Basic 2010, 5th Edition
36
Modifying the Playtime
Cellular Application
Modifications needed:
◦ Calculate and display the sales tax
◦ Display salesperson name
Revise the TOE chart to reflect the new tasks
Must modify btnCalc button’s Click event and the form’s Load event
Programming with Microsoft Visual Basic 2010, 5th Edition
37
Modifying Playtime
Application
Programming with Microsoft Visual Basic 2010, 5th Edition
38
Modifying Playtime
Application
Programming with Microsoft Visual Basic 2010, 5th Edition
39
Figure 3-20 Revised TOE chart for the Playtime Cellular application
Programming with Microsoft Visual Basic 2010, 5th Edition
40
Modifying the Calculate Order
Button’s Code
General strategy
◦ Remove existing code from Click event procedure
◦ Recode the procedure using variables in equations
Use Option Explicit On statement
◦ Enforces full variable declaration
Use Option Infer Off statement
◦ Enforces that variables are declared with data types
Use Option Strict On statement
◦ Suppresses implicit type conversions
Programming with Microsoft Visual Basic 2010, 5th Edition
41
Figure 3-22 Jagged blue lines indicate errors in the statements
Figure 3-23 Lines to delete from the procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
42
Modifying the Calculate Order
Button’s Code (cont’d.)
Figure 3-24 Revised pseudocode for the btnCalc control’s Click event procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
43
Modifying the Calculate Order
Button’s Code (cont’d.)
Figure 3-25 List of named constants and variables
Programming with Microsoft Visual Basic 2010, 5th Edition
44
Modifying the Calculate Order
Button’s Code (cont’d.)
Figure 3-26 Const and Dim statements entered in the procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
45
Figure 3-27
Code entered in the btnCalc
control’s Click event procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
46
Concatenating Strings
Concatenate: Connect strings together
Concatenation operator: Ampersand (&)
◦ Include space before and after & operator
Numeric values used with the & operator are converted to strings
Programming with Microsoft Visual Basic 2010, 5th Edition
47
Concatenating Strings (cont’d.)
Figure 3-29 Examples of string concatenation
Programming with Microsoft Visual Basic 2010, 5th Edition
48
The InputBox Function
InputBox function
◦ Displays dialog box and retrieves user input
Arguments
◦ prompt: Message to display inside dialog box
◦ title: Text to display in the dialog box’s title bar
◦ defaultResponse: Text to be displayed in the input field
Returned value most often assigned to String variable
Syntax shown in Figure 3-33 on next slide
Programming with Microsoft Visual Basic 2010, 5th Edition
49
Figure 3-33
Basic syntax and examples of
the InputBox function
Programming with Microsoft Visual Basic 2010, 5th Edition
50
The ControlChars.Newline
Constant
ControlChars.NewLine constant
◦ Advances the insertion point to the next line in a control
◦ Also used to advance insertion point in file or on printer
To use, type ControlChars.NewLine at appropriate location
◦ Can be used with string concatenation
Line continuation character (_)
◦ Used to break up long line of code into two or more lines
Programming with Microsoft Visual Basic 2010, 5th Edition
51
The ControlChars.Newline
Constant (cont’d.)
Figure 3-37 Modified assignment statement
Programming with Microsoft Visual Basic 2010, 5th Edition
52
Designating a Default Button
Default button
◦ Button that is activated by pressing Enter key
◦ Button is not required to have the focus
◦ Only one per form
Default button should be button used most often by the user
◦ Except if button’s task is destructive and irreversible, such as deleting data
Set form’s AcceptButton property to button name
Programming with Microsoft Visual Basic 2010, 5th Edition
53
Using the ToString Method to
Format Numbers
Formatting: Specifying decimal places and special characters to display
ToString method is replacing Format function
Syntax: variablename.ToString(formatString)
◦ variablename: Name of a numeric variable
◦ formatString: String specifying format you want to use
format String has form of Axx specifying a format and precision
specifier
Programming with Microsoft Visual Basic 2010, 5th Edition
54
Printing Euro sign
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR")
Programming with Microsoft Visual Basic 2010, 5th Edition
55
Figure 3-40
Syntax and examples of the
ToString method
Programming with Microsoft Visual Basic 2010, 5th Edition
56
Lesson B Summary
Concatenation operator (&)
◦ Used to link strings
InputBox function
◦ Displays interactive dialog box
Use ControlChars.NewLine to move insertion point to a new line
Set default button in form’s AcceptButton property
ToString method
◦ Formats number for string output
Programming with Microsoft Visual Basic 2010, 5th Edition
57
Lesson C Objectives
After studying Lesson C, you should be able to:
Include a Static variable in code
Code the TextChanged event procedure
Create a procedure that handles more than one event
Programming with Microsoft Visual Basic 2010, 5th Edition
58
Modifying the Load
and Click Event Procedures
Capability needed when each order is calculated
◦ Order form should ask for the salesperson’s name
Revise TOE chart before implementing changes
Shift task of retrieving name to btnCalc’s Click event
Use static variable for the salesperson’s name
Programming with Microsoft Visual Basic 2010, 5th Edition
59
Figure 3-45 Revised TOE chart
Programming with Microsoft Visual Basic 2010, 5th Edition
60
Modifying the Load
and Click Event Procedures
(cont’d.)
Figure 3-46 Revised Pseudocode for the Calculate Order button
Programming with Microsoft Visual Basic 2010, 5th Edition
61
Coding the TextChanged
Event Procedure
TextChanged event
◦ Occurs when the Text property value of a control changes
Can occur when:
◦ The user enters data into the control
◦ Code assigns data to the control’s Text property
Example:
◦ A change is made to the number of items ordered
Programming with Microsoft Visual Basic 2010, 5th Edition
62
Coding the TextChanged
Event Procedure (cont’d.)
Associating a procedure with different objects and events
◦ Handles clause
◦ Appears in an event procedure’s header
◦ Indicates object and event associated with procedure
Can associate an event procedure with more than one object and/or
event
◦ In Handles section of procedure header, list each object and event,
separated by commas
Programming with Microsoft Visual Basic 2010, 5th Edition
63
Coding the TextChanged
Event Procedure (cont’d.)
Figure 3-48 Completed ClearLabels procedure
Programming with Microsoft Visual Basic 2010, 5th Edition
64
Figure 3-49
Playtime Cellular application’s code at
the end of Lesson C (continues)
Programming with Microsoft Visual Basic 2010, 5th Edition
65
Figure 3-49
Playtime Cellular application’s code
at the end of Lesson C (cont’d.)
Programming with Microsoft Visual Basic 2010, 5th Edition
66
Lesson C Summary
TextChanged event procedure responds to change in value of control’s
Text Property
Handles clause
◦ Determines which objects and events are associated with the event
procedure
To create procedure for more than one object or event:
◦ List each object and event after Handles keyword
Programming with Microsoft Visual Basic 2010, 5th Edition
67
Download