77
Starting Out with Visual Basic .NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings

Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings

Embed Size (px)

Citation preview

Page 1: Starting Out with Visual Basic.NET 2 nd Edition Chapter 4 Making Decisions and Working With Strings

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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