Chapter 3 Using Variables and Constants Programming with

Chapter 3: Using Variables and Constants Programming with Microsoft Visual Basic. NET, Second Edition

Creating 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 Programming with Microsoft Visual Basic. NET, Second Edition 2

Creating 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 Programming with Microsoft Visual Basic. NET, Second Edition 3

Previewing 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 VBNETChap 03 folder – An order form similar to the one that you created in Chapter 2 appears on the screen Programming with Microsoft Visual Basic. NET, Second Edition 4

Using 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 Programming with Microsoft Visual Basic. NET, Second Edition 5

Using 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 control’s property in a variable Programming with Microsoft Visual Basic. NET, Second Edition 6

Selecting a Data Type for a Variable Type Memory Required Byte 1 byte Short 2 bytes Char 2 bytes Integer 4 bytes Boolean 2 bytes Long 8 bytes Decimal 16 bytes Single 4 bytes Double 8 bytes String Varies Date 8 bytes Object 4 bytes Programming with Microsoft Visual Basic. NET, Second Edition 7

Selecting a Data Type for a Variable (continued) Short, Integer, Long Store whole numbers Single, Double Store floating-point numbers Decimal Stores numbers with a decimal point Boolean Stores True and False Char Stores one Unicode character Byte Stores 8 -bits of data Date Stores date and time information String Stores a sequence of characters Programming with Microsoft Visual Basic. NET, Second Edition 8

Selecting a Name for a Variable • The naming convention used in this book: – The name indicates only the variable’s purpose and is entered using lowercase letters – Use camel casing: if a variable’s 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 Programming with Microsoft Visual Basic. NET, Second Edition 9

Selecting a Name for a Variable (continued) Figure 3 -4: Rules for variable names along with examples of valid and invalid names Programming with Microsoft Visual Basic. NET, Second Edition 10

Declaring a Variable • You use a declaration statement to declare, or create, a variable • Syntax: {Dim | Private | Static} variablename [As datatype][= initialvalue] • Examples: – Dim hours. Worked As Integer – Dim data. Ok As Boolean = True – Dim name As String, age As Integer Programming with Microsoft Visual Basic. NET, Second Edition 11

Assigning 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: – quantity. Ordered = 500 – first. Name = “Mary” – state = Me. ui. State. Text. Box. Text – discount. Rate =. 03 Programming with Microsoft Visual Basic. NET, Second Edition 12

Assigning 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 Programming with Microsoft Visual Basic. NET, Second Edition 13

Assigning Data to an Existing Variable (continued) Figure 3 -7: Literal type characters Programming with Microsoft Visual Basic. NET, Second Edition 14

Assigning 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 Programming with Microsoft Visual Basic. NET, Second Edition 15

The 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: numeric. Data. Type. Parse(string) • Example: Dim sales As Decimal sales = Decimal. Parse(Me. ui. Sales. Text. Box. Text) Programming with Microsoft Visual Basic. NET, Second Edition 16

The 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. To. Decimal(purchase) *. 03 D Programming with Microsoft Visual Basic. NET, Second Edition 17

The Convert Class (continued) Figure 3 -9: Most commonly used methods contained in the Convert class Programming with Microsoft Visual Basic. NET, Second Edition 18

The Scope and Lifetime of a Variable • A variable’s 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 Programming with Microsoft Visual Basic. NET, Second Edition 19

The Scope and Lifetime of a Variable (continued) • When you declare a variable in the form’s 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 Programming with Microsoft Visual Basic. NET, Second Edition 20

The Scope and Lifetime of a Variable (continued) • Creating a procedure-level variable – Created with the Dim keyword – The Dim statement is entered in an object’s event procedure – Only the procedure in which it is declared can use the variable – Removed from memory when the procedure ends Programming with Microsoft Visual Basic. NET, Second Edition 21

The Scope and Lifetime of a Variable (continued) • Creating a module-level variable – Created with the Private keyword – Entered in a form’s 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 Programming with Microsoft Visual Basic. NET, Second Edition 22

Named 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 Programming with Microsoft Visual Basic. NET, Second Edition 23

Option 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 Programming with Microsoft Visual Basic. NET, Second Edition 24

Option 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 Programming with Microsoft Visual Basic. NET, Second Edition 25

Option 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 Programming with Microsoft Visual Basic. NET, Second Edition 26

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 Input. Box function • Include the Control. Chars. New. Line constant in code • Designate the default button for a form Programming with Microsoft Visual Basic. NET, Second Edition 27

Storing Information Using Variables • You need to revise the Skate-Away Sales application’s TOE chart and the pseudocode for the Calculate Order button • The ui. Calc. Button control’s Click event procedure now has two more tasks to perform: – It must calculate the sales tax – It must display the message, sales tax, and salesperson’s name in the ui. Message. Label control Programming with Microsoft Visual Basic. NET, Second Edition 28

Storing Information Using Variables (continued) • Two additional objects (Order. Form and ui. Message. Label) are included in the revised TOE chart • The Order. Form’s Load event procedure is responsible for getting the salesperson’s name when the application is started • The ui. Message. Label control will display the message, sales tax, and salesperson’s name Programming with Microsoft Visual Basic. NET, Second Edition 29

Storing Information Using Variables (continued) • As the revised TOE chart indicates, you need to: – Change the code in the ui. Calc. Button’s Click event procedure – Code the form’s Load event procedure Programming with Microsoft Visual Basic. NET, Second Edition 30

Modifying the Calculate Order Button’s Code • You will first remove the existing code from the Calculate Order button’s 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 button’s Click event procedure (changes made to the original pseudocode are shaded in the figure) Programming with Microsoft Visual Basic. NET, Second Edition 31

Modifying the Calculate Order Button’s Code (continued) Figure 3 -18: Revised pseudocode for the Calculate Order button’s Click event procedure Programming with Microsoft Visual Basic. NET, Second Edition 32

Concatenating 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 Programming with Microsoft Visual Basic. NET, Second Edition 33

Concatenating Strings (continued) Example Result first. Name & last. Name Sue. Chen first. Name & “ “ & last. Name Sue Chen last. Name & “, “ & first. Name Chen, Sue “She is “ & Convert. To. String(age) & “!” She is 21! “She is “ & age & “!” She is 21! Programming with Microsoft Visual Basic. NET, Second Edition 34

The Input. Box Function • The Input. Box function displays one of Visual Basic. NET’s predefined dialog boxes • Syntax: Input. Box(prompt[, title][, default. Response]) • Use sentence capitalization for the prompt, and book title capitalization for the title • Has limitations: can’t control appearance and allows user to enter only one piece of data Programming with Microsoft Visual Basic. NET, Second Edition 35

The Input. Box Function (continued) Figure 3 -29: Example of a dialog box created by the Input. Box function Programming with Microsoft Visual Basic. NET, Second Edition 36

The New. Line Character • The New. Line character, which is Chr(13) & Chr(10), instructs the computer to issue a carriage return followed by a line feed • The Control. Chars. New. Line constant advances the insertion point to the next line on the screen • The Control. Chars. New. Line constant is an intrinsic constant, which is a named constant that is built into Visual Basic. NET Programming with Microsoft Visual Basic. NET, Second Edition 37

Designating a Default Button • Can be selected by pressing the Enter key even when the button does not have the focus • Set the form’s Accept. Button property to the desired button • If used, it is typically the first button • If a button’s action is destructive and irreversible, then it should not be the default button Programming with Microsoft Visual Basic. NET, Second Edition 38

Modifying the Skate-Away Sales Application’s Code Lesson C Objectives • Include a static variable in code • Code the Text. Changed event procedure • Create a procedure that handles more than one event Programming with Microsoft Visual Basic. NET, Second Edition 39

Modifying the Code in the Load and ui. Calc. Button Click Procedures • Mr. Cousard would like to have the order form ask for the salesperson’s name each time an order is calculated • Before making modifications, you should review the application’s documentation and revise the necessary documents • Figure 3 -44 shows the revised pseudocode for the Calculate Order button’s Click event procedure Programming with Microsoft Visual Basic. NET, Second Edition 40

Modifying the Code in the Load and ui. Calc. Button Click Procedures (continued) Figure 3 -44: Revised pseudocode for the Calculate Order button Programming with Microsoft Visual Basic. NET, Second Edition 41

Static Variables • A static variable is a local variable that retains its value when the procedure in which it is declared ends • Syntax: Static variablename [As datatype] [= initialvalue] • Removed from memory when application ends or form is removed from memory Programming with Microsoft Visual Basic. NET, Second Edition 42

Coding the Text. Changed Event Procedure • A control’s Text. Changed event occurs when the contents of a control’s Text property change • This can happen as a result of either the user entering data into the control, or the application’s code assigning data to the control’s Text property Programming with Microsoft Visual Basic. NET, Second Edition 43

Associating 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 Programming with Microsoft Visual Basic. NET, Second Edition 44

Summary • The syntax of a variable declaration statement is: {Dim | 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 form’s Declarations section Programming with Microsoft Visual Basic. NET, Second Edition 45

Summary (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 Input. Box function, whose syntax is Input. Box(prompt[, title][, default. Response]) • To make a button the default button, set the form’s Accept. Button property to the name of the button Programming with Microsoft Visual Basic. NET, Second Edition 46

Summary (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 control’s Text. Changed event • To create a procedure for more than one object or event, list each object and event after the Handles keyword in the procedure Programming with Microsoft Visual Basic. NET, Second Edition 47
- Slides: 47