Download presentation
Presentation is loading. Please wait.
Published bySherilyn Donna Stephens Modified over 9 years ago
1
4-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf
2
Chapter 4 Decisions and Conditions Chapter 4 4 McGraw-Hill© 2006 The McGraw-Hill Companies, Inc. All rights reserved.
3
4-3 Objectives (1 of 2) Use If statements to control the flow of logic. Understand and use nested If statements. Read and create action diagrams that illustrate the logic in a selection process. Evaluate conditions using the comparison operators. Combine conditions using And, Or, AndAlso, and OrElse. Test the Checked property of radio buttons and check boxes. Perform validation on numeric fields.
4
4-4 Objectives (2 of 2) Use a Case structure for multiple decisions. Use one event procedure to respond to the events for multiple controls and determine which control caused the event. Call an event procedure from another procedure. Create message boxes with multiple buttons and choose alternate actions based on the user response. Debug projects using breakpoints, stepping program execution, and displaying intermediate results.
5
4-5 If Statements Used to make decisions If true, only the Then clause is executed, if false, only Else clause, if present, is executed Block If…Then…Else must always conclude with End If Then must be on same line as If or ElseIf End If and Else must appear alone on a line Note: ElseIf is 1 word, End If is 2 words
6
4-6 If…Then…Else – General Form If (condition) Then statement(s) [ElseIf (condition) Then statement(s)] [Else statement(s)] End If Logic with the Else Logic without the Else
7
4-7 If…Then…Else - Example With Me unitsDecimal = Decimal.Parse(unitsTextBox.Text) If unitsDecimal < 32D Then.freshmanRadioButton.Checked = True Else.freshmanRadioButton.Checked = False End If End With
8
4-8 Charting If Statements A Uniform Modeling Language (UML) activity diagram is a useful tool for showing the logic of an IF statement Can be used to help programmers organize their thoughts and design projects more quickly UML includes several types of diagrams Activity diagram-visual planning tool for decisions/actions for either the entire application or single procedure
9
4-9 The Helpful Editor When entering IF statements the editor automatically adds the Then and End If The editor attempts to correct errors by supplying a colon if multiple statements are entered on a line The colon is a statement terminator Good programming practices dictate that there should be only statement per line—so remove the extra colon if found and correct the syntax
10
4-10 Test in an If statement is based on a condition Six relational operators are used for comparison Negative numbers are less than positive numbers An equal sign is used to test for equality Strings can be compared, enclose strings in quotes JOAN is less than JOHN HOPE is less than HOPELESS Numbers are always less than letters 300ZX is less than Porsche Conditions
11
4-11 The Six Relational Operators The test in an IF statement if based on a condition. To form conditions comparison operators are used. > >= <=
12
4-12 Comparing Strings Comparison begins with the left-most character and proceeds one character at a time left to right If a character in one string is not equal to the corresponding character in the 2 nd string the comparison terminates The string with the lower-ranking character is judge less than the other Ranking is based on ANSI code, an established order (collating sequence) for all letters, numbers, and special characters
13
4-13 Comparing Upper and Lowercase Characters Use ToUpper and ToLower methods of the String class to return the uppercase or lowercase equivalent of a string, respectively If nameTextBox.Text.ToUpper( ) = “BASIC" Then ' Do something. End If When converting name TextBox.Text to uppercase it must be compared to an uppercase literal (“BASIC”) if it is to evaluate as True
14
4-14 Compound Condition Logical operations compare Boolean expressions and return a Boolean result Logical operators: Or, And, Not, AndAlso, OrElse, Xor If maleRadioButton.Checked And _ Integer.Parse(ageTextBox.Text) < 21 Then minorMaleCountInteger += 1 End If If juniorRadioButton.Checked Or seniorRadioButton.Checked Then upperClassmanInteger += 1 End If
15
4-15 Combining Logical Operators Compound conditions can combine multiple logical conditions When both And and Or are evaluated And is evaluated before the Or Use parenthesis to change the order of evaluation— inside the parenthesis is evaluated first If saleDecimal > 1000.0 Or discountRadioButton.Checked _ And stateTextBox.Text.ToUpper( ) <> "CA" Then ' Code here to calculate the discount. End If
16
4-16 Short-Circuit Operations VB.NET 2005 adds 2 new operators that provide short-circuit evaluation for compound conditions: AndAlso and OrElse VB evaluates both expressions for True or False, then evaluates the And The OrElse is designed to short circuit when the first condition evaluates True AndAlso and OrElse are used for advanced programming when the 2 nd expression should not be executed for some reason
17
4-17 If tempInteger > 32 Then If tempInteger > 80 Then commentLabel.Text = "Hot" Else commentLabel.Text = "Moderate" End If Else commentLabel.Text = "Freezing" End If Nested If Statements
18
4-18 Using If Statements with Radio Buttons & Check Boxes Instead of coding the CheckedChanged events, use If statements to see which are selected Place the If statement in the Click event for a Button, such as an OK or Apply button; VS checks to see which options are selected
19
4-19 An Example of Using If Statements with Radio Buttons With Me If.redRadioButton.Checked Then.nameLabel.ForeColor = Color.Red ElseIf.greenRadioButton.Checked Then.nameLabel.ForeColor = Color.Green ElseIf.blueRadioButton.Checked Then.nameLabel.ForeColor = Color.Blue Else.nameLabel.ForeColor = Color.Black End If End With
20
4-20 Enhancing Message Boxes For longer, more complex messages, store the message text in a String variable and use that variable as an argument of the Show method VB will wrap longer messages to a second line Include ControlChars to control the line length and position of the line break in multiple lines of output Combine multiple NewLine constants to achieve double spacing and create multiple message lines
21
4-21 Message String Example Dim formattedTotalString As String Dim formattedAvgString As String Dim messageString As String formattedTotalString = totalSalesDecimal.ToString("N") formattedAvgString = averageSalesDecimal.ToString("N") messageString = "Total Sales: " & formattedTotalString _ & ControlChars.NewLine & "Average Sale: " & _ formattedAvgString MessageBox.Show(messageString, "Sales Summary", _ MessageBoxButtons.OK)
22
4-22 Message Box - Multiple Lines of Output ControlChars.NewLine Used to force to next line
23
4-23 ControlChars Constants ControlChar ConstantDescription CfLfCarriage return/linefeed character combination CrCarriage return LfLine feed NewLineNew line character. Same effect as a carriage return/linefeed character combination NullCharCharacter with a value of zero TabTab character BackBackspace character FormFeedFormfeed character (not useful in Microsoft Windows) VerticalTabVertical tab character (not useful in Microsoft Windows QuoteQuotation mark character
24
4-24 Displaying Multiple Buttons Use MessageBoxButtons constants to display more than one button in the Message Box Message Box's Show method returns a DialogResult object that can be checked to see which button the user clicked Declare a variable to hold an instance of the DialogResult type to capture the outcome of the Show method
25
4-25 Message Box - Multiple Buttons MessageBoxButtons.YesNo
26
4-26 Declaring an Object Variable for the Method Return Dim whichButtonDialogResult As DialogResult whichButtonDialogResult = MessageBox.Show _ ("Clear the current order figures?", "Clear Order", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question) If whichButtonDialogResult = DialogResult.Yes Then ' Code to clear the order. End If
27
4-27 Specifying a Default Button and Options Use a different signature for the Message Box Show method to specify a default button Add the MessageBoxDefaultButton argument after the MessageBoxIcons argument Set message alignment with MessageBoxOptions argument
28
4-28 Input Validation Check to see if valid values were entered by user before beginning calculations—called validation Check for a range of values (reasonableness) If Integer.Parse(Me.hoursTextBox.Text) <= 10 Then ‘ Code to perform calculations…. Check for a required field (not blank) If nameTextBox.Text <> "" Then...
29
4-29 Performing Multiple Validations Use nested If statement to validate multiple values on a form --OR-- Use Case structure to validate multiple values Simpler and clearer than nested If No limit to number of statements that follow a Case statement When using a relational operator must use the word Is Use the word To to indicate a range of constants
30
4-30 The Select Case Statement - Examples With Me Select Case scoreInteger Case Is >= 100.messageLabel1.Text = “Excellent Score” Case 80 To 99.messageLabel1.Text = “Very Good” Case 60 To 79.messageLabel1.Text = “Satisfactory Score” Case Else.messageLabel1.Text = “Poor” End Select End With
31
4-31 The Select Case Statement - Examples Select Case listIndexInteger Case 0 ‘ Code to handle item 0 Case 1, 2, 3 ‘ Code for items 1, 2, or 3 Case Else ‘ Code for any other value End Select Select Case Me.teamTextBox.Text Case “Tigers” ‘ Code for Tigers Case “Leopards” ‘ Code for Leopards Case Else ‘ Code for any nonmatch End Select
32
4-32 Sharing an Event Procedure Add events to the Handles clause at the top of an event procedure Allows the procedure to respond to events of other controls Good professional technique is to set up a module- level variable to hold the selection a user makes Key to using a shared event procedure is the sender argument Cast (convert) sender to a specific object type using the CType function
33
4-33 Calling Event Procedures Reusable code General Form [Call] ProcedureName ( ) Keyword Call is optional and rarely used Examples Call clearButton_Click (sender, e) --OR-- clearButton_Click (sender, e)
34
4-34 Calling Event Procedures Example A form with buttons that perform overlapping functions The New Order button must do the same tasks as Clear for Next Item
35
4-35 Debugging Tools Use Debug Menu and Debug options on VB Standard toolbar Place Debug.WriteLine method in code Set BreakPoints to stop at a particular location in code and watch what happens Step Into, Step Over, Step Out Edit and Continue Locals Window, and Autos Window View the values of properties, variables, mathematical expressions, and conditions
36
4-36 Debug Menu and Toolbar The debugging buttons on the VB standard toolbar The debugging options on the Debug menu showing the keyboard shortcut keys
37
4-37 Writing to the Immediate Window Debug.WriteLine(TextString) Debug.WriteLine(Object) Debug.WriteLine("calculateButton procedure entered") Debug.WriteLine(quantityTextBox)
38
4-38 Breakpoints Toggle Breakpoints On/Off by clicking in Editor's gray left margin indicator
39
4-39 Stepping through Code Step Into The next line of code executes and the program pauses again in debug time If the line of code is a call to another procedure, the first line of code of the other procedure displays Step Over Similar to Step Into, except when your code has calls to other procedures It continues rapid execution of the called procedure and pauses at the next line of the current (calling) procedure being analyzed Step Out Used while stepping through a called procedure It continues rapid execution until the called procedure completes and pauses at the next line of the calling procedure
40
4-40 Edit and Continue When attempting to continue execution after making changes in Debugging mode this dialog box appears if the edits are too major—Click Restart to recompile and run again
41
4-41 Locals Window Shows values of local variables that are within scope of current statement
42
4-42 Autos Window Automatically adjusts to show variables and properties that appear in previous and next few lines
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.