Programming with Microsoft Visual Basic 2008
Fourth Edition
Chapter ThreeUsing Variables and Constants
Previewing the Playtime Cellular Application
• Previewing the Playtime Cellular application– Access Run command on Start menu – Browse to VB2008\Chap03 folder– Click the Playtime Cellular (Playtime
Cellular .exe) file – View completed order form
• Completed application resembles Chapter 2 version
Programming with Microsoft Visual Basic 2008, Fourth Edition 2
Previewing the Playtime Cellular Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 3
Figure 3-1: Name Entry dialog box
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 2008, Fourth Edition 4
Lesson A Objectives (continued)
• 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 2008, Fourth 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 2008, Fourth Edition 6
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 2008, Fourth Edition 7
Selecting a Data Type for a Variable (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 8
Figure 3-3: Basic data types in Visual Basic
Selecting a Data Type for a Variable (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 9
Figure 3-3: Basic data types in Visual Basic (continued)
Selecting a Data Type for a Variable (continued)
• For this course:– Use Integer data type for all integers– Use either Decimal or Double data type of
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 2008, Fourth Edition 10
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 2008, Fourth Edition 11
Selecting a Name for a Variable (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 12
Figure 3-4: Variable naming rules and examples
Declaring a Variable
• Declaration statement: Used to declare (create) a variable and reserves space in memory for it
• Syntax:
{Dim|Private|Static} variablename [As datatype][= initialvalue]
• If no initial value is given to variable when declaring it, computer stores default value– Numeric data types are set to 0– Boolean data types are set to False– Object and String data types are set to Nothing
Programming with Microsoft Visual Basic 2008, Fourth Edition 13
Assigning Data to an Existing Variable
• Assignment statement: Assigns value to variable at runtime
• Syntax: variablename = expression– Expression may contain literal constants, properties
of controls, variables, or arithmetic operators
• Literal constant: Data item whose value does not change– Example: The string “Mary”
• Literal type character: Changes type of a literal– Example: sales=2356D
• Integer cast to Decimal
Programming with Microsoft Visual Basic 2008, Fourth Edition 14
The TryParse Method
• TryParse method: Converts string to number
• Syntax:
dataType.TryParse(string, variable)– dataType: Numeric data type, such as Integer– string : String to be converted– variable : Variable that receives the numeric
value
• TryParse is preferred over Val– Val only returns a type Double value
Programming with Microsoft Visual Basic 2008, Fourth Edition 15
Programming with Microsoft Visual Basic 2008, Fourth Edition 16
Figure 3-8: Results of the TryParse method for the Double, Decimal, and Integer data types
The TryParse Method (continued)
The Convert Class
• Convert class: Can be used to convert a number from one type to another
• Syntax: Convert.method(value)– 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 2008, Fourth Edition 17
Programming with Microsoft Visual Basic 2008, Fourth Edition 18
Figure 3-9: Syntax and examples of the Convert class methods
The Convert Class (continued)
The Scope and Lifetime of a Variable
• Scope: Indicates where variable can be used• Lifetime: Indicates how long variable remains in
memory and can be used • Scope and lifetime are determined by where
variable is declared• Three types of scope:
– Module: 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 2008, Fourth Edition 19
Programming with Microsoft Visual Basic 2008, Fourth Edition 20
Figure 3-11: Click event procedure using procedure-level variables
The Scope and Lifetime of a Variable (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 21
Figure 3-13: Code using a module-level variable
The Scope and Lifetime of a Variable (continued)
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 module-level variables, but have narrower scope – Can only be used within procedure where
declared
Programming with Microsoft Visual Basic 2008, Fourth Edition 22
Programming with Microsoft Visual Basic 2008, Fourth Edition 23
Figure 3-14: Code using a static variable
Static Variables (continued)
Named Constants
• Named constant: Memory location inside computer whose contents cannot be changed at runtime
• Const statement: Creates named constant
• Syntax: Const constantname As datatype = expression
• expression: Can be literal constant, another named constant, or an arithmetic operator– Cannot contain a variable
Programming with Microsoft Visual Basic 2008, Fourth Edition 24
Programming with Microsoft Visual Basic 2008, Fourth Edition 25
Figure 3-15: Syntax and examples of the Const statement
Named Constants (continued)
Named Constants (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 26
Figure 3-17: Calculate Area button’s Click event procedure
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: Cata expanded
• 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 2008, Fourth Edition 27
Programming with Microsoft Visual Basic 2008, Fourth Edition 28
Figure 3-18: Rules and examples of type conversions
Option Explicit, Option Infer, and Option Strict (continued)
Option Explicit, Option Infer, and Option Strict (continued)
• 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
Programming with Microsoft Visual Basic 2008, Fourth Edition 29
Option Explicit, Option Infer, and Option Strict (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 30
Figure 3-19: Option statements entered in the General Declarations section
Lesson A Summary
• Declare a variable using {Dim | Private | Static}
• Assignment statement: Assigns value to a variable
• Three levels of scope: Block, procedure, module
• 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 2008, Fourth Edition 31
Lesson B Objectives
After studying Lesson B, you should be able to:• Include a procedure-level and module-level
variable 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 2008, Fourth Edition 32
Modifying the Playtime Cellular Application
• Modifications needed:– Display message, sales tax amount, salesperson– Calculate the sales tax
• 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 2008, Fourth Edition 33
Modifying the Playtime Cellular Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 34
Figure 3-20: Revised TOE chart for the Playtime Cellular application
Modifying the Playtime Cellular Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 35
Figure 3-20: Revised TOE chart for the Playtime Cellular application (continued)
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 2008, Fourth Edition 36
Modifying the Calculate Order Button’s Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 37
Figure 3-22: Jagged blue lines indicate the statements contain an error
Modifying the Calculate Order Button’s Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 38
Figure 3-23: Lines to delete from the procedure
Modifying the Calculate Order Button’s Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 39
Figure 3-24: Revised pseudocode for the btnCalc control’s Click event procedure
Modifying the Calculate Order Button’s Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 40
Figure 3-25: Named constants and variables for the btnCalc control’s Click event procedure
Modifying the Calculate Order Button’s Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 41
Figure 3-26: Const and Dim statements entered in the procedure
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 2008, Fourth Edition 42
Programming with Microsoft Visual Basic 2008, Fourth Edition 43
Figure 3-29: Examples of string concatenation
Concatenating Strings (continued)
The InputBox Function
• InputBox function: Displays dialog box and retrieves user input
• Syntax: InputBox(prompt[,title]
[,defaultResponse])– 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
• Arguments are String literals, constants, or variables
Programming with Microsoft Visual Basic 2008, Fourth Edition 44
The InputBox Function (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 45
Figure 3-32: Example of a dialog box created by the InputBox function
Programming with Microsoft Visual Basic 2008, Fourth Edition 46
Figure 3-34: Module-level variable declared in the form’s Declarations section
The InputBox Function (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 47
Figure 3-35: frmMain Load event procedure
The InputBox Function (continued)
The ControlChars.Newline Constant
• ControlChars.NewLine constant: Issues carriage return followed by a line feed– 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 2008, Fourth Edition 48
The ControlChars.Newline Constant (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 49
Figure 3-37: Modified assignment statement
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 desired button to specify the default button
Programming with Microsoft Visual Basic 2008, Fourth Edition 50
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 2008, Fourth Edition 51
Programming with Microsoft Visual Basic 2008, Fourth Edition 52
Figure 3-40: Syntax and examples of the ToString method
Using the ToString Method to Format Numbers (continued)
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 2008, Fourth Edition 53
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 2008, Fourth Edition 54
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 2008, Fourth Edition 55
Programming with Microsoft Visual Basic 2008, Fourth Edition 56
Figure 3-45: Revised TOE chart
Modifying the Load and Click Event Procedures
(continued)
Modifying the Load and Click Event Procedures
(continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 57
Figure 3-46: Revised Pseudocode for the Calculate Order button
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 2008, Fourth Edition 58
Associating a Procedure with Different Objects and Events
• Handles keyword: 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 2008, Fourth Edition 59
Programming with Microsoft Visual Basic 2008, Fourth Edition 60
Figure 3-48: txtBlue control’s TextChanged event procedure
Associating a Procedure with Different Objects and Events
(continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 61
Figure 3-49: Completed ClearLabels procedure
Associating a Procedure with Different Objects and Events
(continued)
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
Programming with Microsoft Visual Basic 2008, Fourth Edition 62
Top Related