Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 3 Variables, Constants, Methods, and Calculations Objectives After studying this chapter, you should be able to: • Declare variables and named constants • Assign data to an existing variable • Convert data to the appropriate type using the TryParse method and the Convert class methods • Write arithmetic expressions • Understand the scope and lifetime of variables and named constants Microsoft Visual Basic 2005: Reloaded, Second Edition 2 Objectives (continued) • Understand the purpose of the Option Explicit, Option Strict, and Imports statements • Use a TOE chart, pseudocode, and a flowchart to code an application • Clear the contents of a control’s Text property while an application is running Microsoft Visual Basic 2005: Reloaded, Second Edition 3 Objectives (continued) • Send the focus to a control while the application is running • Explain the difference between syntax errors and logic errors • Format an application’s numeric output Microsoft Visual Basic 2005: Reloaded, Second Edition 4 Variables • Variables: computer memory locations used to store data while an application is running • Every variable has a: – – – – Name Data type Scope Lifetime Microsoft Visual Basic 2005: Reloaded, Second Edition 5 Selecting a Data Type for a Variable • • • • Each variable must be assigned a data type Data type: the type of data the variable can store Each data type is a class Unicode: – Universal coding scheme for characters – Assigns a unique numeric value to each character Microsoft Visual Basic 2005: Reloaded, Second Edition 6 Selecting a Data Type for a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 7 Selecting a Name for a Variable • Identifier: descriptive name given to a variable • Use a meaningful name that reflects the purpose of the variable • Use camel casing for variable identifiers • Variable names must conform to naming rules Microsoft Visual Basic 2005: Reloaded, Second Edition 8 Selecting a Name for a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 9 Declaring a Variable • Declaration statement: used to declare, or create, a variable • Declaration statement includes – – – – Scope keyword: Dim or Private or Static Name of the variable Data type Initial value (optional) Microsoft Visual Basic 2005: Reloaded, Second Edition 10 Declaring a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 11 Assigning Data to an Existing Variable • Assignment statement: – Used to assign values to properties of controls – Used to assign values to variables • Assignment operator: (=) – Value on the right of the = operator is assigned to the variable on the left of the = operator Microsoft Visual Basic 2005: Reloaded, Second Edition 12 Assigning Data to an Existing Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 13 Assigning Data to an Existing Variable (continued) • String: group of characters enclosed in quotation marks • Literal constant: – An item of data whose value does not change while the application is running – Can be a numeric or a string literal constant • A numeric literal with a decimal place is treated as a Double type • Literal type character: forces a literal constant to assume a specific data type Microsoft Visual Basic 2005: Reloaded, Second Edition 14 Assigning Data to an Existing Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 15 Using the TryParse Method • Method: a specific portion of a class’s instructions that performs a task for the class • TryParse method: – Part of every numeric data type’s class – Used to convert a string to that numeric data type • TryParse method has 4 arguments – – – – String: string value to be converted Variable: location to store the result IFormatProvider (optional): specifies formatting NumberStyles (optional): allows formatting characters to be in the data to be converted Microsoft Visual Basic 2005: Reloaded, Second Edition 16 Using the TryParse Method (continued) • IFormatProvider argument formats numbers, dates, and times • NumberFormatInfo.CurrentInfo value: – Uses the formatting characters specified in the Windows Customize Regional Options dialog box Microsoft Visual Basic 2005: Reloaded, Second Edition 17 Using the TryParse Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 18 Using the TryParse Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 19 Using the TryParse Method (continued) • Assign the TryParse method’s return value to a Boolean variable – If True, the conversion was successful – If False, the value could not be converted • Line continuation character: the underscore (_) – Breaks up a long instruction into two or more lines – Must appear at end of line, preceded by a space • Must have an Imports statement in the General Declarations section of code to use NumberStyles and NumberformatInfo.CurrentInfo: – Imports System.Globalization Microsoft Visual Basic 2005: Reloaded, Second Edition 20 Using the TryParse Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 21 Using the Convert Class • Convert class: – Contains methods for converting numeric values to specific data types • Use the dot member access operator to separate the class name from the method name Microsoft Visual Basic 2005: Reloaded, Second Edition 22 Using the Convert Class (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 23 Writing Arithmetic Expressions • Precedence number: indicates the order in which an operation in an expression is performed • If an expression has two operators with the same precedence, they are evaluated from left to right • Use parentheses to change the order of evaluation • Integer division operator (\): divides two integers and returns an integer value • Modulus arithmetic operator (Mod): divides two numbers and returns the remainder Microsoft Visual Basic 2005: Reloaded, Second Edition 24 Writing Arithmetic Expressions (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 25 Writing Arithmetic Expressions (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 26 The Scope and Lifetime of a Variable • Scope: indicates where the variable can be used • Lifetime: indicates how long the variable remains in memory • Variables are usually declared in two places: – Within a procedure – In the form’s Declarations section • Procedure-level variable: declared within a procedure • Procedure scope: only the procedure can use the variable Microsoft Visual Basic 2005: Reloaded, Second Edition 27 The Scope and Lifetime of a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 28 The Scope and Lifetime of a Variable (continued) • With procedure-level scope, two procedures can each use the same variable names • Comments: – Used to internally document the procedure – Are ignored by the compiler – Appear in green in the code editor Microsoft Visual Basic 2005: Reloaded, Second Edition 29 The Scope and Lifetime of a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 30 The Scope and Lifetime of a Variable (continued) •Module scope: variable can be used by all procedures in the form •Module-level variable: –Declared in the form’s Declarations section –Use Private keyword in declaration •Module-level variables retain their values until the application ends Microsoft Visual Basic 2005: Reloaded, Second Edition 31 The Scope and Lifetime of a Variable (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 32 The Scope and Lifetime of a Variable (continued) • Block scope: variable can be used within a specific block of code • Block-level variable: declared within a specific block of code Microsoft Visual Basic 2005: Reloaded, Second Edition 33 Static Variables • Static variable: – Procedure-level variable that retains its value even after the procedure ends – Retains its value until the application ends – Can be used instead of a module-level variable • A static variable has: – Same lifetime as a module-level variable – Narrower scope than a module-level variable • Declared using the Static keyword Microsoft Visual Basic 2005: Reloaded, Second Edition 34 Static Variables (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 35 Named Constants • Named constant: memory location whose value cannot be changed while the application is running • Declared using the Const keyword • Good programming practice to specify the data type as well Microsoft Visual Basic 2005: Reloaded, Second Edition 36 Named Constants (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 37 Named Constants (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 38 Named Constants (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 39 Option Explicit and Option Strict • Option Explicit: – When on, all variables used must first be declared – Protects against misspelled variable names in code – Placed in the General Declarations section of code editor • Implicit type conversion: can occur if the value on the right side of an assignment statement is not the same data type as the variable on the left side Microsoft Visual Basic 2005: Reloaded, Second Edition 40 Option Explicit and Option Strict (continued) • Promoting: when a value is converted to another data type that stores larger numbers • Demoting: when a value is converted to another data type that stores only smaller numbers – Data loss can occur with demoting • Option Strict: – Can be used to enforce correct data typing – Placed in the General Declarations section of the code editor Microsoft Visual Basic 2005: Reloaded, Second Edition 41 Option Explicit and Option Strict (continued) • Option Strict On follows these conversion rules: – Strings are not implicitly converted to numbers or vice versa – Narrower data types are implicitly promoted to wider data types – Wider data types are not implicitly demoted to narrower data types Microsoft Visual Basic 2005: Reloaded, Second Edition 42 Option Explicit and Option Strict (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 43 Coding the Skate-Away Sales Application Microsoft Visual Basic 2005: Reloaded, Second Edition 44 Coding the Skate-Away Sales Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 45 Using Pseudocode to Plan a Procedure • Pseudocode: short phrases to describe the steps a procedure needs to take to accomplish its goal Microsoft Visual Basic 2005: Reloaded, Second Edition 46 Using Pseudocode to Plan a Procedure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 47 Using a Flowchart to Plan a Procedure • Flowchart: uses standardized symbols to show the steps a procedure must take to accomplish its goal • Can be used in place of pseudocode for planning • Three symbols: – Start/stop symbol (oval): indicates start and stop points – Process symbol (rectangle): represents tasks – Input/output symbol (parallelogram): represents input or output tasks Microsoft Visual Basic 2005: Reloaded, Second Edition 48 Using a Flowchart to Plan a Procedure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 49 Using a Flowchart to Plan a Procedure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 50 Coding the clearButton’s Click Event Procedure Microsoft Visual Basic 2005: Reloaded, Second Edition 51 Clearing the Contents of a Control’s Text Property Microsoft Visual Basic 2005: Reloaded, Second Edition 52 Clearing the Contents of a Control’s Text Property (continued) • Zero-length string (or empty string): – Removes the contents in the Text property of a control – Use empty set of quotation marks: “” • String.Empty: used to assign an empty string to a control’s Text property • For TextBox control, use the Clear method Microsoft Visual Basic 2005: Reloaded, Second Edition 53 Setting the Focus • Focus method: moves the focus to a specified control at runtime Microsoft Visual Basic 2005: Reloaded, Second Edition 54 Setting the Focus (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 55 Setting the Focus (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 56 Coding the calcButton’s Click Event Procedure Microsoft Visual Basic 2005: Reloaded, Second Edition 57 Coding the calcButton’s Click Event Procedure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 58 Coding the calcButton’s Click Event Procedure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 59 Testing and Debugging the Application • • • • • Valid data: data that the application is expecting Invalid data: data that is unexpected Debugging: locating errors in a program Syntax errors: usually caused by mistyping Logic errors: occur when you enter an instruction that does not give the expected results • Test a program with both valid and invalid data Microsoft Visual Basic 2005: Reloaded, Second Edition 60 Testing and Debugging the Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 61 Testing and Debugging the Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 62 Formatting Numeric Output • Formatting: specifying the number of decimal places and any special characters to display • Format specifier: specifies the type of formatting to use • Precision specifier: controls the number of significant digits or zeros to the right of the decimal point Microsoft Visual Basic 2005: Reloaded, Second Edition 63 Formatting Numeric Output (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 64 Formatting Numeric Output (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 65 Formatting Numeric Output (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 66 Formatting Numeric Output (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 67 Formatting Numeric Output (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 68 Programming Tutorial Microsoft Visual Basic 2005: Reloaded, Second Edition 69 Programming Example Microsoft Visual Basic 2005: Reloaded, Second Edition 70 Summary • Variables and named constants are memory locations that store data • Variables can change value, but constants cannot • Variables and constants have a name, data type, scope, and lifetime • Use Dim to declare a variable at block or procedure level • Use Private to declare a variable at module level Microsoft Visual Basic 2005: Reloaded, Second Edition 71 Summary (continued) • Assignment statement is used to assign values to an existing variable • Literals are constant items of data • Use the TryParse method to convert a string to a number • Use the Imports statement to import a namespace • The Convert class contains methods to convert values to a specified data type Microsoft Visual Basic 2005: Reloaded, Second Edition 72 Summary (continued) • A procedure-level variable is usable only by the procedure in which it is declared • A module-level variable is usable by all procedures in the form • A block-level variable is usable only within the block in which it is declared • A static variable is a procedure-level variable that retains its value when the procedure ends • Option Explicit On forces declaration of all variables before use Microsoft Visual Basic 2005: Reloaded, Second Edition 73 Summary (continued) • Option Strict On disallows any implicit type conversions that may cause a loss of data • Pseudocode or a flowchart is used to plan a procedure’s code • Use the Clear method or empty string to clear a textbox • The Focus method moves the focus to a control • Test a program with both valid and invalid data Microsoft Visual Basic 2005: Reloaded, Second Edition 74