– Fundamentals of Chapter 3 Programming in Visual Basic •

Download Report

Transcript – Fundamentals of Chapter 3 Programming in Visual Basic •

Chapter 3 – Fundamentals of
Programming in Visual Basic
•
•
•
•
•
3.1 Visual Basic Controls
3.2 Visual Basic Events
3.3 Numbers
3.4 Strings
3.5 Input and Output
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
1
3.1 Visual Basic Controls
•
•
•
•
•
•
•
•
Invoking Visual Basic
Text Box Control
Button Control
Label Control
List Box Control
Name Property
Fonts / Auto Hide
Positioning and Aligning Controls
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
2
Visual Basic Start Page
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
3
Start a New Project
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
4
New Project Dialog Box
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
5
Initial Visual Basic Screen
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
6
Toolbox
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
7
3 Ways to Place a Control from the
Toolbox onto the Form Window
• Double-click
• Drag
• Click, Point, and Drag
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
8
Four Controls at Design Time
Text box
To select a control, click on it. Sizing handles
will appear when a control is selected.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
9
Text Box Control
• Used for input and output
• When used for output, ReadOnly
property is set to True
Tasks button
Sizing handles
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
10
Properties Window
Press F4 to
display the
Properties
window for the
selected control.
Categorized view
Alphabetical view
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
11
Properties Window
Selected
control
Settings
Properties
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
12
Some Often Used Properties
•
•
•
•
•
•
•
Text
Autosize
Font.Name
Font.Size
ForeColor
BackColor
ReadOnly
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
13
Setting Properties
• Click on property name in left column.
• Enter its setting into right column by typing
or selecting from options displayed via a
button or ellipses (…).
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
14
Setting the ForeColor
Property
1. Click on ForeColor.
2. Click on button at right
of settings box.
3. Click on Custom tab to
obtain display shown.
4. Click on a color.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
15
Font Property
1. Click on
Font in left
column.
2. Click on
ellipsis at
right of
settings box
to obtain
display
shown,
3. Make
selections.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
16
Button Control
• The caption on the button should indicate
the effect of clicking on the button.
• Text property determines caption.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
17
Add an "access key"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
18
Label Control
• Used to identify the contents of a text box.
• Text property specifies caption.
• By default, label automatically resizes to
accommodate caption on one line.
• When the AutoSize property is set to
False, label can be resized manually. Used
primarily to obtain a multi-rowed label.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
19
List Box Control
• Initially used to display several pieces of
output.
• Later used to select from a list.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
20
The Name Property
• How the programmer refers to a control in code
• Setting for Name property near top of Properties
window.
• Name must begin with a letter, be less than 215
characters long, and may include numbers and
letters, but can NOT include spaces or
punctuation.
• Use appropriate 3- or 4-character naming prefix
(such as txt, btn, frm, lbl, etc.)
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
21
Control Name Prefixes
Control
Prefix
Example
button
btn
btnCompute
label
lbl
lblAddress
text box
txt
txtAddress
list box
lst
lstOutput
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
22
Renaming the Form
• Initial name is Form1
• The Solution Explorer window lists a file
named Form1.vb.
• To rename the form, change the name of
this file to newName.vb
• newName should begin with prefix frm.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
23
Fonts
• Proportional width fonts take up less space
for "I" than for "W" – like Microsoft Sans
Serif
• Fixed-width fonts take up the same
amount of space for each character – like
Courier New
• Fixed-width fonts are good for tables.
• Symbols are created with Windings.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
24
Auto Hide
• Hides Toolbox when not in use
• Vertical push pin icon indicates auto hide is
disabled.
• Click the push pin to make it horizontal and
enable auto hide.
Push pin
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
25
Positioning Controls
Proximity
line
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
26
Aligning Controls
Snap line
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
27
Aligning Controls
Snap line
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
28
3.2 Visual Basic Events
• Nothing happens until a user clicks or
presses a key- this is called an event.
• An Event Procedure Walkthrough
• Properties and Event Procedures of the
Form
• The Header of an Event Procedure
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
29
Event
• An event is an action, such as the user
clicking on a button
• Usually, nothing happens in a Visual Basic
program until the user does something and
generates an event.
• What happens is determined by
statements.
• Code must be written to react to an event
by performing a function.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
30
Sample Statements
• txtBox.ForeColor = Color.Red
• txtBox.Visible = True
• txtBox.Text = “Hello World”
General Form:
controlName.property = setting
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
31
Sample Form
txtFirst
txtSecond
btnRed
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
32
Focus
• When you click on a text box, a cursor
appears in the text box, and you can type
into the text box.
• Such a text box is said to have the focus.
• If you click on another text box, the first text
box loses the focus and the second text box
receives the focus.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
33
Examples of Events
• btnShow.Click
• txtBox.TextChanged
• txtBox.Leave
General Form:
controlName.event
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
34
The three steps in creating a
Visual Basic program:
1. Create the interface; that is, generate,
position, and size the objects.
2. Set properties; that is, configure the
appearance of the objects.
3. Write the code that executes when
events occur.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
35
Code Window
Page tab
Class
Name
box
Method
Name
box
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
36
Structure of an Event Procedure
Private Sub objectName_event(...)
Header
Handles objectName.event
statements
End Sub
(...) is filled automatically with
(ByVal sender As System.Object, ByVal
e As System.EventArgs)
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
37
Code Window
Page tab
Class
Name
box
Method
Name
box
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
38
Create an Outline for an Event
Procedure; i.e. header and End Sub
1. Double-click on a control
or
2. Use the Class Name and Method
Name boxes.
(We primarily use the first
method.)
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
39
Sample Form
txtFirst
txtSecond
btnRed
Double Click on txtFirst
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
40
Code for Walkthrough
Public Class frmDemo
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
End Sub
End Class
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
41
Code for Walkthrough
Public Class frmDemo
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
txtFirst.ForeColor = Color.Blue
End Sub
End Class
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
42
IntelliSense
Automatically pops up to give the programmer help.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
43
Code Window
Click tab to return to Form Designer
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
44
Sample Form
txtFirst
txtSecond
btnRed
Double-click on btnRed
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
45
Code for Walkthrough
Public Class frmDemo
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
txtFirst.ForeColor = Color.Blue
End Sub
Private Sub btnRed_Click(...)
Handles btnRed.Click
End Sub
End Class
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
46
Code for Walkthrough
Public Class frmDemo
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
txtFirst.ForeColor = Color.Blue
End Sub
Private Sub btnRed_Click(...)
Handles btnRed.Click
txtFirst.ForeColor = Color.Red
End Sub
End Class
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
47
Event Procedure txtFirst.Leave
• Select txtFirst from Class Name box dropdown list.
• Select Leave from Method Name box
drop-down list.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
48
Code for Walkthrough
Private Sub txtFirst_Leave(...) Handles txtFirst.Leave
End Sub
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
txtFirst.ForeColor = Color.Blue
End Sub
Private Sub btnRed_Click(...) Handles btnRed.Click
txtFirst.ForeColor = Color.Red
End Sub
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
49
Code for Walkthrough
Private Sub txtFirst_Leave(...) Handles txtFirst.Leave
txtFirst.ForeColor = Color.Black
End Sub
Private Sub txtFirst_TextChanged(...)
Handles txtFirst.TextChanged
txtFirst.ForeColor = Color.Blue
End Sub
Private Sub btnRed_Click(...) Handles btnRed.Click
txtFirst.ForeColor = Color.Red
End Sub
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
50
Header of Event Procedure
Private Sub btnRed_Click(…) Handles btnRed.Click
Name, can
be changed.
Identifies event
Private Sub Button_Press(…) Handles btnRed.Click
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
51
Handling Multiple Events
Event procedure can be invoked by two events.
Private Sub Button_Click(...)
Handles btnRed.Click, txtSecond.Leave
txtFirst.ForeColor = Color.Red
End Sub
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
52
Altering Properties of the Form
• The following won't work:
frmDemo.Text = "Demonstration"
• The form is referred to by the keyword Me.
Me.Text = "Demonstration"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
53
3.3 Numbers
•
•
•
•
Arithmetic Operations
Variables
Incrementing the Value of a Variable
Built-In Functions:
• Math.Sqrt
• Int
• Math.Round
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
54
Numbers continued
•
•
•
•
The Integer Data Type
Multiple Declarations
Parentheses
Three Types of Errors
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
55
Arithmetic Operations
• Numbers are called numeric literals
• Five arithmetic operations in Visual Basic
•
•
•
•
•
+ addition
- subtraction
* multiplication
/ division
^ exponentiation
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
56
Numeric Expressions
• 2+3
• 3 * (4 + 5)
• 2^3
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
57
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 2005 by Schneider
modified by S. Jane '08
58
Example 1: Form
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
59
Example 1: Code and Output
Private Sub btnCompute_Click (...)
Handles btnCompute.Click
lstResults.Items.Add(5)
lstResults.Items.Add(2 * 3)
lstResults.Items.Add((2 ^ 3) – 1)
End Sub
Output
in list
box
5
6
7
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
60
Example 1: Code using With
Private Sub btnCompute_Click (...)
Handles btnCompute.Click
With lstResults.Items
.Add(5)
.Add(2 * 3)
.Add((2 ^ 3) – 1)
End With
End Sub
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
61
Numeric Variable
A numeric variable is a name to which a
number can be assigned.
Examples:
speed
distance
interestRate
balance
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
62
Variables
• Declaration:
Dim speed As Double
Data type
Variable name
• Assignment:
speed = 50
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
63
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 2005 by Schneider
modified by S. Jane '08
64
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 2005 by Schneider
modified by S. Jane '08
65
Assignment Statement
Dim numVar1 As Double = 5
Dim numVar2 As Double = 4
numVar1 = 3 * numVar2
lstBox.Items.Add(numVar1)
Output: 12
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
66
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 2005 by Schneider
modified by S. Jane '08
67
Built-in Functions
• Functions return a value
Math.Sqrt(9) returns 3
Int(9.7) returns 9
Math.Round(2.7) is 3
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
68
Integer Data Type
• Variables of type Double can be assigned
both whole numbers and numbers with
decimals.
• The statement
Dim varName As Integer
declares a numeric variable that can only
be assigned whole number values
between about -2 billion and 2 billion.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
69
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, d As
Integer = 5
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
70
Parentheses
• Parentheses should be used liberally in
numeric expressions.
• You can’t be wrong by putting them in, but
you can be wrong leaving them out.
• Example numAverage = 4+5+6 /3
• In the absence of parentheses, the
operations are carried out in the following
order: ^, * and /, + and -.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
71
Three Types of Errors
• Syntax error
• Run-time error
• Logic error
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
72
Some Types of Syntax Errors
• Misspellings
lstBox.Itms.Add(3)
• Omissions
lstBox.Items.Add(2 + )
• Incorrect punctuation
Dim m; n As Integer
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
73
A Type of Run-time Error
• Overflow error
Dim numVar As Integer = 1000000
numVar = numVar * numVar
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
74
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.
average =(m + n)/ 2 (Correct)
Value is 10. Why?
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
75
3.4 Strings
• Variables and Strings
• Using Text Boxes for Input and Output
• Concatenation
• String Properties and Methods:
•Length
•ToUpper
•Trim –removes spaces •ToLower
•IndexOf - position
•Substring
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
76
Strings continued
• The Empty String
• Initial Value of a String
• Option Strict – can be on/off – enforces
using compatible type
• Internal Documentation
• Line-Continuation Character ( space_)
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
77
String Literal
A string literal is a sequence of
characters surrounded by quotation marks.
Examples:
"hello"
"123-45-6789"
"#ab cde?"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
78
String Variable
A string variable is a name to which a
string value can be assigned.
Examples:
country
ssn
word
firstName
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
79
String Variable
• Declaration:
Dim firstName As String
Data type
Variable name
• Assignment:
firstName = "Fred"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
80
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 2005 by Schneider
modified by S. Jane '08
81
Add Method
Let str be a string literal or variable. Then,
lstBox.Items.Add(str)
displays the value of str in the list box.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
82
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 2005 by Schneider
modified by S. Jane '08
83
Variables and Strings
Private Sub btnDisplay_Click(...) Handles
btnDisplay.Click
Dim today As String
today = "Monday"
lstOutput.Items.Add(“Today is")
lstOutput.Items.Add(today)
End Sub
Output:
Today is
Monday
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
84
Using Text Boxes for Input and
Output
• The contents of a text box is always a
string
• Input example
strVar = txtBox.Text
• Output example
txtBox.Text = strVar
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
85
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 2005 by Schneider
modified by S. Jane '08
86
Concatenation
Combining two strings to make a new string using
& as the concatenation operator
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 2005 by Schneider
modified by S. Jane '08
87
Appending
• To append str to the string variable var
var = var & str
• Or as a shortcut
var &= str
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
88
Appending Example
Dim var As String = "Good"
var &= "bye"
txtBox.Text = var
OUTPUT: Goodbye
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
89
String Properties and
Methods
"Visual".Length is 6.
"Visual".ToUpper is VISUAL.
"123 Hike".Length is 8.
"123 Hike".ToLower is 123 hike.
"a" & “ bcd ".Trim & "efg" is abcdefg.
Trim method removes excess spaces.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
90
Positions in a String
Positions of characters in a string are numbered
0, 1, 2, ….
Note always begin with 0 Not 1
Consider the string “Visual Basic”.
Position 0: V
Position 1: i
Position 7: B
Substring “al” begins at position 4
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
91
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 2005 by Schneider
modified by S. Jane '08
92
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.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
93
The Empty String
• The string "", which contains no characters, is
called the empty string or the zero-length
string.
• The statement lstBox.Items.Add("") skips a
line in the list box.
• The contents of a text box can be cleared with
either the statement
txtBox.Clear()
• or the statement
txtBox.Text = ""
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
94
Initial Value of a String
• By default the initial value is Nothing
• Strings can be given a different initial
value as follows:
Dim today As String = "Monday"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
95
Option Strict
• Visual Basic allows numeric variables to
be assigned strings and vice versa, a
poor programming practice.
• To turn this feature off, put the following
statement at the very top of the code
window
Option Strict On
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
96
Option Strict On for All Programs
• Select Options from the Tools menu
• In left pane, expand Projects and
Solution
• Select VB Defaults
• Set Option Strict to On
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
97
With Option Strict On
Dim dblVar As Double, intVar As Integer
Dim strVar As String
Not Valid:
Replace with:
intVar = dblVar
dblVar = strVar
strVar = intVar
intVar = CInt(dblVar)
dblVar = CDbl(strVar)
strVar = CStr(intVar)
converts
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
98
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 2005 by Schneider
modified by S. Jane '08
99
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 2005 by Schneider
modified by S. Jane '08
100
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 2005 by Schneider
modified by S. Jane '08
101
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 2005 by Schneider
modified by S. Jane '08
102
3.5 Input and Output
•
•
•
•
•
•
Formatting Output with Format Functions
Formatting Output with Zones
Reading Data from Files
Getting Input from an Input Dialog Box
Using a Message Dialog Box for Output
Using a Masked Text Box for Input
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
103
Formatting Output with
Format Functions
Function
String Value
FormatNumber(12345.628, 1)
12,345.6
FormatCurrency(12345.628, 2)
$12,345.63
FormatPercent(0.183, 0)
18%
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
104
Formatting Output with Zones
• Use a fixed-width font such as Courier New
• Divide the characters into zones with a
format string.
Dim fmtStr As String = "{0, 15}{1, 10}{2, 8}"
lstOutput.Items.Add(String.Format(fmtStr, _
data0, data1, data2))
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
105
Formatting Output with Zones
Dim fmtStr As String = "{0, -15}{1, 10}{2, 8}"
lstOutput.Items.Add(String.Format(fmtStr, _
data0, data1, data2))
Here, 15 was preceded by a minus sign. This
produces left justification in 0th zone. There will
be right justification in the other two zones.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
106
Zone Formatting Symbols
Symbols: N, C, and P
Effect on zone
:Nr
FormatNumber(data, r)
:Cr
FormatCurrency(data, r)
:Pr
FormatPercent(data, r)
Dim fmtStr As String = "{0,15:N1}{1,10:C2}{2,8:P0}"
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
107
Reading Data from Files
• Data can be stored in files and accessed
with a StreamReader object.
• We assume that the files are text files
(that is, have extension .TXT) and have
one piece of data per line.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
108
Sample File: PAYROLL.TXT
Mike Jones
7.35
35
John Smith
6.75
33
Name
Hourly wage
Number of hours worked
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
109
Steps to Use StreamReader
Execute a statement of the form
Dim readerVar As IO.StreamReader = _
IO.File.OpenText(filespec)
or the pair of statements
Dim readerVar As IO.StreamReader
readerVar = IO.File.OpenText(filespec)
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
110
Steps to Use StreamReader
Read items of data in order, one at a time,
from the file with the ReadLine method.
strVar = readerVar.ReadLine
After the desired items have been read from
the file, terminate the communications link
readerVar.Close()
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
111
Example using
StreamReader
Dim name As String
Dim wage, hours As Double
Dim sr As IO.StreamReader = _
IO.File.OpenText("PAYROLL.TXT")
name = sr.ReadLine
wage = CDbl(sr.ReadLine)
hours = CDbl(sr.ReadLine)
lstBox.Items.Add(name & ": " & wage * hours)
OUTPUT:
Mike Jones: 257.25
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
112
Comment on Example
Consider
lstBox.Items.Add(name & ": " & wage * hours)
The ampersand automatically converted
wage * hours into a string before concatenating.
We didn’t have to convert wage * hours with CStr.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
113
Getting Input from an Input
Dialog Box
stringVar = InputBox(prompt, title)
fileName = InputBox("Enter the name " _
& "of the file containing the " & _
"information.", "Name of File")
Title
Prompt
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
114
Using a Message Dialog Box
for Output
MsgBox(prompt, 0, title)
MsgBox("Nice try, but no cigar.", 0, _
"Consolation")
Title
Prompt
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
115
Masked Text Box
Similar to an ordinary text box, but has
a Mask property that restricts what can
be typed into the masked text box.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
116
Input Mask Dialog Box
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
117
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 or space.
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
118
Sample Masks
State abbreviation: LL
Phone number: 000-0000
Social Security Number: 000-00-0000
License plate: &&&&&&
Chapter 3 - VB 2005 by Schneider
modified by S. Jane '08
119