Upload
kelley-wilcox
View
217
Download
1
Embed Size (px)
Citation preview
Variables & Function Calls
Overview
Variables Programmer Defined & Intrinsic Data Types Calculation issues
Using Functions The val() function The msgbox() function
Types of Data
Numeric Can contain only numbers
Real numbers, integers, currency, dates Used for arithmetic calculations
String (text) May contain any symbol No arithmetic calculations
Append, insert, extract
Variables - The Concept
Variables are named containers of data They are not displayed on a form The contents can change during runtime
Variables vary in size and purpose Some types of data require more memory than others Each variable belongs to a type
The type of a variable determines its size, and what operations (such as add, substract, append) will work on the variable
VB Variables
Variables are not created using the tool box Instead, they are declared within the program Declaring a variable
sets aside memory for the variable assigns a name to that space in memory describes what type of data can be stored there
Variables don’t work with the properties window Changes to a variable must be made in a program
Declaring a Variable
A declaration begins with the Dim statement This alerts VB that a new variable is being defined
A declaration contains a variable name and type Just as each control must have a (name), like lblInput,
and type, like label The form of a declaration: Dim <name> as <type>
For example:
Dim intCount as Integer
Numeric Variable Types
There are several different numeric variable types, each with varying Precision Size Representation scheme
Selecting the wrong type for variables can hurt the performance of a program
Counting Things
Integer types
BYTE Small range of values, 0 to 255
INTEGER -32,768 to +32,767
LONG -2,147,483,648 to +2,147,483,647
Measuring Things
SINGLE Positive or negative As close to zero as 1.401298E-45 As large as 3.402823E38
DOUBLE Positive or negative As close to zero as 4.94065645841247E-327 As large as 1.79769313486232E308
Highest Precision
Scaled integers CURRENCY
+/-922,337,203,685,477.5807 DECIMAL
+/-79,228,162,514,262,337,593,543,950,335 +/-7.9228162514262337593543950335 no rounding, slow but sure
Storage Space & Prefixes
BYTE 1 byte byt INTEGER 2 bytes int LONG 4 bytes lng SINGLE 4 bytes sng DOUBLE 8 bytes dbl BOOLEAN 2 bytes bln CURRENCY 8 bytes cur DECIMAL 14 bytes dec
Establishing Values
Dim intValue as integer
intValue = 12
intValue = ”12”
intValue = 12.5
intValue = 11.51
Due to automatic type conversion, all result in the integer variable intValue being set to 12
Operators & Precedence
1. ^ Exponentiation
2. - Unary Negation
3. * / Multiplication and Division
4. \ Integer Division
5. MOD Remainder
6. + - Addition and Subtraction
(otherwise left to right)
Precedence Examples
sngA = ( 3 + 4 ) / ( 2 - 3 )
results: sngA = -7.00
sngB = ( 3 + 4 ) / 2 - 3
results: sngB = 0.50
sngC = 3 * 4 / 2 * 3
results: sngC = 18.00
sngD = ( 3 * 4 ) / ( 2 * 3 )
results: sngD = 2.00
Real & Integer Arithmetic
sngA = 5 / 2
results: sngA = 2.50
sngB = 5 \ 2
results: sngB = 2.00
intC = 5 MOD 2
results: intC = 1
intD = 5 / 2
results: intD = 2
Text Strings
Used to hold an arbitrary list of characters The size can be predetermined, or allowed to
change as the program runs The .caption property of a label is a string, as is the
text property of a textbox
String Variables
Variable and fixed length strings:Dim strNamer As StringDim strMiddle As String * 1Dim strState As String * 2strNamer = ”Jason Ogelthorpe”strMiddle = ”P”strState = ”WI”
String Variables
Dim strSocSoc As String * 11
Dim strZipCode As String * 10
strSocSoc = ”128-24-1234”
strZipCode = ”53211”
(strZipCode = ”53211 ”)
(note |1234567890|)
Concatenation of Strings
strSamp = ”Hi” & ” There”
(strSamp = ”Hi There”)
strSamp = ”Value” & 27
(strSamp = ”Value27”)
strSamp = ”Value” & str(27)
(strSamp = ”Value 27”)
Long Strings
strSamp = ”We can build ” _ & ”a very, very, very, ” _ & ”long string.”
(a concatenated string can be split over several lines, note underscore characters and note spaces contained within the quoted areas.)
Naming VB Variables
Programmer defined Don’t use reserved words
Type names, control names, keywords (DIM or end) Make the name meaningful
intNum vs intNumberOfGroceries Capitalize first character after prefix
If multiple words, capitalize the 1st character of each use standard prefixes
Naming VB Variables
Are these valid names? int Number Sub MinimumRate Caption CarCount intNumberofcars
VB Constants Types of Constants
Literals sngTaxRate = .075 txtName = “Smith”
Symbolic programmer defined with Const keyword const <name> as <type> = <value> Const sngTaxRate as Single = .075 Some are defined by VB
• vbRed • vbCenter
What are benefits of symbolic constants? Why avoid literals in code?
Working with Variables
Declaring Variables Dim statement, short for Dimension,
Sets aside memory Labels the memory Initializes variable based upon type
Dim intPhone as Integer Creates variable that can store an integer number
Dim strLastName as String Creates variable that can store a string (of variable length)
Dim strLastName as String * 5 Creates variable that can store a string of 5 characters.
Working with Variables Assignment Statement
Each statement in Experiment 3 was an assignment statements
Basic format <name> = <expression>
Use an = (equals sign – read “is assigned”) VB evaluates the expression to the right of the equal sign If necessary, that value is converted so that it has the same type as the variable The value is copied in to the variable – old data is overwritten
For Numeric Data Types A = B + 8*C (Variable A is assigned the value of the resolved expression)
For String Data Types strFull = strFirst & strLast (The right side is concatenated and assigned into strFull)
Working with Variables
Control Properties are Variables lblName.Caption = “My label”
Type MismatchintNumber = strLastName
Misspellings Use OPTION EXPLICIT statement to make the
computer find errors If a variable used in an assignment is not in a DIM
statement, then VB does not allow the program to compile
Using Functions
Some activities are common in programming tasks Converting a string to a number Pop up a warning message for the user Extracting a substring from a string
Rather than forcing programmers to re-write the code which handles these activities each time they are needed, we can write one reusable function
Functions have names, like variables, and parameter lists
The form of a function call
The general form of a function call is <function name> ( <parameter 1>, <parameter 2>, … )
Functions take input values, called parameters, and produce an output value which can be assigned to a variable dblValue = squareRoot(intCount)
Visual Basic includes many functions we can use We will learn how to create our own functions
Chapter 6
The VAL Function
This function allows conversion between string filled variables and numeric variables.
It works by “scanning” the characters of the string filled variable and builds a numeric value until the end-of-string or a non numeric is found.
A Simple Program
Private Sub cmdComnd_Click()
Label1.Caption = Val(Text1.Text)
End Sub
We can enter character strings into the box “Text1”, press the command button, and look at what appears in the box “Label1”.
Some Examples
The Message Box
VB allows the user to generate message boxes as a part of a user program. When invoked they look something like this:
Format of MsgBox
In its simplest form the MsgBox is called by this command:
Dim intX As Integer
intX = MsgBox("Read the Password")
The Details
Dim intX As Integer
intX = MsgBox("Do this now", _
vbCritical, "Prompting Issue")
Response Choices
The value of “intZ” above depends on which response is chosen. “Yes” - intZ = 6“No” - intZ = 7(the numerical values are defined by Visual Basic.)
Dim intZ As IntegerintZ = MsgBox(“Should I Do This”, _ vbYesNo ,”Prompting Issue”)
Icon Choices