Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

61
Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants

Transcript of Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Page 1: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012

Chapter 3: Using Variables and Constants

Page 2: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Previewing the Modified Play It Again Movies Application

• Play It Again Movies application– New screen for salesclerk’s name– Sales tax added to order

Programming with Microsoft Visual Basic 2012 2

Figure 3-2 Completed sales receipt

Figure 3-1 Name Entry dialog box

Page 3: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

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• Explain the scope and lifetime of variables and named

constants• Explain the purpose of Option Explicit, Option Infer, and

Option StrictProgramming with Microsoft Visual Basic 2012 3

Page 4: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

• Controls and variables temporarily store data• Variable

– A temporary storage location in main memory– Specified by data type, name, scope, and lifetime

• Reasons to use variables – To hold information that is not stored in a control on the

form– To allow for more precise treatment of numeric data– To enable code to run more efficiently

Programming with Microsoft Visual Basic 2012 4

Using Variables to Store Information

Page 5: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Using Variables to Store Information (cont.)

Programming with Microsoft Visual Basic 2012 5

Selecting a Data Type for a Variable• Data type

– Specifies the type of data a variable can store– Provides a class template for creating variables

• Unicode– A universal coding scheme for characters– Assigns a unique numeric value to each character in the

written languages of the world

Page 6: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Using Variables to Store Information (cont.)

Programming with Microsoft Visual Basic 2012 6

Figure 3-3 Basic data types in Visual Basic

Page 7: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

• The textbook uses:– The Integer data type for all integers– Either the Decimal or Double data type for numbers

containing decimal places or numbers used in calculations

– The String data type for text or numbers not used in calculations

– The Boolean data type for Boolean values

Programming with Microsoft Visual Basic 2012 7

Using Variables to Store Information (cont.)

Page 8: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Using Variables to Store Information (cont.)

Programming with Microsoft Visual Basic 2012 8

Selecting a Name for a Variable– Names must begin

with a letter or underscore

– Names can contain only letters, numbers, or underscores• No punctuation, special characters, or spaces are allowed

– The recommended length for a name variable is 32 characters

– Variable names cannot be reserved words (such as Sub or Double)

Figure 3-4 Three-character IDs and examples

Page 9: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Using Variables to Store Information (cont.)

• Valid names:– intFeb_Income– decSales2014– dblEastRegion– strName

• Invalid Names:– 4thQuarter

• The name must begin with a letter or underscore– dblWest Region

• The name cannot contain a space– strFirst.Name

• The name cannot contain punctuation– decSales$East

• The name cannot contain a special character

Programming with Microsoft Visual Basic 2012 9

Page 10: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Using Variables to Store Information (cont.)

Declaring a Variable• Declaration statement

– Used to declare (create) a variable and reserve space in memory for it

• If no initial value is given to a variable when declaring it, the computer stores a 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 2012 10

Page 11: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 11

Using Variables to Store Information (cont.)

Figure 3-6 Syntax and examples of a variable declaration statement

Page 12: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable

Programming with Microsoft Visual Basic 2012 12

• Assignment statement– Assigns a value to a variable at run time– Syntax: variablename = expression– An expression may include literal constants, object

properties, variables, keywords, and arithmetic operators• Literal constant

– A data item whose value does not change while the application is running

– Example: The string “Mary” • Literal type character

– Forces a literal constant to change its data type

Page 13: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 13

Figure 3-7 Syntax and examples of assigning a value to a variable during run time

Page 14: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 14

The TryParse Method• Converts a string to a number• Is preferred over Val

– Allows the programmer to specify the data type– Val only returns a Double number

• Arguments– dataType: A numeric data type, such as Integer– String: A string to be converted– Variable: A variable that receives the numeric value

Page 15: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 15

Figure 3-9 Basic syntax and examples of the TryParse method

Page 16: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 16

Figure 3-10 Results of the TryParse method for the Double, Decimal and Integer data types

Page 17: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 17

The Convert Class• Can be used to convert a number from one type to

another• Methods include ToDecimal, ToDouble, ToInt32, and

ToString• TryParse is recommended for converting strings to

numeric data types– Will not produce an error if the conversion fails

Page 18: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Assigning Data to an Existing Variable (cont.)

Programming with Microsoft Visual Basic 2012 18

Figure 3-11 Syntax and examples of the Convert class methods

Page 19: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable

Programming with Microsoft Visual Basic 2012 19

• Scope – Indicates where a variable can be used

• Lifetime – How long a variable remains in memory

• Scope and lifetime are determined by where a variable is declared: either the General Declarations section or the form’s Declaration section

• Three types of scope:– Class: The variable can be used by all procedures in a form – Procedure: The variable can be used within a procedure– Block: The variable can be used within a specific code block

Page 20: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable (cont.)

Programming with Microsoft Visual Basic 2012 20

• Variables with Procedure Scope– Can be used only by that procedure– Declared at the beginning of the procedure– Removed from memory when the procedure ends– Declared using the Dim keyword

• Most variables used in this course will be procedure-level variables

Figure 3-12 User Interface for the Discount Calculator application

Page 21: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable (cont.)

Programming with Microsoft Visual Basic 2012 21

Figure 3-13 Click event procedures using procedure-level variables

Page 22: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable (cont.)

Programming with Microsoft Visual Basic 2012 22

Figure 3-14 Code Editor window for the Discount Calculator application

Page 23: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable (cont.)

Programming with Microsoft Visual Basic 2012 23

• Variables with Class Scope– Can be used by all procedures in the form– Declared in the form’s Declarations section– Will remain in memory until the application ends– Declared using the Private keyword

Figure 3-16 User Interface for the Total Scores application

Page 24: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

The Scope and Lifetime of a Variable (cont.)

Programming with Microsoft Visual Basic 2012 24

Figure 3-17 Total Scores application code using a class-level variable

Page 25: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Static Variables

Programming with Microsoft Visual Basic 2012 25

• Static variable– A procedure-level variable with an extended lifetime

• Remains in memory between procedure calls• Retains its value even when the procedure ends

– Static keyword• Used to declare a static variable

– Static variables act like class-level variables but have narrower scope • They can only be used by the procedure in which they are

declared

Page 26: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Static Variables (cont.)

Programming with Microsoft Visual Basic 2012 26

Figure 3-19 Total Scores application’s code using a static variable

Page 27: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Named Constants

Programming with Microsoft Visual Basic 2012 27

• Named constant– A memory location inside the computer whose contents

cannot be changed at run time • Const statement

– Creates named constant– Stores value of expression in a named constant– expression: Can be a literal constant, another named

constant, or an arithmetic operator– Cannot contain a variable or method

Page 28: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Named Constants (cont.)

Programming with Microsoft Visual Basic 2012 28

Figure 3-20 Syntax and examples of the Const statement

Page 29: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Named Constants (cont.)

Programming with Microsoft Visual Basic 2012 29

Figure 3-21 User interface for the Area Calculator application

Figure 3-22 Calculate Area button’s Click event procedure

Page 30: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Option Statements

Programming with Microsoft Visual Basic 2012 30

Option Explicit and Option Infer• Prevent you from using undeclared variables Option Strict• Implicit type conversion

– Converts the right-side value to the data type on the left side• Promotion

– Data is converted to a greater precision number (e.g., Integer to Decimal)• Demotion

– Data is truncated (e.g., Decimal to Integer)– Data loss can occur when demotion occurs

• Infer – Ensures that every variable is declared with a data type

Page 31: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Option Statements (cont.)

Programming with Microsoft Visual Basic 2012 31

Option Strict (cont.)– Disallows implicit conversions – Type conversion rules are applied when this option is on

Figure 3-24 Rules and examples of type conversions

Page 32: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Option Statements (cont.)

Programming with Microsoft Visual Basic 2012 32

Figure 3-25 Option statements entered in the General Declarations section

Page 33: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 33

Lesson A Summary

• Declare a variable using {Dim | Private | Static}• An assignment statement assigns a value to a variable• Three levels of scope: block, procedure, class• The TryParse method 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

Page 34: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

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 2012 34

Page 35: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 35

Modifying the Play It Again Movies Application

Figure 3-26 Revised TOE chart for the Play It Again Movies application

• Modifications needed– Calculate and display

the sales tax – Display salesperson’s

name• Revise the TOE chart to

reflect the new tasks• You must modify btnCalc

button’s Click event and the form’s Load event

Page 36: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Play It Again Movies Application (cont.)

Programming with Microsoft Visual Basic 2012 36

Figure 3-27 Modified user interface for the Play It Again Movies application

Page 37: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 37

Modifying the Calculate Button’s Code

• General strategy– Remove the existing code from the Click event procedure– Recode the procedure using variables in equations

• Use the Option Explicit On statement– Enforces full variable declaration

• Use the Option Infer Off statement– Ensures that variables are declared with data types

• Use the Option Strict On statement– Suppresses implicit type conversions

Page 38: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Calculate Button’s Code (cont.)

Programming with Microsoft Visual Basic 2012 38

Figure 3-29 Lines to delete from the procedure

Figure 3-28 A jagged blue line indicates a syntax error

Page 39: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Calculate Button’s Code (cont.)

Programming with Microsoft Visual Basic 2012 39

Figure 3-30 Revised pseudocode and flowchart for the btnCalc control’s Click event procedure

Page 40: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Calculate Button’s Code (cont.)

Programming with Microsoft Visual Basic 2012 40

Figure 3-31 List of named constants and variables

Figure 3-32 Const and Dim statements entered in the procedure

Page 41: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Calculate Button’s Code (cont.)

Programming with Microsoft Visual Basic 2012 41

Figure 3-33 Code entered in the btnCalc control’s Click event procedure

Figure 3-34 Calculated amounts shown in the interface

Page 42: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 42

Concatenating Strings

• Concatenate– To connect strings together

• Concatenation operator– The ampersand (&)– Include a space before and after the ampersand

• Numeric values used with the & operator are converted to strings

Figure 3-35 Examples of string concatenation

Page 43: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 43

Concatenating Strings (cont.)

Figure 3-37 Concatenated strings displayed in the lblMessage control

Figure 3-36 String concatenation included in the assignment statement

Page 44: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 44

The InputBox Function

InputBox function– Displays an input dialog box and retrieves user input

• Arguments– prompt: Contains the message to display inside the dialog

box– title: Controls the text that appears in the dialog box’s title

bar– defaultResponse: Controls the text that appears in the

input field• The returned value most often assigned to String variable• The syntax is shown in Figure 3-39 on the next slide

Page 45: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 45

The InputBox Function (cont.)

Figure 3-38 Example of an input dialog box

Figure 3-39 Basic syntax and examples of the InputBox function

Page 46: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 46

The InputBox Function (cont.)

Figure 3-41 frmMain Load event procedure

Figure 3-40 Class-level variable declared in the form’s Declarations section

Figure 3-42 Dialog box created by the InputBox function

Page 47: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 47

The ControlChars.Newline Constant

ControlChars.NewLine constant– Advances the insertion point to the next line in a control– Also used to advance the insertion point in file or on the

printer• To use, type ControlChars.NewLine in the

appropriate location– Can be used with string concatenation

• Line continuation character (_)– Used to break up a long line of code into two or more

lines

Page 48: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 48

The ControlChars.Newline Constant (cont.)

Figure 3-43 Modified assignment statement

Figure 3-45 Salesclerk’s name shown on the sales receipt

Page 49: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 49

Designating a Default Button

Default button– Activated by pressing the Enter key – Not required to have the focus– Only one per form

• The default button should be the button used most often by the user– Except if button’s task is destructive and irreversible, such

as deleting data• Set the form’s AcceptButton property to the button

name

Page 50: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 50

Using the ToString Method to Format Numbers

• Formatting– Specifying decimal places and special characters to

display• The ToString method replaces the Format function • Syntax: variablename.ToString(formatString)

– variablename: The name of a numeric variable– formatString: The string specifying the format you want

to use• formatString must take the form Axx, where A is the

format specifier and xx is the precision specifier

Page 51: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 51

Using the ToString Method to Format Numbers (Cont.)

Figure 3-46 Syntax and examples of the ToString method

Page 52: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 52

Using the ToString Method to Format Numbers (Cont.)

Figure 3-48 Play It Again Movies application’s code at the end of Lesson B (continues…)

Page 53: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 53

Using the ToString Method to Format Numbers (Cont.)

Figure 3-48 Play It Again Movies application’s code at the end of Lesson B

Page 54: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 54

Lesson B Summary

• The concatenation operator (&) is used to link strings• The InputBox function displays an interactive dialog box • Use ControlChars.NewLine to move the insertion point

to a new line • Set the default button in the form’s AcceptButton

property• The ToString method formats a number for string

output

Page 55: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

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 2012 55

Page 56: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Load and Click Event Procedures

Programming with Microsoft Visual Basic 2012 56

Figure 3-51 Revised TOE Chart for the Play It Again Movies application in Lesson C

Page 57: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Modifying the Load and Click Event Procedures (Cont.)

Programming with Microsoft Visual Basic 2012 57

Figure 3-52 Revised pseudocode for the Calculate button in Lesson C

Page 58: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

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– The 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 2012 58

Page 59: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Coding the TextChanged Event Procedure (Cont.)

Associating a Procedure with Different Objects and Events• Handles clause

– Appears in an event procedure’s header – Indicates the object and event associated with the

procedure• You can associate an event procedure with more than one

object and/or event– In the Handles section of procedure header, list each object

and event separated by commas– Procedure names are entered in Pascal case

• Capitalize the first letter in the name and the first letter of each subsequent word in the name

Programming with Microsoft Visual Basic 2012 59

Page 60: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Coding the TextChanged Event Procedure (cont.)

Programming with Microsoft Visual Basic 2012 60

Figure 3-53 TextChanged event procedure associated with the txtDvds control

Figure 3-54 Completed ClearLabels procedure

Page 61: Programming with Microsoft Visual Basic 2012 Chapter 3: Using Variables and Constants.

Programming with Microsoft Visual Basic 2012 61

Lesson C Summary

• The TextChanged event procedure responds to a change in the value of a control’s Text Property

• The Handles clause determines which objects and events are associated with the event procedure

• To create a procedure for more than one object or event, list each object and event after the Handles keyword