chapter 3: using variables and constants programming with microsoft visual basic 2005, third edition

Post on 14-Dec-2015

227 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 3: Using Variables and Constants

Programming with Microsoft Visual Basic 2005, Third Edition

2Programming with Microsoft Visual Basic 2005, Third Edition

Creating Variables and Named Constants

Lesson A Objectives

• 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

3Programming with Microsoft Visual Basic 2005, Third Edition

Creating Variables and Named Constants

Lesson A Objectives (continued)

• Explain the scope and lifetime of variables and named constants

• Explain the purpose of the Option Explicit and Option Strict statements

4Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Completed Application

• Previewing the Skate-Away Sales application

– Access the Run command on the Start menu

– Browse to the VB2005\Chap03 folder

– Open the SkateAway (SkateAway.exe) file

– View the completed order form

• Completed application resembles Chapter 2 version

5Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Completed Application (continued)

Figure 3-1: Name Entry dialog box

6Programming with Microsoft Visual Basic 2005, Third Edition

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

– Allows for more precise treatment of numeric data

– Enables code to run more efficiently

7Programming with Microsoft Visual Basic 2005, Third Edition

Selecting a Data Type for a Variable

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

• Integer variables: Integer, Long, Short

• Floating-point number– Expressed as a power of 10– Written in E (exponential) notation; e.g., 3.2E6

• Floating-point variables: Single, Double

8Programming with Microsoft Visual Basic 2005, Third Edition

Selecting a Data Type for a Variable (continued)

• Fixed decimal point variable: Decimal

• Character variable: Char

• Text variable: String

• Boolean variables: True, False

• The Object variable– Default data type assigned by Visual Basic– Can store many different types of data– Less efficient than other data types

9Programming with Microsoft Visual Basic 2005, Third Edition

Selecting a Name for a Variable

• Variables are referred to by name

• Identifier: another term for a variable name

• Basic guidelines for naming variables

– Name should be descriptive; e.g., length and width

– Enter the name in camel case; e.g., salesAmount

• Certain rules must be followed

– Example: a name begins with a letter or underscore

10Programming with Microsoft Visual Basic 2005, Third Edition

Selecting a Name for a Variable (continued)

Figure 3-4: Rules for variable names along with examples of valid and invalid names

11Programming with Microsoft Visual Basic 2005, Third Edition

Declaring a Variable

• Declaration statement

– Used to declare, or create, a variable

• Syntax: {Dim | Private | Static} variablename [As datatype][= initialvalue]

• Examples

– Dim hoursWorked As Double ‘note: no initial value

– Dim isDataOk As Boolean = True ‘ variable initialized

– Dim message As String = “Good Morning”

12Programming with Microsoft Visual Basic 2005, Third Edition

Assigning Data to an Existing Variable

• Assignment statement

– Assigns a value to a variable at runtime

• Syntax: variablename = value

– Example: quantityOrdered = 500

• Literal constant: data item that does not change

– Example: the string “Mary”

• Literal type character: changes type of a literal

– Example: sales = 2356R ‘ integer cast to Double

13Programming with Microsoft Visual Basic 2005, Third Edition

Assigning Data to an Existing Variable (continued)

Figure 3-7: Literal type characters

14Programming with Microsoft Visual Basic 2005, Third Edition

The TryParse Method

• Syntax: dataType.TryParse(string, variable)

– dataType: numeric data type, such as Integer

– TryParse method is a member of dataType class

– string argument: string to convert to a number

– variable argument: names numeric storage unit

• Example – Dim sales As Decimal

Decimal.TryParse(Me.xSalesTextBox.Text, sales)

15Programming with Microsoft Visual Basic 2005, Third Edition

The Convert Class

• Syntax: Convert.method(value)

– Convert: the name of the class

– method: converts value to specified data type

– value: numeric data to be converted

• Example– Dim sales As Integer = 4500 Dim

newSales As Double newSales = Convert.ToDouble(sales)

16Programming with Microsoft Visual Basic 2005, Third Edition

Using a Variable in an Arithmetic Expression

• Data stored in variables can be used in calculations

• Example 1– Dim age As Integer ‘ Dim allocates memory for age

age = age + 1 ‘ A new value is assigned

• Example 2– Dim totalAmountDue As Double = 250.55

Me.xTotalLabel.Text = _ Convert.ToString(totalAmountDue)

– Line continuation character: underscore in line 2

17Programming with Microsoft Visual Basic 2005, Third Edition

The Scope and Lifetime of a Variable

• Scope: indicates where a variable can be used

• Lifetime: indicates how long a variable can be used

• Scope and lifetime determined by declaration site

• Three types of scope

– Block: variable used within a specific code block

– Procedure: variable only used within a procedure

– Module: variable used by all procedures in a form

18Programming with Microsoft Visual Basic 2005, Third Edition

The Scope and Lifetime of a Variable (continued)

Figure 3-14: Total Sales application’s code using a module-level variable

19Programming with Microsoft Visual Basic 2005, Third Edition

Static Variables

• Static variable– Procedure level variable with extended lifetime– Remains in memory between procedure calls– Declare a variable using the Static keyword

• Example: Static totalSales As Decimal– Value in totalSales persists between calls– During a current call, value may be altered

• Static variables act like module-level variables– Difference: static variable has narrower scope

20Programming with Microsoft Visual Basic 2005, Third Edition

Named Constants

• Named constant

– Memory location inside the computer

– Contents cannot be changed at runtime

• Const statement: creates a named constant

• Syntax: Const constantname As datatype = expression

• Example: Const PI As Double = 3.141593

21Programming with Microsoft Visual Basic 2005, Third Edition

Option Explicit and Option Strict

• Option Explicit On statement

– Prevents you from using undeclared variables

• Implicit type conversion

– Converts right-side value to datatype of left side

– Promotion: data expanded; e.g., Integer to Decimal

– Demotion: data truncated; e.g., Decimal to Integer

• Option Strict On statement

– Suppresses implicit conversions

22Programming with Microsoft Visual Basic 2005, Third Edition

Option Explicit and Option Strict (continued)

Figure 3-19: Rules and examples of implicit type conversions

23Programming with Microsoft Visual Basic 2005, Third Edition

Option Explicit and Option Strict (continued)

Figure 3-20: Option statements entered in the General Declarations section

24Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson A

• 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

• Avoid programming errors by using Option Explicit On and Option Strict On

25Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Skate-Away Sales Application

Lesson B Objectives

• 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

26Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Skate-Away Sales Application

Lesson B Objectives (continued)

• Designate the default button for a form

• Format numbers using the ToString method

27Programming with Microsoft Visual Basic 2005, Third Edition

Revising the Application’s Documents

• Modifications needed

– Display message, sales tax amount, salesperson

– Calculate the sales tax

• Revise TOE chart to reflect new tasks

• Three controls are impacted

– xCalcButton, MainForm, xMessageLabel

• Modify button’s Click event and form’s Load event

28Programming with Microsoft Visual Basic 2005, Third Edition

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 Strict On statement

– Suppresses implicit type conversions

29Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Calculate Order Button’s Code (continued)

Figure 3-25: Revised pseudocode for the xCalcButton’s Click event procedure

30Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Calculate Order Button’s Code (continued)

Figure 3-29: Calculated amounts shown in the interface

31Programming with Microsoft Visual Basic 2005, Third Edition

Concatenating Strings

• Concatenate: connect strings together

• Concatenation operator: the ampersand (&)

• Include a space before and after the & operator

• Numbers after & operator are converted to strings

32Programming with Microsoft Visual Basic 2005, Third Edition

Concatenating Strings (continued)

Figure 3-30: Examples of string concatenation

33Programming with Microsoft Visual Basic 2005, Third Edition

The InputBox Function

• InputBox function

– Displays a dialog box and retrieves user input

• Syntax: InputBox(prompt[, title][, defaultResponse])

– prompt: the message to display inside dialog box

– title: text to display in the dialog box’s title bar

– defaultResponse: text you want displayed

• Arguments are String literals, constants, or variables

34Programming with Microsoft Visual Basic 2005, Third Edition

The InputBox Function (continued)

Figure 3-33: Example of a dialog box created by the InputBox function

35Programming with Microsoft Visual Basic 2005, Third Edition

The InputBox Function (continued)

Figure 3-36: MainForm’s Load event procedure

36Programming with Microsoft Visual Basic 2005, Third Edition

The Controlchars.Newline Constant

• Issues a carriage return followed by a line feed

• Using the ControlChars.NewLine constant

– Type ControlChars.NewLine at appropriate location

37Programming with Microsoft Visual Basic 2005, Third Edition

The Controlchars.Newline Constant (continued)

Figure 3-39: ControlChars.NewLine constant added to the assignment statement

38Programming with Microsoft Visual Basic 2005, Third Edition

Designating a Default Button

• Default button

– Can be selected by pressing the Enter key

– Button is not required to have the focus

• The default button is typically the first button

• Button’s deleting data should not be made default

• Specifying the default button (if any)

– Set form’s AcceptButton property to desired button

39Programming with Microsoft Visual Basic 2005, Third Edition

Using the ToString Method to Format Numbers

• Formatting– Specifying decimal places and special characters

• ToString method is replacing the Format function

• Syntax: variablename.ToString(formatString)– variablename: name of a numeric variable– formatString: string specifying format you want to use

• Form Axx consists of a format and precision specifier

• Example: C2 formatString converts 75.312 to $75.31

40Programming with Microsoft Visual Basic 2005, Third Edition

Using the ToString Method to Format Numbers (continued)

Figure 3-46: Order form showing the formatted total price

41Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson B

• Concatenation operator (&): used to link strings

• InputBox function: displays interactive dialog box

• Use ControlChars.NewLine to go to a new line

• Set default button in form’s AcceptButton property

• ToString method: formats number for string output

42Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Skate-Away Sales Application’s Code

Lesson C Objectives• Include a static variable in code

• Code the TextChanged event procedure

• Create a procedure that handles more than one event

43Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Code in the MainForm’s Load and xCalcButton Click

Procedures

• Capability needed when each order is calculated

– Order form to ask for the salesperson’s name

• Revise TOE chart before implementing changes

• Objects impacted: xCalcButton and MainForm

• Shift task of retrieving name to xCalcButton

• Use a static variable to store salesperson’s name

44Programming with Microsoft Visual Basic 2005, Third Edition

Modifying the Code in the MainForm’s Load and xCalcButton Click

Procedures (continued)

Figure 3-51: Revised pseudocode for the Calculate Order button

45Programming with Microsoft Visual Basic 2005, Third Edition

Using a Static Variable

• Static variable

– Retains its value between procedure calls

– Like a module-level variable with reduced scope

• Syntax

– Static variablename [As datatype] [= initialvalue]

• Example of declaring a static variable

– Static salesPerson As String = String.Empty

46Programming with Microsoft Visual Basic 2005, Third Edition

Coding the TextChanged Event Procedure

• Control’s TextChanged event

– Occurs when the Text property value changes

• Triggering events

– 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

47Programming with Microsoft Visual Basic 2005, Third Edition

Associating a Procedure with Different Objects and Events

• The keyword Handles

– Appears in a procedure header

– Indicates object and event associated with procedure

• Procedures can relate to multiple objects and events

• Associating procedures with extra objects and events

– Go to the Handles section of the procedure header

– List each object and event, separated by commas

48Programming with Microsoft Visual Basic 2005, Third Edition

Associating a Procedure with Different Objects and Events

(continued)

Figure 3-56: Completed ClearControls procedure

49Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson C

• Static variables retain their value between calls

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

• Handles clause determines when TextChanged event procedure is invoked

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

top related