Tony Gaddis Kip Irvine STARTING OUT WITH Visual Basic 2008

Slides:



Advertisements
Similar presentations
Chapter 4 Loops Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved
Advertisements

5.1 Rules for Exponents Review of Bases and Exponents Zero Exponents
Variations of the Turing Machine
Copyright © 2003 Pearson Education, Inc. Slide 1.
Chapter 8 Arrays, Timers, and More.
Chapter 7 Constructors and Other Tools. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 7-2 Learning Objectives Constructors Definitions.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.
Lists, Loops, Validation, and More
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Introduction to Ruby.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2003 Pearson Education, Inc. Slide 7-1 Created by Cheryl M. Hughes The Web Wizards Guide to XML by Cheryl M. Hughes.
Prepared by: Workforce Enterprise Services For: The Illinois Department of Commerce and Economic Opportunity Bureau of Workforce Development ENTRY OF EMPLOYER.
1.
Chapter 7: Arrays In this chapter, you will learn about
Break Time Remaining 10:00.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 10 Arrays and Tile Mapping Starting Out with Games & Graphics.
Turing Machines.
PP Test Review Sections 6-1 to 6-6
Chapter 17 Linked Lists.
Chapter 4 Linked Lists. © 2005 Pearson Addison-Wesley. All rights reserved4-2 Preliminaries Options for implementing an ADT List –Array has a fixed size.
Chapter 10: Applications of Arrays and the class vector
1 Arrays … The Sequel Applications and Extensions Chapter 10.
Briana B. Morrison Adapted from William Collins
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 24.1 Test-Driving the Ticket Information Application.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
Lilian Blot PART III: ITERATIONS Core Elements Autumn 2012 TPOP 1.
Slide R - 1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Prentice Hall Active Learning Lecture Slides For use with Classroom Response.
Types of selection structures
Pointers and Arrays Chapter 12
Clock will move after 1 minute
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Pointers and Linked Lists.
Physics for Scientists & Engineers, 3rd Edition
Select a time to count down from the clock above
Copyright Tim Morris/St Stephen's School
FIGURE 3-1 Basic parts of a computer. Dale R. Patrick Electricity and Electronics: A Survey, 5e Copyright ©2002 by Pearson Education, Inc. Upper Saddle.
Chapter 8 Arrays and More.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.
Microsoft Visual Basic 2008 CHAPTER NINE Using Arrays and File Handling.
Microsoft Visual Basic 2005 CHAPTER 9 Using Arrays and File Handling.
Using Arrays and File Handling
Chapter 17: Arrays Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
Chapter 8 Arrays Programming in C#.NET © 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
CSCI Chapter 8 Arrays Instructor: Bindra Shrestha University of Houston – Clear Lake.
Week Arrays, Timers, and More 9. 2 Introduction Arrays are like groups of variables that allow you to store sets of similar data A single dimension array.
Arrays and 2D Arrays.  A Variable Array stores a set of variables that each have the same name and are all of the same type.  Member/Element – variable.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 9 Arrays.
Arrays Chapter 8. Chapter 8 - Part 12 Variable and Variable Array Variable Stores only one value Variable Array Variable that has 1 symbolic name but.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 8- 1.
Addison Wesley is an imprint of © 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 8 Arrays and More.
Arrays. Overview u General Discussion  Uses  Structure  Declaration u Searching u Control Arrays.
Copyright © 2001 by Wiley. All rights reserved. Chapter 6: Using Arrays Control Arrays List Arrays Finding Items in Arrays Multiple Forms 2-Dimensional.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter Arrays, Timers, and More 8.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley More About Array Processing 8.2 There Are Many Uses of Arrays and Many Programming.
Chapter 9 Processing Lists with Arrays. Class 9: Arrays Understand the concept of random numbers and how to generate random numbers Describe the similarities.
Arrays Chapter 8. Overview u General discussion u Variable arrays u Control arrays u Multi-dimensional variable arrays  Two-dimensional  Three-dimensional.
Arrays and More CHAPTER 8. INTRODUCTION Arrays are like groups of variables that allow you to store sets of similar data A single dimension array is useful.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Student Grades Application Introducing Two-Dimensional Arrays and RadioButton.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Third Edition by Tony Gaddis.
Chapter 8 Arrays and More. Chapter 8 Arrays and More.
Chapter 8 Arrays, Timers, and More.
Chapter 8 Arrays and More.
STARTING OUT WITH Visual Basic 2008
Introduction to Computer Programming IT-104
Presentation transcript:

Tony Gaddis Kip Irvine STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis Haywood Community College Kip Irvine Florida International University

8 Chapter Arrays, Timers, and More Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Introduction Arrays are like groups of variables that allow you to store sets of similar data A single dimension array is useful for storing and working with a single set of data A multidimensional array can be used to store and work with multiple sets of data Array programming techniques covered Summing and averaging all the elements in an array Summing all the columns in a two-dimensional array Searching an array for a specific value Using parallel arrays

8.1 Arrays An Array Is Like a Group of Variables With One Name You Store and Work Values in an Array by Using a Subscript Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Array Characteristics An array stores multiple values of same type Like a group of variables with a single name For example, the days of the week might be: a set of 7 string variables with a maximum length of 9 characters All variables within an array are called elements and must be of the same data type You access the elements in an array through a subscript

Subscript Characteristics A subscript, also called an index, is a number that identifies a specific element within an array Subscript numbering works like a list box index: Subscript numbering begins at 0 1st element in an array is always subscript 0 Last element is total number of elements – 1 An array with 7 elements refers to the 1st element as subscript 0 and the last element as subscript 6

Declaring an Array ArrayName is the variable name of the array Dim ArrayName(UpperSubscript) As DataType ArrayName is the variable name of the array UpperSubscript is the value of the array's highest subscript Must be a positive whole number DataType may be any Visual Basic data type VB knows an array is declared when name is followed by parentheses with number of elements

Array Declaration Example Dim intHours(5) As Integer intHours(0) intHours(1) intHours(2) intHours(3) intHours(4) intHours(5) Note that 6 elements are available when an array with an upper subscript of 5 is declared Each element is an integer type

Default Initialization All elements of an Integer array are initialized to zero Same initialization as an integer variable Each array element is initialized exactly the same as a simple variable of that data type A Single is initialized to zero (0.0) A String is initialized to nothing (empty string)

Implicit Array Sizing & Initialization An array can be initialized when declared Example: This array is implicitly sized Upper subscript value is left blank Number of elements implied from initialization Upper subscript of 5 implied by this example This results in a 6 element array Elements are assigned the values shown Dim intNumbers() As Integer = {2, 4, 5, 7, 9, 12}

Named Constant as Upper Subscript A named constant may be used as an array's highest subscript instead of a number This is a common use for named constants Highest subscript is often used multiple times If highest subscript changes, use of a named constant allows it to be changed in one place Const UPPER_SUB As Integer = 100 Dim array(UPPER_SUB) As Integer

Working With Array Elements Simply include the subscript to use an array element like an ordinary variable intNumbers(2) refers to 3rd element of array intNumbers(0) = 100 intNumbers(1) = 200 intNumbers(2) = 300 intNumbers(3) = 400 intNumbers(4) = 500 intNumbers(5) = 600 decPay = intHours(3) * decRate intTallies(0) += 1 MessageBox.Show(decPay(5).ToString())

Arrays and Loops Loops are frequently used to process arrays Use a loop to prompt for 10 values Use a loop to reset values in the strNames array to an empty string Dim intNbrs(9) as Integers Dim intCount As Integer For intCount = 0 To 9 intNbrs(intCount) = CInt(InputBox("Enter number")) Next intCount Dim strNames(999) as String Dim intCount As Integer For intCount = 0 To 999 strNames(intCount) = "" Next intCount

Array Bounds Checking Visual Basic checks each subscript value of each array reference used at run time A subscript is invalid if it is Negative Greater than the UpperSubscript declared An invalid subscript causes VB to throw a run-time exception Bounds checking is not done at design time

For Each Loop Array Processing A For…Each loop is similar to a For…Next Iterates for each element in the array strName is assigned the value of the next array element at each iteration Tutorial 8-1 demonstrates array processing Dim strEmployees As String() = {"Jim", "Sally", _ "Henry", "Jean", "Renee"} Dim strName As String For Each strName In strEmployees MessageBox.Show(strName) Next strName

Use For Each To Sum an Array Private intArray() as Integer = {10, 20, 90, -20) Dim intSum as Integer = 0 For Each intVal as Integer in intArray intSum = intSum + intVal Next Start of iteration 1 intVal = 10 intSum = 0 End of iteration 1 intVal = 10 intSum = 10 Start of iteration 2 intVal = 20 intSum = 10 End of iteration 2 intVal = 20 intSum = 30 Start of iteration 3 intVal = 90 intSum = 30 End of iteration 3 intVal = 90 intSum = 120 End of iteration 4 intVal = -20 intSum = 120 Start of iteration 4 intVal = -20 intSum = 100

Use For Each To Find Largest Value Dim intArray() as Integer = {10, 20, 90, -20) Dim intLargest as Integer = intArray(0) For Each intVal as Integer in intArray If intVal > intLargest Then intLargest = intVal Next Start of iteration 1 intVal = 10 intLargest = 10 End of iteration 1 intVal = 10 intLargest = 10 Start of iteration 2 intVal = 20 intLargest = 10 End of iteration 2 intVal = 20 intLargest = 20 Start of iteration 3 intVal = 90 intLargest = 30 End of iteration 3 intVal = 90 intLargest = 90 End of iteration 4 intVal = -20 intLargest = 90 Start of iteration 4 intVal = -20 intLargest = 90

More About Array Processing 8.2 Arrays Have Many Uses & Many Programming Techniques Can Be Applied to For Example, Arrays Are Used to Total Values or Search for Data Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Determining Number of Elements Arrays have a Length property that holds the number of elements in the array Note that length is number of array elements, not the upper subscript of the array Length property always 1 greater than the upper subscript Dim intValues(25) As Integer For intCount = 0 to (intValues.Length – 1) MessageBox.Show(intValues(intCount).ToString) Next intCount

Total the Values in an Array Variable to hold sum (intTotal)is initialized to zero prior to loop Iterate over all elements, adding each element to intTotal Dim intUnits(24) as Integer ‘Declare array Dim intTotal As Integer = 0 'Initialize accumulator Dim intCount as Integer ‘Declare loop counter ‘Find total of all values held in array For intCount = 0 To (intUnits.Length – 1) intTotal += intUnits(intCount) Next intCount

Average the Values in an Array Similar to previous example but then divides total by number of elements to get average Dim intUnits(24) as Integer ‘Declare array Dim intTotal As Integer = 0 'Initialize accumulator Dim dblAverage as Double ‘Declare average var Dim intCount as Integer ‘Declare loop counter ‘Find total of all values held in array For intCount = 0 To (intUnits.Length – 1) intTotal += intUnits(intCount) Next intCount ‘Use floating-point division to compute average dblAverage = intTotal / intUnits.Length

Find Highest & Lowest Array Values Pick first element as the highest Search rest of array for higher values If a higher value is located, save the value Use similar logic to find lowest value Dim intNumbers(24) as Integer Dim intCount as Integer Dim intHighest as Integer = intNumbers(0) For intCount = 1 To (intNumbers.Length - 1) If intNumbers(intCount) > intHighest Then intHighest = intNumbers(intCount) End If Next intCount

Copy Values in One Array to Another Must copy each element one at a time Note that this cannot be done by a simple assignment intNewValues = intOldValues Causes intNewValues array to reference the same memory location as intOldValues Thus any change to intOldValues will affect intNewValues and vice versa This is because arrays are object variables For intCount = 0 To intOldValues.Length -1 intNewValues(intCount) = intOldValues(intCount) Next intCount

Parallel Arrays Sometimes it’s useful to store related data in two or more arrays called parallel arrays Causes the nth element of one array to be related to the nth element of another Allows related data to be accessed using the same subscript on both arrays

Parallel Arrays Example Assume the following array declarations Element 1 refers to the same person with name in one array and address in the other Dim strNames(4) As String Dim strAddresses(4) As String strNames(0) strNames(1) strNames(2) strNames(3) strNames(4) Person #1 Person #2 Person #3 Person #4 Person #5 strAddresses(0) strAddresses(1) strAddresses(2) strAddresses(3) strAddresses(4)

Parallel Arrays Processing Use parallel array processing to add name and address of each person to a list box Tutorial 8-2 has an example of parallel arrays Dim strNames(4) As String Dim strAddresses(4) As String For intCount = 0 To 4 lstPeople.Items.Add("Name: " & strNames(intCount) _ & " Address: " & strAddresses(intCount)) Next intCount

Array & List Box Parallel Processing A list box selection used as an array index ' Initialize a List Box with names lstPeople.Items.Add("Jean James") ' Subscript 0 lstPeople.Items.Add("Kevin Smith") ' Subscript 1 lstPeople.Items.Add("Joe Harrison") ' Subscript 2 ' Initialize an Array with corresponding phone numbers phoneNumbers(0) = "555-2987" phoneNumbers(1) = "555-5656" phoneNumbers(2) = "555-8897" ' Process a selection If lstPeople.SelectedIndex > -1 And _ lstPeople.SelectedIndex < phoneNumbers.Length Then MessageBox.Show(phoneNumbers(lstPeople.SelectedIndex)) Else MessageBox.Show("That is not a valid selection.") End If

Searching Arrays, The Search Find 1st instance of value 100 in array intScores intPosition gives position of this value Dim blnFound as Boolean = False Dim intCount as Integer = 0 Dim intPosition as Integer = -1 ‘ Search for a 100 in the array Do While Not blnFound And intCount < scores.Length If intScores(intCount) = 100 Then blnFound = True intPosition = intCount End If intCount += 1 Loop

Searching Arrays, The Result Indicates whether the value was found If found, position is given as a test number ' Was 100 found in the array? If blnFound Then MessageBox.Show( _ "Congratulations! You made a 100 on test " & _ (intPosition + 1).ToString, "Test Results") Else "You didn’t score a 100, but keep trying!", _ "Test Results") End If

Sorting an Array Arrays have a Sort method Arranges elements in ascending order (lowest to highest) Sort so intNumbers order is {1, 3, 6, 7, 12} Sort so strNames order is {Alan, Bill, Kim, Sue} Dim intNumbers() As Integer = { 7, 12, 1, 6, 3 } Array.Sort(intNumbers) Dim strNames() As String = { "Sue", "Kim", _ "Alan", "Bill" } Array.Sort(strNames)

Dynamically Sizing an Array ReDim [Preserve] Arrayname(UpperSubscript) ReDim is a new keyword Used to change nbr of elements at run time If Preserve is specified, the existing contents of the array are preserved Arrayname names the existing array UpperSubscript specifies the new highest subscript value Can declare an array with no subscript and state number of elements later with ReDim

Resizing Example Array sngScores declared with no elements User prompted for number of elements ReDim resizes array based on user input Dim sngScores() As Single ' Declared with no elements Dim intNumScores as Integer ' Obtain number of elements from the user intNumScores = CInt(InputBox("Enter number of test scores")) If intNumScores > 0 Then ReDim sngScores(intNumScores - 1) Else MessageBox.Show("You must enter 1 or greater.") End If

Procedures and Functions That Work With Arrays 8.3 Procedures and Functions That Work With Arrays You Can Pass Arrays As Arguments to Sub Procedures and Functions You Can Also Return an Array From a Function This Allows You to Write Sub Procedures and Functions That Perform General Operations With Arrays Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Passing Arrays as Arguments Array intNumbers passed to DisplaySum sub Sub computes & shows sum of array elements Can pass any integer array to DisplaySum Dim intNumbers() As Integer = { 2, 4, 7, 9, 8, 12 } DisplaySum(intNumbers) Sub DisplaySum(ByVal intArray() As Integer) Dim intTotal As Integer = 0 ' Accumulator Dim intCount As Integer ' Loop counter For intCount = 0 To (intArray.Length - 1) intTotal += intArray(intCount) Next MessageBox.Show(“Total is " & intTotal.ToString) End Sub

Passing Arrays: ByVal and ByRef When passing an array ByVal Calling procedure “sees” sub procedure changes to element values Simple variables don’t work this way If sub assigns array argument to another array, no effect on array in calling procedure When passing an array ByRef If sub assigns array argument to another array, calling procedure array values affected

Passing Arrays Example After ResetValues procedure executes, intNumbers array still contains { 1, 2, 3, 4, 5 } If array passed ByRef, intNumbers array will contain { 0, 0, 0, 0, 0 } after procedure runs Dim intNumbers() As Integer = { 1, 2, 3, 4, 5 } ResetValues(intNumbers) Sub ResetValues(ByVal intArray() As Integer) Dim newArray() As Integer = {0, 0, 0, 0, 0} intArray = newArray End Sub

An Array Returned From a Function Return type String() indicates array of strings returned Thus the function result must be assigned to an array of strings Function GetNames() As String() ' Get four names from user ' Return them as an array of strings. Dim strNames(3) As String Dim strInput As String Dim intCount As Integer For intCount = 0 To 3 strInput = InputBox("Enter name " & _ (intCount + 1).ToString) strNames(intCount) = strInput Next Return strNames End Function

Multidimensional Arrays 8.4 Multidimensional Arrays You May Create Arrays With More Than Two Dimensions to Hold Complex Sets of Data Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

A Two Dimensional Array Picture Thus far, arrays have been one-dimensional Arrays can also be two-dimensional A two-dimensional array looks like a spreadsheet with rows and columns Column 0 Column 1 Column 2 Column 3 Row 0 Row 1 Row 2

Two Dimensional Array Syntax Dim ArrayName(UpperRow, UpperColumn) As DataType UpperRow and UpperColumn give the highest subscript for the row and column indices of the array The array on the previous slide could be: Defines three rows; 0, 1, and 2 And four columns; 0, 1, 2, and 3 Dim array(2,3) As Single

Two Dimensional Array Subscripts Dim array(2,3) As Single Column 0 Column 1 Column 2 Column 3 Row 0 sngScores(0,0) sngScores(0,1) sngScores(0,2) sngScores(0,3) Row 1 sngScores(1,0) sngScores(1,1) sngScores(1,2) sngScores(1,3) Row 2 sngScores(2,0) sngScores(2,1) sngScores(2,2) sngScores(2,3)

Nested Loops And Two Dimensions Must use two subscripts to indicate a single element in a two dimensional array Nested loops are often used to specify subscripts for two-dimensional array processing For example, a nested loop below is used to insert a value into every element of array scores For intRow = 0 To 2 For intCol = 0 To 3 intNum = Val(InputBox("Enter a score.")) sngScores(intRow, intCol) = intNum Next intCol Next intRow

Implicit Sizing and Initialization Can be used with multi-dimensional arrays: Row 0 values Row 1 values Row 2 values Initializes array intNumbers with the following values Dim intNumbers(,) As Integer = _ { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} } Col 0 Col 1 Col 2 Row 0 1 2 3 Row 1 4 5 6 Row 2 7 8 9

Sum Columns, 2 Dimensional Array Code below uses nested loops to compute sum of elements in each column of a 2 dimensional array Outer loop controls column subscript Dim intValues(,) As Integer = {{1, 2, 3, 4}, _ {5, 6, 7, 8}, _ {9, 10, 11, 12}} For intCol = 0 to 3 intTotal = 0 ‘Initialize accumulator For intRow = 0 to 2 ‘Sum rows in this column intTotal += intValues(intRow, intCol) next intRow ‘Display the sum of the column MessageBox.Show(“Column “ & intCol.ToString() _ & “ sum is “ & intTotal.ToString) Next intCol

Three-Dimensional Arrays & Beyond VB allows arrays of up to 32 dimensions Can think of a 3 dimensional array as having multiple pages of two dimensional arrays Arrays beyond three dimensions are difficult to visualize But, all one needs to do is to be consistent in the use of the different indices

Enabled Property, Timer Control, and Splash Screens 8.5 Enabled Property, Timer Control, and Splash Screens You Disable Controls by Setting Their Enabled Property to False The Timer Control Allows Your Application to Execute a Procedure at Regular Time Intervals Splash Screens Are Forms That Appear As an Application Begins Executing Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Enabled Property Most controls have an Enabled property If this Boolean property is set to false the control is disabled meaning the control: Cannot receive the focus Cannot respond to user generated events Will appear dimmed, or grayed out Default value for this property is true May be set in code when needed as shown: btnExample.Enabled = False

Timer Control A Timer control generates Tick events Double-click on Timer tool in Toolbox to add Appears in component tray Standard prefix is tmr Can perform a process at regular intervals by coding the process in a Tick event procedure Two important properties Enabled must be true to generate Tick events Interval (milliseconds) decides tick frequency Interval of 1000 causes 1 timer tick per second Tutorial 8-5 demonstrates the Timer control

Splash Screens A form, often with an application logo, that is displayed while an application is loading A splash screen usually: Has Topmost property set to True so it is displayed over the forms of other applications Disappears shortly by using a Timer Is modeless so the application continues to load while the splash screen is displayed Tutorial 8-6 demonstrates a splash screen

Anchoring and Docking Controls 8.6 Anchoring and Docking Controls Controls Have Two Properties, Anchor and Dock, That Allow You to Determine the Control’s Position on the Form When the Form Is Resized at Run Time Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Anchor Property Anchor - a property of various form controls A control anchored to a form edge keeps the same distance to the form edge Controls may be anchored to any, all, or none of the right, left, top, or bottom edges Default is to anchor to top and left edges Can just as easily anchor to bottom right If anchoring to opposing sides, control is resized when form is resized Anchoring to all 4 sides causes control to be resized proportionally to form

Dock Property Dock - a property of various form controls A control docked to a form edge is placed directly against the form edge Controls may be docked to Any one form edge but not more than one No edge or not docked (the default) Length or width of docked control changes to match length or width of the form edge

Visual Basic Provides the Tools to Generate Random Numbers 8.7 Random Numbers Visual Basic Provides the Tools to Generate Random Numbers Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Initial Random Number Generation Often used for games and simulations Must create an instance of the Random class to use random number methods and properties May supply a seed number as below so the same set of random numbers are generated every time If no seed number is supplied when instantiated: VB uses its default random number seed Causes each sequence to be unique Private rand as New Random Private rand as New Random(25)

Generating More Random Numbers The Next method returns the next integer in a random number sequence Returns integer between 0 and 2,147,483,647 Repeatedly use a statement such as the following to generate additional random numbers Dim intNum as Integer = rand.Next() intNum = rand.Next()

Random Numbers in a Range Can set an upper limit for the number generated by specifying the limit as an argument Following example generates a random number between 0 and 99 Lower limit of a random number is always 0 Can add or subtract to change this lower limit Following example generates a random number between -50 and +49 intNum = rand.Next(100) intNum = rand.Next(100) - 50

Random Numbers of Type Double Use NextDouble method to generate random numbers of type double Returns floating point number from 0.0 to 1.0 For a random double between 0.0 and 500.0 For a random double between 100.0 and 600.0 Tutorial 8-7 shows an interesting use of random numbers Dim dblNum as Double = rand.NextDouble() dblNum = rand.NextDouble() * 500 dblNum = (rand.NextDouble() * 500) + 100

Building the Demetris Leadership Center Application 8.8 Building the Demetris Leadership Center Application Build an application making use of arrays and a splash screen Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Demetris Leadership Center Form

Demetris Leadership Center Form Splash Screen Publisher of books, audiocassettes, and videos Product info stored in parallel arrays Input boxes used to prompt for sales, product, & quantity Sales displayed as shown on right