Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
and Output
3.1 Numbers
3.2 Strings
3.3 Input and Output
Chapter 3 - VB 2008 by
Schneider
3.1 Numbers
Arithmetic Operations
Variables
Incrementing the Value of a Variable
Built-In Functions:
Math.Sqrt
Int
Math.Round
Chapter 3 - VB 2008 by
Schneider
Numbers continued
Chapter 3 - VB 2008 by
Schneider
Arithmetic Operations
Numbers are called numeric literals
Five arithmetic operations in Visual Basic
+ addition
- subtraction
* multiplication
/ division
^ exponentiation
Chapter 3 - VB 2008 by
Schneider
Numeric Expressions
2+3
3 * (4 + 5)
2^3
Chapter 3 - VB 2008 by
Schneider
Displaying Numbers
Let n be a number or a numeric expression.
The statement
lstBox.Items.Add(n)
displays the value of n in the list box.
Chapter 3 - VB 2008 by
Schneider
Example 1: Form
Chapter 3 - VB 2008 by
Schneider
5
6
7
Chapter 3 - VB 2008 by
Schneider
Numeric Variable
A numeric variable is a name to which a
number can be assigned.
Examples:
speed
distance
interestRate
balance
Chapter 3 - VB 2008 by
Schneider
Variables
Declaration:
Dim speed As Double
Data type
Variable name
Assignment:
speed = 50
Chapter 3 - VB 2008 by
Schneider
10
Initialization
Numeric variables are automatically
initialized to 0:
Dim varName As Double
To specify a nonzero initial value
Dim varName As Double = 50
Chapter 3 - VB 2008 by
Schneider
11
Numeric Expressions
Numeric variables can be used in numeric
expressions.
Dim balance As Double = 1000
lstBox.Items.Add(1.05 * balance)
Output: 1050
Chapter 3 - VB 2008 by
Schneider
12
Assignment Statement
Dim numVar1 As Double = 5
Dim numVar2 As Double = 4
numVar1 = 3 * numVar2
lstBox.Items.Add(numVar1)
Output: 12
Chapter 3 - VB 2008 by
Schneider
13
Incrementing
To add 1 to the numeric variable var
var = var + 1
Or as a shortcut
var += 1
Or as a generalization
var += numeric expression
Chapter 3 - VB 2008 by
Schneider
14
Built-in Functions
Functions return a value
Math.Sqrt(9) returns 3
Math.Sqrt(0) returns 0
Int(9.7) returns 9
Int(2.3) returns 2
Math.Round(2.7) is 3
Math.Round(2.5) is 2
Chapter 3 - VB 2008 by
Schneider
15
16
Multiple Declarations
Dim a, b As Double
Two other types of multiple-declaration
statements are
Dim a As Double, b As Integer
Dim c As Double = 2, b As
Integer = 5
Chapter 3 - VB 2008 by
Schneider
17
Parentheses
Parentheses should be used liberally in
numeric expressions.
In the absence of parentheses, the
operations are carried out in the
following order: ^, * and /, + and -.
Chapter 3 - VB 2008 by
Schneider
18
Chapter 3 - VB 2008 by
Schneider
19
20
Chapter 3 - VB 2008 by
Schneider
21
A Logical Error
Dim average As Double
Dim m As Double = 5
Dim n As Double = 10
average = m + n / 2
Value of average will be 10. Should be 7.5.
Chapter 3 - VB 2008 by
Schneider
22
Chapter 3 - VB 2008 by
Schneider
23
3.2 Strings
ToUpper
Trim
ToLower
IndexOf
Substring
Chapter 3 - VB 2008 by
Schneider
24
Strings continued
Auto Correction
The Empty String
Initial Value of a String
Widening and Narrowing
Internal Documentation
Line-Continuation Character
Scope of a Variable
Chapter 3 - VB 2008 by
Schneider
25
String Literal
A string literal is a sequence of
characters surrounded by quotation marks.
Examples:
"hello"
"123-45-6789"
"#ab cde?"
Chapter 3 - VB 2008 by
Schneider
26
String Variable
A string variable is a name to which a
string value can be assigned.
Examples:
country
ssn
word
firstName
Chapter 3 - VB 2008 by
Schneider
27
String Variable
Declaration:
Dim firstName As String
Data type
Variable name
Assignment:
firstName = "Fred"
Chapter 3 - VB 2008 by
Schneider
28
String Variable
You can declare a string variable and
assign it a value at the same time.
Dim firstName As String = "Fred"
Chapter 3 - VB 2008 by
Schneider
29
Add Method
Let str be a string literal or variable. Then,
lstBox.Items.Add(str)
Chapter 3 - VB 2008 by
Schneider
30
String Variable
You can assign the value of one string
variable to another.
Dim strVar1 As String = "Hello"
Dim strVar2 As String = "Goodbye"
strVar2 = strVar1
lstOutput.Items.Add(strVar2)
Output: Hello
Chapter 3 - VB 2008 by
Schneider
31
Output:
president
George Washington
Chapter 3 - VB 2008 by
Schneider
32
Option Strict
Visual Basic allows numeric variables to
be assigned strings and vice versa, a
poor programming practice.
To prevent such assignments, set
Option Strict to On in the Options
dialog box.
Chapter 3 - VB 2008 by
Schneider
33
Chapter 3 - VB 2008 by
Schneider
34
35
Data Conversion
Because the contents of a text box is
always a string, sometimes you must
convert the input or output.
dblVar = CDbl(txtBox.Text)
Converts a String to a Double
txtBox.Text = CStr(numVar)
Converts a number to a string
Chapter 3 - VB 2008 by
Schneider
36
Auto Correction
Chapter 3 - VB 2008 by
Schneider
37
Not Valid:
Replace with:
intVar = dblVar
dblVar = strVar
strVar = intVar
intVar = CInt(dblVar)
dblVar = CDbl(strVar)
strVar = CStr(intVar)
Chapter 3 - VB 2008 by
Schneider
38
Concatenation
Combining two strings to make a new string
quote1 = "We'll always "
quote2 = "have Paris."
quote = quote1 & quote2
txtOutput.Text = quote & " - Humphrey Bogart"
Displays
We'll always have Paris. - Humphrey Bogart
Chapter 3 - VB 2008 by
Schneider
39
Appending
To append str to the string variable var
var = var & str
Or as a shortcut
var &= str
Chapter 3 - VB 2008 by
Schneider
40
Appending Example
Dim var As String = "Good"
var &= "bye"
txtBox.Text = var
OUTPUT: Goodbye
Can you concatenate a string with
a number and concatenate numbers?
yes, the result will be string
Chapter 3 - VB 2008 by
Schneider
41
42
Positions in a String
Positions of characters in a string are numbered
0, 1, 2, .
Consider the string Visual Basic.
Position 0: V
Position 1: i
Position 7: B
Substring al begins at position 4
Chapter 3 - VB 2008 by
Schneider
43
Substring Method
Let str be a string.
str.Substring(m, n) is the substring of length
n, beginning at position m in str.
Visual Basic.Substring(2, 3) is sua
Visual Basic.Substring(0, 1) is V
Chapter 3 - VB 2008 by
Schneider
44
IndexOf Method
Let str1 and str2 be strings.
str1.IndexOf(str2)
is the position of the first occurrence of str2 in str1.
(Note: Has value -1 if str2 is not a substring of str1.)
"Visual Basic".IndexOf("is") is 1.
"Visual Basic".IndexOf("si") is 9.
"Visual Basic".IndexOf("ab") is -1.
"Mississippi".IndexOf(ss,3) is 5.
Chapter 3 - VB 2008 by
Schneider
45
46
Chapter 3 - VB 2008 by
Schneider
47
Chapter 3 - VB 2008 by
Schneider
48
Comments
Private Sub btnCompute_Click (...)
Handles btnCompute.Click
'Calculate the balance in an account
Dim rate As Double 'Annual rate of interest
Dim curBalance As Double 'Current balance
Chapter 3 - VB 2008 by
Schneider
49
Internal Documentation
1. Other people can easily understand the
program.
2. You can understand the program when
you read it later.
3. Long programs are easier to read
because the purposes of individual
pieces can be determined at a glance.
Chapter 3 - VB 2008 by
Schneider
50
Line-Continuation Character
A long line of code can be continued on
another line by using an underscore (_)
preceded by a space
msg = "I'm going to make " & _
"him an offer he can't refuse."
Chapter 3 - VB 2008 by
Schneider
51
Scope
The scope of a variable is the portion of
the program that can refer to it.
Variables declared inside an event
procedure are said to have local scope
and are only available in the event
procedure in which they are declared.
Chapter 6 - VB 2008 by
Schneider
52
Scope
Variables declared outside an event
procedure are said to have class-level
scope and are available to every event
procedure.
Usually declared after
Public Class formName
(Declarations section of Code Editor.)
Chapter 6 - VB 2008 by
Schneider
53
Automatic Colorization
Comments green
String literals maroon
Keywords blue
Note: Keywords are words such as Sub,
Handles, Private, With, and End that have
special meaning in Visual Basic. They
cannot be used as variable names.
Chapter 3 - VB 2008 by
Schneider
54
55
String Value
FormatNumber(12345.628, 1)
12,345.6
FormatCurrency(12345.628, 2)
$12,345.63
FormatPercent(0.183, 0)
18%
FormatPercent(0.185, 2)
18.50%
Chapter 3 - VB 2008 by
Schneider
56
Chapter 3 - VB 2008 by
Schneider
57
Chapter 3 - VB 2008 by
Schneider
58
Chapter 3 - VB 2008 by
Schneider
59
Effect on zone
:Nr
FormatNumber(data, r)
:Cr
FormatCurrency(data, r)
:Pr
FormatPercent(data, r)
60
Chapter 3 - VB 2008 by
Schneider
61
Name
Hourly wage
Number of hours worked
Chapter 3 - VB 2008 by
Schneider
62
63
64
OUTPUT:
65
Comment on Example
Consider
lstBox.Items.Add(name & ": " & wage * hours)
Chapter 3 - VB 2008 by
Schneider
66
Chapter 8 - VB 2008 by
Schneider
67
Chapter 8 - VB 2008 by
Schneider
68
Sequential Files
A sequential file consists of data stored
in a text file on disk.
May be created with the Visual Basic IDE
May also be created programmatically
from Visual Basic
Chapter 8 - VB 2008 by
Schneider
69
70
71
Example
Private Sub btnCreateFile_Click(...) _
Handles btnCreateFile.Click
Dim sw As IO.StreamWriter =
IO.File.CreateText("PAYROLL.TXT")
sw.WriteLine("Mike Jones") 'Name
sw.WriteLine(9.35)
'Wage
sw.WriteLine(35)
Hours worked
sw.WriteLine("John Smith")
sw.WriteLine(10.75)
sw.WriteLine(33)
sw.Close()
End Sub
Chapter 8 - VB 2008 by
Schneider
72
File: PAYROLL.TXT
Mike Jones
9.35
35
John Smith
10.75
33
Chapter 8 - VB 2008 by
Schneider
73
Caution
If an existing file is opened for output,
Visual Basic will erase the existing file
and create a new one.
Chapter 8 - VB 2008 by
Schneider
74
75
IO.File.AppendText
Will add data to the end of an existing file
If a file does not exist, the method will
create it.
Chapter 8 - VB 2008 by
Schneider
76
Chapter 8 - VB 2008 by
Schneider
77
Imports System.IO
Simplifies programs that have extensive file
handling.
Place the statement
Imports System.IO
at the top of the Code Editor, before the
Class frmName statement. Then, there is
no need to insert the prefix IO. before the
words StreamReader, StreamWriter, and File.
Chapter 8 - VB 2008 by
Schneider
78
Chapter 3 - VB 2008 by
Schneider
79
"Consolation")
Title
Prompt
Chapter 3 - VB 2008 by
Schneider
80
Chapter 2 - VB 2008 by
Schneider
81
82
Chapter 3 - VB 2008 by
Schneider
83
Mask
A Mask setting is a sequence of
characters, with 0, L, and & having special
meanings.
0 Placeholder for a digit.
L Placeholder for a letter.
& Placeholder for a character
Chapter 3 - VB 2008 by
Schneider
84
Sample Masks
State abbreviation: LL
Phone number: 000-0000
Social Security Number: 000-00-0000
License plate: &&&&&&
Chapter 3 - VB 2008 by
Schneider
85
86