Visual Basic Variables

Download Report

Transcript Visual Basic Variables

Chapter 3

A storage location in memory (RAM)

 Holds data/information while the program is running   These storage locations can be referred to by their names

Every variable has three properties:

   Name - reference to the location - cannot be

changed

Value - the information that is stored - can be changed during program execution, hence the name “variable” Data Type - the type of information that can be stored - cannot be changed

A variable can store only one value at any time.

Dim x As Integer; x = 5; x = 10; x

Slide 3 © 2006 Lawrenceville Press

 You the programmer make up a name for the variable  Visual Basic associates that name with a location in the computer's RAM  The value currently associated with the variable is stored in that memory location  You simply use the name you chose when you need to access the value

 Copy and store values entered by the user  Perform arithmetic manipulation on values  Test values to see if they meet a criteria  Temporarily hold and manipulate the value of a control property  Hold data/information so that it can be recalled for use at a later point in the code

Data type - Specifies type of data variable can store       Integer variables: Long, Integer, Short, Byte Floating-point variables: Single, Double Fixed decimal point variable: Decimal Boolean variables: True, False Character variable: Char Text variable: String  The Object variable    Default data type assigned by Visual Basic Can store many different types of data Less efficient than other data types

Data type

Byte Short Integer Long Single Double Decimal Char Boolean String Date Object

Prefix Size

byt shr int lng

Values

1 byte positive integer value from 0 to 255 2 byte integer from –32,768 to +32,767 4 byte integer from +/- 2,147,483,647 8 byte integer from +/- 9,223,372,036,854,775,807 sng dbl dec chr bln str dtm obj 4 byte single-precision, floating-point number 8 byte double-precision, floating-point number 16 byte number with up to 28 significant digits 2 byte Any single character 2 byte True or False (4 byte) Text - Any number/combination of characters 8 byte 8 character date: #dd/mm/yyyy# (4 byte) An address that refers to an object

     First character must be a letter or underscore Must contain only letters, numbers, and underscores (no spaces, periods, etc.) Can have up to 255 characters Cannot be a VB language keyword Naming Conventions     Should be meaningful Follow 3 char prefix style - 1st 3 letters in lowercase to indicate the data type After that, capitalize the first letter of each word Example: intTestScore

 A variable declaration is a statement that creates a variable in memory  Syntax: Dim

VariableName

As

DataType

    Dim (short for Dimension) - keyword VariableName - name used to refer to variable As - keyword DataType - one of many possible keywords to indicate the type of value the variable will contain  Example: Dim intLength as Integer

 A starting or initialization value may be specified with the Dim statement  Good practice to set an initial value unless assigning a value prior to using the variable  Syntax:

Dim

VariableName

As

DataType

=

Value

Just append " = value” to the Dim statement  = 5  assigning a beginning value to the variable  Example: Dim intLength as Integer = 5

 Variable MUST be declared prior to the code where they are used  Variable should be declared first in the procedure.

 Declaring an initial value of the variable in the declaration statement is optional

Data type

All numeric types Boolean Char String or Object Date January 1, 0001

Default (Initial) value

Zero (0) False Binary 0 Empty 12:00 a.m. on

 Programs often need to use given values  For example:

decTotal *= 1.06

 Or decTotal = dectotal

*

1.06

 Adds 6% sales tax to an order total  Two problems with this:   The reason for multiplying decTotal by 1.06 isn’t always obvious If sales tax rate changes, must find and change every occurrence of .06 or 1.06

 Use of

named constants

resolves both these issues  Can declare a variable whose value is set at declaration and cannot be changed later:  Syntax:

Const

CONST_NAME Value

As

DataType

=

Looks like a normal declaration except:  Const used instead of Dim   An initialization value is required By convention, entire name capitalized with underscore characters to separate words

 The objective of our code is now clearer  

Const sngSALES_TAX_RATE As Single = 1.06

decTotal *= sngSALES_TAX_RATE

 Can change all occurrences in the code simply by changing the initial value set in the declaration   If tax rate changes from 6% to 7%

Const sngSALES_TAX_RATE As Single = 1.07

      What – Indicates the part of the program where the variable can be used When – From the variable declaration until the end of the code block (procedure, method, etc.) where it is declared Variable cannot be used before it is declared ▪ Variable declared within a code block is only visible to statements within that code block Called Local Variable ▪ Can be declared at the beginning of the class code window (General Declarations section) and be available to all blocks Called Form Level Variable Variables that share the same scope cannot have the same name (same name ok if different scope)

Slide 17 © 2006 Lawrenceville Press

 What – Indicates the part of the program where the variable exists in memory  When – From the beginning of the code block (procedure, method, etc.) where it is declared until the end of that code block   When the code block begins the space is created to hold the local variables  Memory is allocated from the operating system When the code block ends the local variables are destroyed  Memory is given back to the operating system

  Syntax:

variablename = expression

Assigns the value of the expression to the variable. (The variable must be on the left and the expression on the right.)  Example:     intNumber1 = 4 intNumber2 = 3 * (2 + 2) intNumber3 = intNumber1 IntNumber1 = intNumber1 + 6

 A value of one data type can be assigned to a variable of a different type  An implicit type conversion is an attempt to automatically convert to the receiving variable’s data type  A widening conversion suffers no loss of data   Converting an integer to a single Dim sngNumber as Single = 5  A narrowing conversion may lose data   Converting a decimal to an integer Dim intCount = 12.2

‘intCount becomes 12

 VB provides a set of functions that perform data type conversions  These functions will accept a literal, variable name, or arithmetic expression  The following narrowing conversions require an explicit type conversion   Double to Single Single to Integer  Long to Integer  Boolean, Date, Object, String, and numeric types represent different sorts of values and require conversion functions as well

 The

Val function

is a more forgiving means of performing string to numeric conversions  Uses the form Val(string)  If the initial characters form a numeric value, the Val function will return that  Otherwise, it will return a value of zero

 A function performs a single, well-defined task and returns a value.

 Val() is used to convert text box data to a numeric value.

 Val() requires a string and then returns a number corresponding to the string. For example:

Dim height As Integer height = Val("62 cm.") 'height = 62 height = Val("33") 'height = 33 height = Val(Me.txtHeight.Text)

Slide 23 © 2006 Lawrenceville Press

Val Function  Val("34.90“)     Val("86abc“) Val("$24.95“) Val("3,789“) Val("“)   Val("47%“) Val("Geraldine“) Value Returned 34.9

86 0 3 0 47 0

 Returns a string representation of the value in the variable calling the method  Every VB data type has a

ToString

method  Uses the form VariableName.ToString

 For example

Dim number as Integer = 123 lblNumber.text = number.ToString

 Assigns the string “123” to the text property of the lblNumber control

 Arithmetic Operators ^ * / \ MOD Exponential Multiplication Floating Point Division Integer Division Modulus (remainder from division) + – Addition Subtraction & together) String Concatenation (putting them

 Examples of use: 

decTotal = decPrice + decTax

decNetPrice = decPrice decDiscount

dblArea = dblLength * dblWidth

sngAverage = sngTotal / intItems

dblCube = dblSide ^ 3

 The backslash (\) is used as an

integer division

operator  The result is always an integer, created by discarding any remainder from the division  Example 

intResult = 7 \ 2 ‘result is 3

shrHundreds = 157 \ 100 ‘result is 1

shrTens = (157 - 157 \ 100 * 100) \ 10 ‘result is ?

 This operator can be used in place of the backslash operator to give the remainder of a division operation

intRemainder = 17 MOD 3

‘result is 2

dblRemainder = 17.5 MOD 3

2.5

‘result is  Any attempt to use of the \ or MOD operator to perform integer division by zero causes a

DivideByZeroException

runtime error

     Concatenate: connect strings together Concatenation operator: the ampersand (&) Include a space before and after the & operator Numbers after & operator are converted to strings How to concatenate character strings   strFName = "Bob" strLName = "Smith"  strName = strFName & " “  “Bob ”  strName = strName & strLName “Bob Smith”     intX = 1 intY = 2 intResult = intX + intY strOutput = intX & “ + “ & intY & “ = “ & intResult + 2 = 3 ”  “ 1

   Often need to change the value in a variable and assign the result back to that variable For example: var = var – 5 Subtracts 5 from the value stored in var

Operator Usage Equivalent to Effect += -=

from

*= /= \=

by

&= x += 2 x -= 5 x /= y x \= y x &= “.”

Concatenate

x = x + 2 x = x x *= 10 x = x * 10 – 5 x = x / y x = x \ y x = x & “.”

Add to Subtract Multiply by Divide by Int Divide

And Boolean Byte Call Case Catch Const Date Decimal Declare Default Dim Do Double Each Else ElseIf End Enum Erase Error Event Delegate Exit False Finally For Friend Me Mod Module Function New Get Not Handles Nothing If In Integer Is Like Long Object Or Private Protecte d Public True Return Select Short Single Static Stop String Structure Sub Then To

Slide 32 Press