660 likes | 870 Views
Programming with Microsoft Visual Basic 2010 5 th 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 VB2010Chap03 folder
E N D
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
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
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
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
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
Figure 3-3 Basic data types in Visual Basic
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
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
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
Figure 3-5 Syntax and examples of a variable declaration statement
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
Figure 3-6 Assignment statements in which the value’s data type matches the variable’s data type
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
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
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
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
The Scope and Lifetime of a Variable (cont’d.) Figure 3-10 User interface for the Sales Tax Calculator application
Figure 3-11 Click event procedures using procedure-level variables
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
The Scope and Lifetime of a Variable (cont’d.) Figure 3-12 User interface for the Total Sales application
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
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
Figure 3-16 User interface for the Area Calculator application 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 • 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
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
Option Explicit, Option Infer, and Option Strict (cont’d.) 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, 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
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
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
Figure 3-20 Revised TOE chart for the Playtime Cellular application
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
Figure 3-22 Jagged blue lines indicate errors in the statements Figure 3-23 Lines to delete from the procedure
Modifying the Calculate Order Button’s Code (cont’d.) Figure 3-24 Revised pseudocode for the btnCalc control’s Click event procedure
Modifying the Calculate Order Button’s Code (cont’d.) Figure 3-25 List of named constants and variables
Modifying the Calculate Order Button’s Code (cont’d.) Figure 3-26 Const and Dim statements entered in the procedure
Figure 3-27 Code entered in the btnCalc control’s Click event 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
Concatenating Strings (cont’d.) Figure 3-29 Examples of string concatenation
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
Figure 3-33 Basic syntax and examples of the InputBox function
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