Title: Chapter 3: Using Variables and Constants
1Chapter 3 Using Variables and Constants
Programming with Microsoft Visual Basic .NET,
Second Edition
2Creating Variables and Named Constants Lesson A
Objectives
- Create a procedure-level and module-level
variable - Select an appropriate data type for a variable
- Select an appropriate name for a variable
3Creating Variables and Named Constants Lesson A
Objectives (continued)
- Assign data to an existing variable
- Explain the scope and lifetime of a variable
- Create a named constant
4Previewing the Completed Application
- To preview the completed Skate-Away Sales
application - Use the Run command on the Start menu to run the
Skate (Skate.exe) file contained in the
VBNET\Chap03 folder - An order form similar to the one that you created
in Chapter 2 appears on the screen
5Using Variables to Store Information
- Besides storing data in the properties of
controls, a programmer also can store data,
temporarily, in memory locations inside the
computer - The memory locations are called variables,
because the contents of the locations can change
as the program is running
6Using Variables to Store Information (continued)
- One use for a variable is to hold information
that is not stored in a control on the user
interface - You can also store the data contained in a
controls property in a variable
7Selecting a Data Type for a Variable
8Selecting a Data Type for a Variable (continued)
9Selecting a Name for a Variable
- The naming convention used in this book
- The name indicates only the variables purpose
and is entered using lowercase letters - Use camel casing if a variables name contains
two or more words, you capitalize the first
letter in the second and subsequent words - The name assigned to a variable must follow the
rules listed in Figure 3-4
10Selecting a Name for a Variable (continued)
Figure 3-4 Rules for variable names along with
examples of valid and invalid names
11Declaring a Variable
- You use a declaration statement to declare, or
create, a variable - Syntax Dim Private Static variablename As
datatype initialvalue - Examples
- Dim hoursWorked As Integer
- Dim dataOk As Boolean True
- Dim name As String, age As Integer
12Assigning Data to an Existing Variable
- You use an assignment statement to assign a value
to a variable while an application is running - Syntax variablename value
- Examples
- quantityOrdered 500
- firstName Mary
- state Me.uiStateTextBox.Text
- discountRate .03
13Assigning Data to an Existing Variable (continued)
- A literal constant is an item whose value does
not change while the application is running - String literal constants are enclosed in
quotation marks, but numeric literal constants
and variable names are not - A literal type character forces a literal
constant to assume a data type other than the one
its form indicates
14Assigning Data to an Existing Variable (continued)
Figure 3-7 Literal type characters
15Assigning Data to an Existing Variable (continued)
- A variable can store only one item of data at any
one time - When you use an assignment statement to assign
another item to the variable, the new data
replaces the existing data - After data is stored in a variable, you can use
the data in calculations
16The Parse Method
- Every numeric data type in Visual Basic .NET has
a Parse method that can be used to convert a
string to that numeric data type - Syntax numericDataType.Parse(string)
- Example Dim sales As Decimal sales
Decimal.Parse(Me.uiSalesTextBox.Text)
17The Convert Class
- The Convert class contains methods to convert a
numeric value to a specified data type - Syntax Convert.method(value)
- Example Dim purchase As Double 500 Dim tax
As Decimal tax Convert.ToDecimal(purchase)
.03D
18The Convert Class (continued)
Figure 3-9 Most commonly used methods contained
in the Convert class
19The Scope and Lifetime of a Variable
- A variables scope indicates which procedures in
an application can use the variable - The scope is determined by where the Dim, Public
or Private statement is entered - When you declare a variable in a procedure, the
variable is called a procedure-level variable and
is said to have procedure scope
20The Scope and Lifetime of a Variable (continued)
- When you declare a variable in the forms
Declarations section, it is called a module-level
variable and is said to have module scope - Block-level variables are declared within
specific blocks of code, such as within
If...Then...Else statements or For...Next
statements
21The Scope and Lifetime of a Variable (continued)
- Creating a procedure-level variable
- Created with the Dim keyword
- The Dim statement is entered in an objects event
procedure - Only the procedure in which it is declared can
use the variable - Removed from memory when the procedure ends
22The Scope and Lifetime of a Variable (continued)
- Creating a module-level variable
- Created with the Private keyword
- Entered in a forms Declarations section
- Can be used by any of the procedures in the form
- Removed from memory when the application ends or
the form is destroyed
23Named Constants
- A memory location whose contents cannot be
changed while the program is running - You create a named constant using the Const
statement - Syntax Const constantname As datatype
expression - Example
- Const PI As Double 3.141593
24Option Explicit and Option Strict
- Visual Basic .NET provides a way to prevent you
from using undeclared variables in your code - Enter the statement Option Explicit On in the
General Declarations section of the Code Editor
window
25Option Explicit and Option Strict (continued)
- To eliminate the problems that occur as a result
of implicit type conversions - Enter the Option Strict On statement in the
General Declarations section of the Code Editor
window
26Option Explicit and Option Strict (continued)
- Type conversion rules used when the Option Strict
On statement is used - Strings will not be implicitly converted to
numbers, and numbers will not be implicitly
converted to strings - Lower-ranking data types will be implicitly
promoted to higher-ranking types - Higher-ranking data types will not be implicitly
demoted to lower-ranking data types rather, a
syntax error will occur
27Modifying the Skate-Away Sales ApplicationLesson
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
- Designate the default button for a form
28Storing Information Using Variables
- You need to revise the Skate-Away Sales
applications TOE chart and the pseudocode for
the Calculate Order button - The uiCalcButton controls Click event procedure
now has two more tasks to perform - It must calculate the sales tax
- It must display the message, sales tax, and
salespersons name in the uiMessageLabel control
29Storing Information Using Variables (continued)
- Two additional objects (OrderForm and
uiMessageLabel) are included in the revised TOE
chart - The OrderForms Load event procedure is
responsible for getting the salespersons name
when the application is started - The uiMessageLabel control will display the
message, sales tax, and salespersons name
30Storing Information Using Variables (continued)
- As the revised TOE chart indicates, you need to
- Change the code in the uiCalcButtons Click event
procedure - Code the forms Load event procedure
31Modifying the Calculate Order Buttons Code
- You will first remove the existing code from the
Calculate Order buttons Click event procedure - You then will recode the procedure using
variables in the equations - Figure 3-18 shows the revised pseudocode for the
Calculate Order buttons Click event procedure
(changes made to the original pseudocode are
shaded in the figure)
32Modifying the Calculate Order Buttons Code
(continued)
Figure 3-18 Revised pseudocode for the Calculate
Order buttons Click event procedure
33Concatenating Strings
- Connecting strings together is called
concatenating - Use the concatenation operator, which is the
ampersand (), to concatenate strings in Visual
Basic .NET - When concatenating strings, be sure to include a
space before and after the concatenation operator
34Concatenating Strings (continued)
35The InputBox Function
- The InputBox function displays one of Visual
Basic .NETs predefined dialog boxes - Syntax InputBox(prompt, title,
defaultResponse) - Use sentence capitalization for the prompt, and
book title capitalization for the title - Has limitations cant control appearance and
allows user to enter only one piece of data
36The InputBox Function (continued)
Figure 3-29 Example of a dialog box created by
the InputBox function
37The NewLine Character
- The NewLine character, which is Chr(13)
Chr(10), instructs the computer to issue a
carriage return followed by a line feed - The ControlChars.NewLine constant advances the
insertion point to the next line on the screen - The ControlChars.NewLine constant is an intrinsic
constant, which is a named constant that is built
into Visual Basic .NET
38Designating a Default Button
- Can be selected by pressing the Enter key even
when the button does not have the focus - Set the forms AcceptButton property to the
desired button - If used, it is typically the first button
- If a buttons action is destructive and
irreversible, then it should not be the default
button
39Modifying the Skate-Away Sales Applications
CodeLesson C Objectives
- Include a static variable in code
- Code the TextChanged event procedure
- Create a procedure that handles more than one
event
40Modifying the Code in the Load and uiCalcButton
ClickProcedures
- Mr. Cousard would like to have the order form ask
for the salespersons name each time an order is
calculated - Before making modifications, you should review
the applications documentation and revise the
necessary documents - Figure 3-44 shows the revised pseudocode for the
Calculate Order buttons Click event procedure
41Modifying the Code in the Load and uiCalcButton
ClickProcedures (continued)
Figure 3-44 Revised pseudocode for the Calculate
Order button
42Static Variables
- A static variable is a local variable that
retains its value when the procedure in which it
is declared ends - SyntaxStatic variablename As datatype
initialvalue - Removed from memory when application ends or form
is removed from memory
43Coding the TextChanged Event Procedure
- A controls TextChanged event occurs when the
contents of a controls Text property change - This can happen as a result of either the user
entering data into the control, or the
applications code assigning data to the
controls Text property
44Associating a Procedure with Different Objects
or Events
- The keyword Handles appears in a procedure header
and indicates the object and event associated
with the procedure - You can associate a procedure with more than one
object and event - To do so list each object and event, separated
by commas, in the Handles section of the
procedure header
45Summary
- The syntax of a variable declaration statement
isDim Private Static variablename As
datatype initialvalue - To create a procedure-level variable, enter the
variable declaration statement in a procedure - To create a module-level variable, enter the
variable declaration statement in a forms
Declarations section
46Summary (continued)
- To concatenate strings, use the concatenation
operator the ampersand () - To display a dialog box containing a prompt, an
input area, an OK button, and a Cancel button,
use the InputBox function, whose syntax is
InputBox(prompt, title, defaultResponse) - To make a button the default button, set the
forms AcceptButton property to the name of the
button
47Summary (continued)
- To create a static variable, use a declaration
statement that follows the syntax Static
variablename As datatype initialvalue - To process code when the contents of a control
have changed, enter the code in the controls
TextChanged event - To create a procedure for more than one object or
event, list each object and event after the
Handles keyword in the procedure