microsoft visual basic 2005: reloaded second edition chapter 3 variables, constants, methods, and...
TRANSCRIPT
Microsoft Visual Basic 2005: Reloaded
Second Edition
Chapter 3Variables, Constants, Methods, and
Calculations
Microsoft Visual Basic 2005: Reloaded, Second Edition 2
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 3
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 4
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 5
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 6
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 7
Selecting a Data Type for a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 8
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 9
Selecting a Name for a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 10
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 11
Declaring a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 12
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 13
Assigning Data to an Existing Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 14
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 15
Assigning Data to an Existing Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 16
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 17
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 18
Using the TryParse Method (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 19
Using the TryParse Method (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 20
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 21
Using the TryParse Method (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 22
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 23
Using the Convert Class (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 24
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 25
Writing Arithmetic Expressions (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 26
Writing Arithmetic Expressions (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 27
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 28
The Scope and Lifetime of a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 29
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 30
The Scope and Lifetime of a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 31
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 32
The Scope and Lifetime of a Variable (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 33
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 34
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 35
Static Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 36
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 37
Named Constants (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 38
Named Constants (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 39
Named Constants (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 40
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 41
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 42
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 43
Option Explicit and Option Strict (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 44
Coding the Skate-Away Sales Application
Microsoft Visual Basic 2005: Reloaded, Second Edition 45
Coding the Skate-Away Sales Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 46
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 47
Using Pseudocode to Plan a Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 48
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 49
Using a Flowchart to Plan a Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 50
Using a Flowchart to Plan a Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 51
Coding the clearButton’s Click Event Procedure
Microsoft Visual Basic 2005: Reloaded, Second Edition 52
Clearing the Contents of a Control’s Text Property
Microsoft Visual Basic 2005: Reloaded, Second Edition 53
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 54
Setting the Focus
• Focus method: moves the focus to a specified control at runtime
Microsoft Visual Basic 2005: Reloaded, Second Edition 55
Setting the Focus (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 56
Setting the Focus (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 57
Coding the calcButton’s Click Event Procedure
Microsoft Visual Basic 2005: Reloaded, Second Edition 58
Coding the calcButton’s Click Event Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 59
Coding the calcButton’s Click Event Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 60
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 61
Testing and Debugging the Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 62
Testing and Debugging the Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 63
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 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
Formatting Numeric Output (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition 69
Programming Tutorial
Microsoft Visual Basic 2005: Reloaded, Second Edition 70
Programming Example
Microsoft Visual Basic 2005: Reloaded, Second Edition 71
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 72
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 73
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 74
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