Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Similar presentations


Presentation on theme: "Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More."— Presentation transcript:

1 Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More

2 Chapter 5, Slide 2Starting Out with Visual Basic 3 rd Edition Introduction

3 Chapter 5, Slide 3Starting Out with Visual Basic 3 rd Edition Chapter 5 Topics This chapter covers the Visual Basic looping statements Do … While Do … Until For … Next It also discusses the use of List Boxes Combo Boxes As well as presenting some properties and events used for user input validation

4 Chapter 5, Slide 4Starting Out with Visual Basic 3 rd Edition Section 5.1 Input Boxes Input Boxes Provide a Simple Way to Gather Input Without Placing a Text Box on a Form

5 Chapter 5, Slide 5Starting Out with Visual Basic 3 rd Edition Format of the InputBox Function Prompt - message to the user (required) Title - text for the box's title bar Default - default text for user's input Xpos - X coordinate for the box's position Ypos - Y coordinate for the box's position Square brackets around Title and following arguments indicate these are optional InputBox(Prompt [,Title] [,Default] [,Xpos] [,Ypos])

6 Chapter 5, Slide 6Starting Out with Visual Basic 3 rd Edition Sample InputBox Usage strUserInput = InputBox("Enter the distance.", _ "Provide a Value", "150") If the users clicks OK without entering a value, 150 will be assigned to strUserInput due to the default value

7 Chapter 5, Slide 7Starting Out with Visual Basic 3 rd Edition Xpos, Ypos, and Twips Xpos specifies the distance from the left of the screen to the left side of the box Ypos, from the top of the screen to the top of the box Both are specified in twips One twip is 1/440 th inch

8 Chapter 5, Slide 8Starting Out with Visual Basic 3 rd Edition Section 5.2 List Boxes List Boxes Display a List of Items and Allow the User to Select an Item From the List

9 Chapter 5, Slide 9Starting Out with Visual Basic 3 rd Edition ListBox Items Property This property holds the entire list of items from which the user may choose The list values may be established at run time or as part of the form design To set list values in the form design: Select the list box in the Design window Click on ellipses button for the Items property This property is a collection, a list of values Type each value on a separate line

10 Chapter 5, Slide 10Starting Out with Visual Basic 3 rd Edition ListBox Items.Count Property This property holds the number of items that are stored in the Items property Example of use: The number of items in the list can be assigned to an integer variable If lstEmployees.Items.Count = 0 Then MessageBox.Show("The list has no items!") End If numEmployees = lstEmployees.Items.Count

11 Chapter 5, Slide 11Starting Out with Visual Basic 3 rd Edition Item Indexing The Items property values can be accessed from your VB code Each item value is given a sequential index The first item has an index of 0 The second item has an index of 1, etc. Example: name = lstCustomers.Items(2) ' Access the 3rd item value

12 Chapter 5, Slide 12Starting Out with Visual Basic 3 rd Edition Index Out of Range Error The index of the last item is always list.Items.Count-1 Reference to an index greater than Count-1 or less than zero throws an exception An exception handler can trap this error The variable ex captures the exception thrown Try strInput = lstMonths.Items(n).ToString() Catch ex as Exception MessageBox.show(ex.Message) End Try

13 Chapter 5, Slide 13Starting Out with Visual Basic 3 rd Edition ListBox SelectIndex Property Use the SelectIndex property to retrieve the index of an item selected by the user If no item is selected, the value is set to -1 (an invalid index value) Can use SelectIndex to determine if an item has been selected by comparing to -1 Example: If lstLocations.SelectedIndex <> -1 Then location = lstLocations.Items(lstLocations.SelectedIndex) End If

14 Chapter 5, Slide 14Starting Out with Visual Basic 3 rd Edition ListBox SelectedItem Property Instead of using the SelectedIndex property as follows: The SelectedItem property can be used to retrieve a selected item value as shown If lstMonths.SelectedIndex <> -1 Then month = lstMonths.Items(lstMonths.SelectedIndex) End If If lstMonths.SelectedIndex <> -1 Then month = lstMonths.SelectedItem.Value) End If

15 Chapter 5, Slide 15Starting Out with Visual Basic 3 rd Edition ListBox Sorted Property Sorted is a boolean property If true, causes the values in the Items property to be displayed in alphabetical order If false, values in the Items property are displayed in the order they were added

16 Chapter 5, Slide 16Starting Out with Visual Basic 3 rd Edition ListBox Items.Add Method Items can be added to the end of a ListBox list in your VB code using the Add method Format is ListBox.Items.Add(Item) ListBox is the name of the control Item is the value to add to the Items property Example: lstStudents.Items.Add("Sharon")

17 Chapter 5, Slide 17Starting Out with Visual Basic 3 rd Edition ListBox Items.Insert Method Items can be added at a specific position of a ListBox in VB code using the Insert method ListBox.Items.Insert(Index, Item) Index specifies position where Item is placed Index is zero based similar to SelectedIndex property Items that follow are pushed down Example inserting "Jean as the 3 rd item lstStudents.Items.Insert(2, "Jean")

18 Chapter 5, Slide 18Starting Out with Visual Basic 3 rd Edition ListBox Methods to Remove Items ListBox.Items.RemoveAt(Index) Removes item at the specified index ListBox.Items.Remove(Item) Removes item with value specified by Item ListBox.Items.Clear() Removes all items in the Items property Examples: lstStudents.Items.RemoveAt(2)remove 3 rd item lstStudents.Items.Remove(Jean)remove item Jean lstStudents.Items.Clear()remove all items

19 Chapter 5, Slide 19Starting Out with Visual Basic 3 rd Edition Other ListBox Methods ListBox.Items.Contains(Item) Returns true if Item is found in the collection ListBox.Items.IndexOf(Item) Returns an integer with the index position of the first occurrence of Item in the collection Examples: Tutorial 5-1 provides more examples of ListBox controls, methods and properties blnFound = lstMonths.Items.Contains(March) intIndex = lstMonths.Items.IndexOf(March)

20 Chapter 5, Slide 20Starting Out with Visual Basic 3 rd Edition Section 5.3 The Do While Loop A Loop Is Part of a Program That Repeats

21 Chapter 5, Slide 21Starting Out with Visual Basic 3 rd Edition Repetition Structure (or Loop) Visual Basic has three structures that allow a statement or group of statements to repeat Do While Do Until For...Next

22 Chapter 5, Slide 22Starting Out with Visual Basic 3 rd Edition Do While Flowchart The Do While loop If the expression is true, the statement(s) are executed Expression is then evaluated again As long as the expression remains true, the statement(s) will continue to be executed Expression statement(s) False True

23 Chapter 5, Slide 23Starting Out with Visual Basic 3 rd Edition Do While Syntax Do, While, and Loop are new keywords The Do While statement marks the beginning of the loop The Loop statement marks the end The statements to repeat are found between these and called the body of the loop Do While expression statement(s) Loop

24 Chapter 5, Slide 24Starting Out with Visual Basic 3 rd Edition Do While Example Private Sub btnRunDemo_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnRunDemo.Click ' Demonstrate the Do While loop Dim intCount As Integer = 0 Do While intCount < 10 lstOutput.Items.Add("Hello") intCount += 1 Loop End Sub Note that programming style dictates the body of the loop be indented for clarity

25 Chapter 5, Slide 25Starting Out with Visual Basic 3 rd Edition Infinite Loops A loop must have some way to end itself Something within the body of the loop must eventually force the test expression to false In the previous example The loop continues to repeat intCount increases by one for each repetition Finally intCount is not <10 and the loop ends If the test expression can never be false, the loop will continue to repeat forever This is called an infinite loop

26 Chapter 5, Slide 26Starting Out with Visual Basic 3 rd Edition Counters Variables called counters are frequently used to control Do While loops See intCount from the previous example Counters are typically initialized before the loop begins Dim intCount As Integer = 0 The counter is then modified in the body of the loop intCount += 1 The test expression ends the loop when the counter compares to some value

27 Chapter 5, Slide 27Starting Out with Visual Basic 3 rd Edition Pretest vs. Posttest Loops Previous Do While loops are in pretest form Expression is tested before the body of the loop is executed The body may not be executed at all Do While loops also have a posttest form The body of the loop is executed first Then the expression is evaluated Body repeats as long as expression is true The body of a posttest loop must be executed at least once

28 Chapter 5, Slide 28Starting Out with Visual Basic 3 rd Edition Posttest Loop Syntax and Flowchart The statement(s) must be executed at least once, irrespective of the expression used Do statement(s) Loop While expression Expression statement(s) False True

29 Chapter 5, Slide 29Starting Out with Visual Basic 3 rd Edition A Posttest Running Total Loop intCount = 1' Initialize the counter decTotal = 0' Initialize total Do strInput = InputBox("Enter the sales for day " & _ intCount.ToString, "Sales Amount Needed") If strInput <> "" Then decSales = CDec(strInput) decTotal += decSales ' Add sales to total intCount += 1 ' Increment the counter End If Loop While intCount <= 5 Tutorial 5-4 uses the code above in pretest form as part of a more complete example Tutorial 5-5 demonstrates how to structure a loop such that the user can specify the iterations

30 Chapter 5, Slide 30Starting Out with Visual Basic 3 rd Edition Section 5.4 The Do Until and For Next Loops A Do Until Loop Iterates Until Its Test Expression Is True The For...Next Loop Is Designed to Use a Counter Variable and Iterates a Specific Number of Times

31 Chapter 5, Slide 31Starting Out with Visual Basic 3 rd Edition Do Until vs. Do While A Do While loop Repeats as long as its test expression is true Ends when its test expression becomes false A Do Until loop Repeats as long as its test expression is false Ends when its test expression becomes true The Do Until loop has a pretest and posttest form just as a Do While loop

32 Chapter 5, Slide 32Starting Out with Visual Basic 3 rd Edition Do Until: Pretest & Posttest Forms Pretest: Posttest: Tutorial 5-6 provides a hands-on example of a pretest Do Until loop Do Until expression statement(s) Loop Do statement(s) Loop Until expression

33 Chapter 5, Slide 33Starting Out with Visual Basic 3 rd Edition Do Until Loop – Test Score Average strInput = InputBox("How many test scores do you " _ & want to average?", "Enter a Value") intNumScores = CInt(strInput) Store the starting values in total and count sngTotal = 0 intCount = 1 Get the test scores Do Until intCount > intNumScores strInput = InputBox("Enter the value for test score " _ & intCount.ToString, "Test Score Needed") sngTotal = sngTotal + CSng(strInput) intCount = intCount + 1 Loop Calculate the average If intNumScores > 0 then sngAverage = sngTotal / intNumScores Else sngAverage = 0.0 End If

34 Chapter 5, Slide 34Starting Out with Visual Basic 3 rd Edition For…Next Loop Ideal for loops that require a counter For, To, and Next are keywords CounterVariable tracks number of iterations StartValue is initial value of counter EndValue is counter number of final iteration Optional Step allows a counter increment other than 1 for each iteration of the loop For CounterVariable = StartValue To EndValue [Step] statement Next [CounterVariable]

35 Chapter 5, Slide 35Starting Out with Visual Basic 3 rd Edition For…Next Flowchart Counter = EndValue? statement(s) False True set counter to StartValue increment counter

36 Chapter 5, Slide 36Starting Out with Visual Basic 3 rd Edition For…Next Example For intCount = 1 To 10 intSquare = CInt(intCount ^ 2) strTemp = "The square of " & intCount.ToString _ & is & intSquare.ToString lstOutput.Items.Add(strTemp) Next intCount The following code from Tutorial 5-7 uses a For…Next loop to place the squares of the numbers 1 through 10 in a ListBox Tutorial 5-8 uses a For…Next loop to move a PictureBox control around a window

37 Chapter 5, Slide 37Starting Out with Visual Basic 3 rd Edition More on the StepValue Its optional and if not specified, defaults to 1 The following loop iterates 11 times with counter values 0, 10, 20, …, 80, 90, 100 StepValue may be negative, causing the loop to count downward For x = 0 To 100 Step 10 MessageBox.Show("x is now " & x.ToString) Next x For x = 10 To 1 Step -1 MessageBox.Show("x is now " & x.ToString) Next x

38 Chapter 5, Slide 38Starting Out with Visual Basic 3 rd Edition Exiting a Loop Prematurely In some cases it is convenient to end a loop before the test condition would end it The following statements accomplish this Exit Do (used in Do While or Until loops) Exit For (used in For Next loops) Use this capability with caution It bypasses normal loop termination Makes code more difficult to debug

39 Chapter 5, Slide 39Starting Out with Visual Basic 3 rd Edition Example: Exit a Loop Prematurely maxNumbers = CInt(InputBox("How many numbers do " & _ "you wish to sum?")) total = 0 For x = 1 to maxNumbers input = InputBox("Enter a number.") If input = "" Then Exit For Else num = CDbl(input) total += num End If Next x MessageBox.Show(Sum of the numbers is " & total.ToString)

40 Chapter 5, Slide 40Starting Out with Visual Basic 3 rd Edition When to Use the Do While Loop Use Do While when the loop should repeat as long as the test expression is true Can be written as a pretest or posttest loop A pretest Do While is ideal when the body should not be perfomed for a test expression that is initially false Posttest loops are ideal when you always want the loop to iterate at least once

41 Chapter 5, Slide 41Starting Out with Visual Basic 3 rd Edition When to Use the Do Until Loop Use Do Until when the loop should repeat as long as the test expression is false Can be written as a pretest or posttest loop A pretest Do Until is ideal when the body should not be perfomed for a test expression that is initially true Posttest loops are ideal when you always want the loop to iterate at least once

42 Chapter 5, Slide 42Starting Out with Visual Basic 3 rd Edition When to Use the For Next Loop The For...Next loop is a pretest loop ideal when a counter is needed It automatically increments the counter variable at the end of each iteration The loop repeats as long as the counter variable is not greater than an end value Used primarily when the number of required iterations is known

43 Chapter 5, Slide 43Starting Out with Visual Basic 3 rd Edition 5.6 Nested Loops Nested Loops Are Necessary When a Task Performs a Repetitive Operation and That Task Itself Must Be Repeated

44 Chapter 5, Slide 44Starting Out with Visual Basic 3 rd Edition Nested Loops The body of a loop can contain any type of VB statements including another loop When a loop is found within the body of another loop, its called a nested loop

45 Chapter 5, Slide 45Starting Out with Visual Basic 3 rd Edition Nested Loop Example For hours = 0 To 24 lblHours.Text = hours.ToString For minutes = 0 To 59 lblMinutes.Text = minutes.ToString For seconds = 0 To 59 lblSeconds.Text = seconds.ToString Next seconds Next minutes Next hours A clock is an example of a nested loop

46 Chapter 5, Slide 46Starting Out with Visual Basic 3 rd Edition Nested Loop Example Analysis The innermost loop will iterate 60 times for each iteration of the middle loop The middle loop will iterate 60 times for each iteration of the outermost loop 24 iterations of the outermost loop requires: 1,440 iterations of the middle loop 86,400 iterations of the innermost loop An inner loop goes through all its iterations for each iteration of the outer loop Multiply iterations of all loops to get the total iterations of the innermost loop

47 Chapter 5, Slide 47Starting Out with Visual Basic 3 rd Edition Section 5.6 Multicolumn List Boxes, Checked List Boxes and Combo Boxes A Multicolumn List Box Displays Items in Columns A Checked List Box Displays a Check Box Next to Each Item in the List A Combo Box Is Like a List Box Combined With a Text Box

48 Chapter 5, Slide 48Starting Out with Visual Basic 3 rd Edition List Box Multicolumn Property The ListBox has a Multicolumn property Boolean property with default value of false If set to true, entries can appear side by side Below, ColumnWidth is set to 30 Note the appearance of a horizontal scroll bar in this case

49 Chapter 5, Slide 49Starting Out with Visual Basic 3 rd Edition Checked List Box A form of ListBox with the list box properties and methods already discussed One item at a time may be selected but many items in a Checked List Box can be checked The CheckOnClick property determines how items may be checked False - the user clicks an item once to select it, again to check it True - the user clicks an item only once to both select it and check it

50 Chapter 5, Slide 50Starting Out with Visual Basic 3 rd Edition Finding the Status of Checked Items The GetItemChecked method returns true if the item at Index has been checked CheckedListBox.GetItemChecked(Index) Dim i as Integer Dim intCheckedCities as Integer = 0 For i = 0 to clbCities.Items.Count – 1 If clbCities.GetItemChecked(i) = True Then intCheckedCities += 1 End If Next i MessageBox.Show(You checked & _ intCheckedCities.Tostring() & cities.)

51 Chapter 5, Slide 51Starting Out with Visual Basic 3 rd Edition Combo Boxes Similar to List Boxes Both display a list of items to the user Both have Items, Items.Count, SelectedIndex, SelectedItem, and Sorted properties Both have Items.Add, Items.Clear, Items.Remove, and Items.RemoveAt methods These properties and methods work the same with combo boxes and list boxes

52 Chapter 5, Slide 52Starting Out with Visual Basic 3 rd Edition Additional Combo Box Features A combo box also functions like a text box The user may enter text into a combo box Or the user may select the text from a series of list box type choices

53 Chapter 5, Slide 53Starting Out with Visual Basic 3 rd Edition Combo Box Styles Simple Combo Box List is always shown Drop-down Combo Box List appears when user clicks down arrow

54 Chapter 5, Slide 54Starting Out with Visual Basic 3 rd Edition Combo Box Styles Drop-down List Combo Box Behaves like a Drop-Down Combo Box, but the user may not enter text directly Tutorial 5-9 demonstrates each style of combo box

55 Chapter 5, Slide 55Starting Out with Visual Basic 3 rd Edition Section 5.7 Input Validation As Long As the User of an Application Enters Bad Input, the Application Will Produce Bad Output Applications Should Be Written to Filter Out Bad Input

56 Chapter 5, Slide 56Starting Out with Visual Basic 3 rd Edition Examples of Input Validation Numbers are checked to ensure they are within a range of possible values For example, there are 168 hours in a week A person cant work more than 168 hours a week Values are checked for their reasonableness A person might possibly work 168 hours in a week However, this is highly improbable Items selected from a menu or a set of choices are checked to ensure these options are available Variables are checked for values that might cause problems, such as division by zero

57 Chapter 5, Slide 57Starting Out with Visual Basic 3 rd Edition CausesValidation/Validating Event A controls Validating event is triggered when focus is shifting from that control to a control whose CausesValidation property is true The Validating event of the control losing the focus fires before focus is lost This allows your code to validate an entry just before focus shifts If user shifts focus, input must be complete Tutorial 5-10 demonstrates this capability

58 Chapter 5, Slide 58Starting Out with Visual Basic 3 rd Edition The Validated Event A controls Validated event is triggered After the Validating event After focus has been lost Allows operations on input that should occur only after the user moves away from the field

59 Chapter 5, Slide 59Starting Out with Visual Basic 3 rd Edition Using the With…End Statement A With statement establishes a default object in effect until an End With is encountered Instead of repeating txtNum1 in this code With allows you to reference the txtNum1 object without specifying it repeatedly txtNum1.SelectionStart = 0 txtNum1.SelectionLength = txtNum1.Text.Length With txtNum1.SelectionStart = 0.SelectionLength =.Text.Length End With

60 Chapter 5, Slide 60Starting Out with Visual Basic 3 rd Edition Section 5.8 Tool Tips Tool Tips Are a Standard and Convenient Way of Providing Help to the Users of an Application Visual Basic Provides the ToolTip Control, Which Allows You to Assign Tool Tips to the Other Controls on a Form

61 Chapter 5, Slide 61Starting Out with Visual Basic 3 rd Edition What is a Tool Tip? A Tool Tip is the short text message you see when holding the mouse over a control These are easy to set up and use in Visual Basic forms

62 Chapter 5, Slide 62Starting Out with Visual Basic 3 rd Edition Setting Up ToolTips Display the form design window Double-click the ToolTip tool in the Toolbox The ToolTip control is invisible at runtime so It appears in the component tray, not the form Component tray shows at the bottom of the design window ToolTips are now enabled for this form Form controls have a ToolTip property This new property holds the text string that will be displayed for that control

63 Chapter 5, Slide 63Starting Out with Visual Basic 3 rd Edition Controlling the Tool Tips Select the ToolTip control from the tray View Properties window to see the following An InitialDelay property that regulates the delay before a tip appears An AutoPopDelay that determines how long a tip is displayed ReshowDelay determines the time between the display of different tips as the user moves the mouse from control to control

64 Chapter 5, Slide 64Starting Out with Visual Basic 3 rd Edition Section 5.9 Building the Vehicle Loan Calculator Application This application utilizes loops, input validation, and tool tips. It also makes use of some Visual Basic intrinsic financial functions.


Download ppt "Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More."

Similar presentations


Ads by Google