Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.
-
Upload
carmella-harvey -
Category
Documents
-
view
216 -
download
0
Transcript of Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.
![Page 1: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/1.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Chapter 4
Making Decisions andWorking With Strings
![Page 2: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/2.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.1Introduction
![Page 3: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/3.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Chapter 4 Topics
• This chapter covers the Visual Basic .NET decision statements• If … Then• ElseIf
• It also discusses the use of • Radio Buttons• Message Boxes• Comparisons and Strings
![Page 4: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/4.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.2The Decision Structure
The Decision Structure Allows a Program to Have More Than One
Path of Execution
![Page 5: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/5.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Order of Statement Execution
• Thus far, all of our code statements have been executed sequentially
• To write meaningful programs our code needs to be able to• Execute code conditionally (this chapter)• Repeat sections of code (next chapter)
![Page 6: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/6.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The Decision Structure
• Flowchart of atypical decisionstructure
• Evaluate thecondition
• Execute, or notsome code
Condition
ConditionalCode
True
False
![Page 7: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/7.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.3The If…Then Statement
The If…Then Statement Causes Other Statements to Execute Only
Under a Certain Condition
![Page 8: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/8.jpg)
Starting Out with Visual Basic .NET 2nd Edition
If…Then Statement Syntax
• New keywords used above:• If• Then• End
If condition Thenstatement(more statements as needed)
End If
![Page 9: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/9.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Relational Operators
• Usually the condition is formed with a relational operator• > Greater than• < Less than• = Equal to• <> Not equal to• >= Greater than or equal to• <= Less than or equal to
![Page 10: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/10.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Binary Relational Operators
• Operators are classified as to how many operands each takes
• Relational operators are binary operators --each has two operands, e.g.• length > width• size <= 10
• Relational operators yield a True or False (Boolean) result
![Page 11: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/11.jpg)
Starting Out with Visual Basic .NET 2nd Edition
If…Then Examples
If sales > 50000 ThengetsBonus = True
End If
If sales > 50000 ThengetsBonus = TruecommissionRate = 0.12daysOff = daysOff + 1
End If
![Page 12: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/12.jpg)
Starting Out with Visual Basic .NET 2nd Edition
If…Then Rules
• The 'If' and the 'Then' must be on the same line
• Only a remark may follow the 'Then'
• The 'End If' must be on a separate line
• Only a remark may follow the 'End If'
![Page 13: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/13.jpg)
Starting Out with Visual Basic .NET 2nd Edition
If…Then Conventions
• The code between the 'If…Then' and the 'End If' is indented
• Visual Basic .NET does not require this• It is a convention among programmers to
aid in the readability of programs• By default, the Visual Basic .NET editor
will automatically do this indentation as you enter your program
![Page 14: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/14.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Relational Operators with Math Operators
• Either or both of the relational operator operands may themselves be expressions
• Math operators are done before the relational operators
If x + y > a - b ThenlblMessage.Text = "It is true!"
End If
![Page 15: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/15.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Relational Operators with Function Calls
• Either or both of the relational operator operands may themselves be function calls
If Val(txtInput.Text) < 100 ThenlblMessage.Text = "It is true!"
End If
![Page 16: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/16.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Boolean Variables as Flags
• A flag is a Boolean variable that signals when some condition exists in the program
• They can be used as the condition
Dim quotaMet as BooleanquotaMet = sales >= quota
If quotaMet ThenlblMessage.Text = "You have met your sales quota"
End If
![Page 17: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/17.jpg)
Starting Out with Visual Basic .NET 2nd Edition
What an 'If…Then' Really Tests For
• Visual Basic .NET first evaluates the conditional expression
• If the result is 0, the condition is regarded as being False
• If the result is anything else, the condition is regarded as being True
![Page 18: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/18.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.4The If…Then…Else Statement
The If...Then...Else Statement Executes One Group of Statements If the Condition Is
True and Another Group of Statements If the Condition Is False
![Page 19: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/19.jpg)
Starting Out with Visual Basic .NET 2nd Edition
'If…Then' vs. 'If…Then…Else'
• The 'If…Then' construct will execute or not a group of statements (do something or do nothing)
• The 'If…Then…Else' construct will execute one group of statements or another group (do this or do that)
![Page 20: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/20.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The 'If…Then…Else' Structure
Condition
ExecuteIf True
TrueFalse
ExecuteIf False
![Page 21: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/21.jpg)
Starting Out with Visual Basic .NET 2nd Edition
'If…Then…Else' Example
If temperature < 40 ThenlblMesage.Text = “A little cold, isn’t it?”
ElselblMesage.Text = “Nice weather we’re having!”
End If
![Page 22: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/22.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.5The If…Then…ElseIf Statement
The If...Then…Elseif Statement Is Like a Chain of If...Then...Else Statements
They Perform Their Tests, One After the Other, Until One of Them Is Found to Be True
![Page 23: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/23.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Two Mutually Exclusive Choices('If…Then…Else')
• The 'If…Then…Else' statement has two choices
• The conditional statement will either be True or False
• Hence, exactly one of the two choices will be selected
• They are mutually exclusive
![Page 24: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/24.jpg)
Starting Out with Visual Basic .NET 2nd Edition
More Than TwoMutually Exclusive Choices
• The 'If…Then…ElseIf' statement provides a
series of mutually exclusive choices
• In pseudo code:If it is very cold Then
Wear a coatElseif it is chilly
Wear a light jacketElseif it is windy
Wear a windbreakerElesif it is hot
Wear no jacket
![Page 25: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/25.jpg)
Starting Out with Visual Basic .NET 2nd Edition
In Visual Basic .NET Syntax
If condition1 ThenStatement(s)1
Elseif condition2 ThenStatements(s)2
Elseif condition3 ThenStatements3
…End If
![Page 26: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/26.jpg)
Starting Out with Visual Basic .NET 2nd Edition
In Flowchart Form
C1
C2
C3
Statement(s)1
True
Statement(s)2
True
Statement(s)3
True
False
False
False
![Page 27: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/27.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Example of Usage
If average < 60 ThenlblGrade.Text = "F"
ElseIf average < 70 ThenlblGrade.Text = "D"
ElseIf average < 80 ThenlblGrade.Text = "C"
ElseIf average < 90 ThenlblGrade.Text = "B"
ElseIf average <= 100 ThenlblGrade.Text = "A"
End If
![Page 28: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/28.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Contrast the Preceding CodeTo This Code Without the Elses
(This is less efficient because every condition is checked)
If average < 60 ThenlblGrade.Text = "F"
End IfIf average < 70 Then
lblGrade.Text = "D"End IfIf average < 80 Then
lblGrade.Text = "C"End IfIf average < 90 Then
lblGrade.Text = "B"End IfIf average <= 100 Then
lblGrade.Text = "A"End If
![Page 29: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/29.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The (Optional) Trailing Else
• A sequence of ElseIfs may end with a plain else (called a trailing Else)
• If none of the conditions were True, the statement(s) after this Else will be executed
• Continuing with the preceding example on the next slide:
![Page 30: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/30.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Use of a Trailing Else
If average < 60 ThenlblGrade.Text = "F"
ElseIf average < 70 ThenlblGrade.Text = "D"
ElseIf average < 80 ThenlblGrade.Text = "C"
ElseIf average < 90 ThenlblGrade.Text = "B"
ElseIf average <= 100 ThenlblGrade.Text = "A"
ElselblGrade.Text = "Invalid"
End If
![Page 31: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/31.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.6Nested If Statements
A Nested If Statement Is an If Statement in the Conditionally Executed Code of Another If
Statement
![Page 32: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/32.jpg)
Starting Out with Visual Basic .NET 2nd Edition
'If' Statements Within 'If' Statements
• Inside of any of the styles of 'If' statements that we have seen, the statement(s) portion can be any combination of statements
• This includes other 'If' statements
• Hence more complex decision structures can be created (by nesting 'Ifs' within 'Ifs')
![Page 33: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/33.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Consider This Code
If Val(txtSalary.Text) > 30000 ThenIf Val(txtYearsOnJob.Text) > 2 Then
lblMessage.Text = "The applicant qualifies."Else
lblMessage.Text = "The applicant does not qualify."End If
ElseIf Val(txtYearsOnJob.Text) > 5 Then
lblMessage.Text = "The applicant qualifies."Else
lblMessage.Text = "The applicant does not qualify."End If
End If
Note how the convention of indentationsemphasizes the structure of nested Ifs.
![Page 34: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/34.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Flowchart Version
Val(txtYearsOnJob.Text) > 5
Val(txtSalary.Text) > 30000
Val(txtYearsOnJob.Text) > 2
lblMessage.Text = "The applicant
qualifies."
lblMessage.Text = "The applicantdoes
not qualify."
lblMessage.Text = "The applicant
qualifies."
lblMessage.Text = "The applicantdoes
not qualify."
False
False False
True
TrueTrue
![Page 35: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/35.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.7Logical Operators
Logical Operators Connect Two or More Relational Expressions Into One, or Reverse the Logic of an
Expression
![Page 36: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/36.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Visual Basic .NET Logical Operators
Operator EffectAnd Both operands must be true for the overall
expression to be true, otherwise it is falseOr One or both operands must be true for the overall
expression to be true, otherwise it is falseXor One operand (but not both) must be true for the
overall expression to be true, otherwise it is falseNot Reverses the logical value of an expression
![Page 37: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/37.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The 'And' Operator
Truth Table for 'And' OperatorExpression 1 Expression 2 Expression 1 And Expression 2
True False FalseFalse True FalseFalse False FalseTrue True True
If temperature < 20 And minutes > 12 ThenlblMessage.Text = "The temperature is in the danger zone."
End If
![Page 38: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/38.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The 'Or' Operator
Truth Table for 'Or' OperatorExpression 1 Expression 2 Expression 1 Or Expression 2
True False TrueFalse True TrueFalse False FalseTrue True True
If temperature < 20 Or temperature > 100 ThenlblMessage.Text = "The temperature is in the danger zone."
End If
![Page 39: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/39.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The 'Xor' Operator
Truth Table for 'Xor' OperatorExpression 1 Expression 2 Expression 1 Xor Expression 2
True False TrueFalse True TrueFalse False FalseTrue True False
If total > 1000 Xor average > 120 ThenlblMessage.Text = “You may try again."
End If
![Page 40: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/40.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The 'Not' Operator
Truth Table for 'Not' OperatorExpression 1 Not Expression 1
True FalseFalse True
If Not temperature > 100 ThenlblMessage.Text = "You are below the maximum temperature."
End If
![Page 41: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/41.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Checking Numerical Ranges
• Checking for a value inside of a range:
• Checking for a value outside of a range:
If x >= 20 And x <= 40 ThenlblMessage.Text = "The value is in the acceptable range."
End If
If x < 20 Or x > 40 ThenlblMessage.Text = "The value is outside the acceptable range."
End If
![Page 42: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/42.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Short-circuit Evaluation
• AndAlso – equivalent to And, except that if left side is False, right side not even evaluated (whole expression would be false)
• OrElse – equivalent to Or, except that if left side is True, right side not even evaluated (whole expression would be true)
![Page 43: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/43.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Relative Precedenceof the Logical Operators
• From highest to lowest precedence• Not (unary + and -)• The binary arithmetic operators• The relational operators• And• Or• Xor
![Page 44: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/44.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Meaning of theRelative Precedence Ordering, I
• 'Not' and the other unary operators are done first if in the middle of an expression
• Then the normal mathematical operators are done
• Then the relational operators are done
• Then the logical operators are done in the order of 'And', 'Or', 'Xor'
![Page 45: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/45.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Meaning of theRelative Precedence Ordering, II
• For the most part, the operators will be done in the order that seems "logical" to the programmer
• It is likely, however, that one's program will need parentheses to force the needed ordering of the logical operators (when they appear in the same expression)
![Page 46: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/46.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.8Comparing, Testing,
and Working With Strings
This Section Shows You How to Use Relational Operators to Compare Strings, and Discusses
Several Intrinsic Functions That Perform Tests and Manipulations on Strings
![Page 47: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/47.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Strings Can Be Compared in the Same Way That Numbers Are Compared
name1 = "Mary"name2 = "Mark"If name1 = name2 Then
lblMessage.Text = "The names are the same"Else
lblMessage.Text = "The names are NOT the same"End If
If month <> "October" Then' statement
End If
![Page 48: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/48.jpg)
Starting Out with Visual Basic .NET 2nd Edition
How Are Strings Compared?• Each character is encoded as a numerical
value using the Unicode standard• The characters of each string are compared,
pair by pair (first with first, second with second, etc.) until a difference is found
• The ordering is then the numerical ordering of the differing characters
• Unicode encoding is structured to provide alphabetical ordering
![Page 49: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/49.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The Empty String
• The empty string is a string with no characters in it (not even space characters)
• The empty string is written as "", as in:
If txtInput.Text = "" ThenlblMessage.Text = "Please enter a value"
End If
![Page 50: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/50.jpg)
Starting Out with Visual Basic .NET 2nd Edition
ToUpper Method
• The ToUpper method when applied to a string yields a string with the lowercase letters converted to uppercase
• The original string is not changed
littleWord = "Hello"bigWord = littleWord.ToUpper
' littleWord maintains the value "Hello"' bigWord is assigned the value "HELLO"
![Page 51: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/51.jpg)
Starting Out with Visual Basic .NET 2nd Edition
ToLower Method
• The ToLower method works correspondingly -- converting any uppercase letters in a string to lowercase
![Page 52: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/52.jpg)
Starting Out with Visual Basic .NET 2nd Edition
A Handy Use forToUpper or ToLower
• The character 'A' has a different Unicode value from the letter 'a'
• So if one's program needs to do case insensitive comparisons of strings, use one or the other of these methods to convert the strings to a common case
![Page 53: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/53.jpg)
Starting Out with Visual Basic .NET 2nd Edition
IsNumeric Function
• This function when applied to a string returns True if the string can be recognized as a number; False, otherwise
• Use it to determine if a given string is numeric data
![Page 54: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/54.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Determining the Length of a String
• The Length Method determines the length of a string, e.g.:
If txtInput.Text.Length > 20 ThenlblMessage.Text = "Please enter fewer than 20 characters."
End If
Note: txtInput.Text.Length means to applythe Length Method to the value of the Text propertyof the Object txtInput
![Page 55: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/55.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Trimming Spaces from Strings
• There are three Methods that remove spaces from strings:• TrimStart• TrimEnd• Trim
greeting = " Hello "lblMessage1.Text = greeting.TrimStart
' Yeilds a value of "Hello "
![Page 56: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/56.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The Substring Method, I
• This Method returns a substring (a portion of another string)• Substring(Start) returns a string with all of the
characters from the original string starting at position Start
• Substring(Start, Length) returns the substring starting at Start of length Length
![Page 57: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/57.jpg)
Starting Out with Visual Basic .NET 2nd Edition
The Substring Method, II
• For example:
Dim firstName As StringDim fullName As String = "George Washington"firstName = fullName.Substring(0, 6)
' firstName has the value "George"' fullName is unchanged
![Page 58: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/58.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Searching for a Character or a Stringwithin Another String, I
• Use one of these Methods:• IndexOf(Searchstring) searches the entire string• IndexOf(SearchString, Start) starts at the
character position Start and searches from there• IndexOf(SearchString, Start, Count) uses Start
as above and then searches Count characters into the SearchString
![Page 59: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/59.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Searching for a Character or a Stringwithin Another String, II
• IndexOf will return the starting position of the SearchString in the string being searched
• Positions are numbered from 0 (for the first)• If the SearchString is not found, a -1 is returned
Dim name As String = "Angelina Adams"Dim position As Integerposition = name.IndexOf("A", 1)
' position has the value 9
Position 0 Position 9
![Page 60: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/60.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.9The Message Box
Sometimes You Need a Convenient Way to Display a Message to the User
This Section Introduces the Messagebox.Show Method, Which Allows You to Display a
Message in a Dialog Box
![Page 61: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/61.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Messagebox.Show Arguments
• Message - text to display within the box
• Caption - title for the top bar of the box
• Buttons - indicates which buttons to display
• Icon - indicates icon to display
• DefaultButton - indicates which button corresponds to the Return Key
• Arguments are optional bottom to top
![Page 62: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/62.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Buttons Argument
Value - DescriptionMessageBoxButtons.AbortRetryIgnore -
Displays Abort, Retry, and Ignore buttons.MessageBoxButtons.OK - Displays only an OK button.MessageBoxButtons.OKCancel - Displays OK and Cancel buttons.MessageBoxButtons.RetryCancel -
Display Retry and Cancel buttons.MessageBoxButtons.YesNo- -Displays Yes and No buttons.MessageBoxButtons.YesNoCancel -
Displays Yes, No, and Cancel buttons.
![Page 63: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/63.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Example Message Box
MessageBox.Show("Do you wish to continue?", _"Please Confirm", _
MessageBoxButtons.YesNo)
![Page 64: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/64.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Which Button Was Clicked, I
• MessageBox returns a value indicating which button the user clicked:• DialogResult.Abort• DialogResult.Cancel • DialogResult.Ignore• DialogResult.No• DialogResult.OK• DialogResult.Retry• DialogResult.Yes
![Page 65: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/65.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Which Button Was Clicked, II
Dim result As Integerresult = MessageBox.Show("Do you wish to continue?", _
"Please Confirm", MessageBoxButtons.YesNo)
If result = DialogResult.Yes Then' Perform an action here
ElseIf result = DialogResult.No Then' Perform another action here
End If
![Page 66: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/66.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.10The Select Case Statement
In a Select Case Statement, One of Several Possible Actions Is Taken, Depending on the
Value of an Expression
![Page 67: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/67.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Select Case Statement Example, ISelect Case Val(txtInput.Text)
Case 1MessageBox.Show("Day 1 is Monday.")
Case 2MessageBox.Show("Day 2 is Tuesday.")
Case 3MessageBox.Show("Day 3 is Wednesday.")
Case 4MessageBox.Show("Day 4 is Thursday.")
Case 5MessageBox.Show("Day 5 is Friday.")
Case 6MessageBox.Show("Day 6 is Saturday.")
Case 7MessageBox.Show("Day 7 is Sunday.")
Case ElseMessageBox.Show("That value is invalid.")
End Select
![Page 68: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/68.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Select Case Statement Example, II
Select Case animalCase "Dogs", "Cats"
MessageBox.Show ("House Pets")Case "Cows", "Pigs", "Goats"
MessageBox.Show ("Farm Animals")Case "Lions", "Tigers", "Bears"
MessageBox.Show ("Oh My!")End Select
![Page 69: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/69.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.11Input Validation
Input Validation Is the Process of Inspecting Input Values and Determining
Whether They Are Valid
![Page 70: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/70.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Validation Example
' Validate the input to ensure that' no negative numbers were entered.
If sales < 0 Or advance < 0 ThenMessageBox.Show("Please enter positive numbers for " & _" sales and/or advance pay.")
EndIf
![Page 71: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/71.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.12Radio Buttons and
Check Boxes
Radio Buttons Appear in Groups of Two or More, and Allow the User to Select One of Several Possible Options
Check Boxes, Which May Appear Alone or in Groups, Allow the User to Make Yes/no or On/off Selections
![Page 72: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/72.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Checking Radio Buttons in Code
If radChoice1.Checked = True ThenMessageBox.Show("You selected Choice 1")
ElseIf radChoice2.Checked = True ThenMessageBox.Show("You selected Choice 2")
ElseIf radChoice3.Checked = True ThenMessageBox.Show("You selected Choice 3")
End If
![Page 73: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/73.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Grouping Radio Buttons
• Radio Buttons are mutually exclusive in their container
• Therefore radio buttons are often put inside Group Boxes
• Each Group Box contains a set of radio buttons (so an option may be chosen from each set)
![Page 74: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/74.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Checking Check Boxes in Code
If chkChoice4.Checked = True Thenmessage = message & " and Choice 4"
End If
![Page 75: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/75.jpg)
Starting Out with Visual Basic .NET 2nd Edition
4.13Class-level Variables
Class-level Variables Are Not Local to Any Procedure
In a Form File They Are Declared Outside of Any Procedure, and May Be Accessed by Statements in
Any Procedure in the Same Form
![Page 76: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/76.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Advantages of Class-level Variables
• The scope of class-level variables include all of the procedures below the declaration in the file
• Hence, with the use of class-level variables, communication of information between procedures is very easy
![Page 77: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings.](https://reader033.fdocuments.net/reader033/viewer/2022051619/56649e0f5503460f94afa41f/html5/thumbnails/77.jpg)
Starting Out with Visual Basic .NET 2nd Edition
Issues with Class-level Variables
• Class-level variables should be used sparingly - only when really needed. Why?
• In larger programs, the uses of these variables will be more difficult to keep track of and hence tend to introduce bugs into the procedures
• Class-level variables never need be passed as arguments to a method of the same class