Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using...
-
Upload
reynard-rogers -
Category
Documents
-
view
251 -
download
0
description
Transcript of Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using...
![Page 1: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/1.jpg)
Chapter 7 - VB.Net by Schneider 1
Chapter 7 – Arrays7.1 Creating and Accessing Arrays7.2 Using Arrays7.3 Control Arrays
Skip Structures (7.3), 7.4 and 7.5
![Page 2: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/2.jpg)
Chapter 7 - VB.Net by Schneider 2
7.1 Creating and Accessing Arrays
• Array Creation• ReDim Statement• Using an Array as a Frequency Table
![Page 3: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/3.jpg)
Chapter 7 - VB.Net by Schneider 3
Simple variables• A variable (or simple variable) is a
name to which VB.NET can assign a single value.
• An array variable is a collection of simple variables of the same type to which VB.NET can efficiently assign a list of values.
![Page 4: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/4.jpg)
Chapter 7 - VB.Net by Schneider 4
Elements of an Array• Array Name: A valid variable name for
the structure.• Subscript or Index : A value that refers to
a particular array element.• Element: An individual data item within
an array.
![Page 5: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/5.jpg)
Chapter 7 - VB.Net by Schneider 5
Example• Suppose that you want to evaluate the exam
grades for 30 students and to display the names of the students whose scores are above average.
Private Sub btnDisplay_Click(...) Handles btnDisplay.Click
Dim student1 As String, score1 As DoubleDim student2 As String, score2 As DoubleDim student3 As String, score3 As Double
![Page 6: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/6.jpg)
Chapter 7 - VB.Net by Schneider 6
Using Arrays
Dim student(30) As StringDim score(30) As Double
Array name
Upper bound of subscriptsin the array
Data type
![Page 7: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/7.jpg)
Chapter 7 - VB.Net by Schneider 7
Putting Values into an Arraystudent(1) = "Tom Brown"
subscript
Read: "student sub one equals Tom Brown"Which means that the string "Tom Brown" is being
stored at the second location in the array called student… because all arrays begin counting at 0.
![Page 8: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/8.jpg)
Chapter 7 - VB.Net by Schneider 8
Array Terminology• Dim arrayName(n) As DataType• 0 is the "lower bound" of the array• n is the "upper bound" of the array – the
last available subscript in this array• The number of elements is the size of
the array
![Page 9: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/9.jpg)
Chapter 7 - VB.Net by Schneider 9
Variable Arrays• Can have one or two dimensions• A one-dimensional array is simply a row
(or column) of variables• Each element in an array is identified by
a subscript• You refer to an array element by the
array’s name followed by the element’s subscript
![Page 10: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/10.jpg)
Chapter 7 - VB.Net by Schneider 10
One-dimensional Array
Nebraska New Jersey New Mexico Tennessee Texas
NebraskaNew JerseyNew MexicoTennesseeTexas
Demo Provinces
![Page 11: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/11.jpg)
Chapter 7 - VB.Net by Schneider 11
Example 1Private Sub btnWhoWon_Click(...) _ Handles btnWhoWon.Click Dim teamName(4) As String Dim n As Integer 'Place Super Bowl Winners into the array teamName(1) = "Packers" teamName(2) = "Packers" teamName(3) = "Jets" teamName(4) = "Chiefs" 'Access array n = CInt(txtNumber.Text) txtWinner.Text = teamName(n)End Sub
![Page 12: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/12.jpg)
Chapter 7 - VB.Net by Schneider 12
Output Example 1
![Page 13: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/13.jpg)
Chapter 7 - VB.Net by Schneider 13
Example 2Dim teamName(3) As StringPrivate Sub btnWhoWon_Click(...)Handles btnWhoWon.Click Dim n As Integer n = CInt(txtNumber.Text) txtWinner.Text = teamName(n)End Sub
Private Sub Form1_Load(...) Handles MyBase.Load 'Place Super Bowl Winners into the array teamName(1) = "Packers" teamName(2) = "Packers" teamName(3) = "Jets"End Sub
![Page 14: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/14.jpg)
Chapter 7 - VB.Net by Schneider 14
Initializing Arrays• Arrays may be initialized when they are created:Dim arrayName() As varType = {value0, _ value1, value2, ..., valueN}• declares an array having upper bound N and
assigns value0 to arrayName(0), value1 to arrayName(1), value2 to arrayName(2), ..., and valueN to arrayName(N).
Dim teamName() As String = {"", "Packers", _ "Packers", "Jets", "Chiefs"}
![Page 15: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/15.jpg)
Chapter 7 - VB.Net by Schneider 15
Initializing an Array by Reading from a File
Dim student (30) As String, count as integerDim sr as IO.streamreader = IO.File.OpenText …Open “STUDENTS.TXT” For Input As #1For count = 1 To 30 student ( count ) = sr.readlineNextsr.close
Demo Provinces2
![Page 16: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/16.jpg)
Chapter 7 - VB.Net by Schneider 16
Parallel Arrays
• Two arrays are referred to as parallel if subscripted variables having the same subscript (elements) are related.
• i.e. student(30) and grade(30)
![Page 17: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/17.jpg)
Chapter 7 - VB.Net by Schneider 17
The Average Program Revisited!For count = 1 To 30 student (count) = sr.readline grade (count) = Cdbl(sr.readline)Nextsum = 0For count = 1 To 30 sum += grade(count)Nextaverage = sum/30
![Page 18: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/18.jpg)
Chapter 7 - VB.Net by Schneider 18
Unknown Array Size
• What do I do if I don’t know the size of a file – and thus the size of the array??
![Page 19: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/19.jpg)
Chapter 7 - VB.Net by Schneider 19
First Technique – Unknown Size• Dim Array with no upper bound • Use a loop and counter to count the
number of items in the file• ReDim the array based on the counter• Use a second loop to then read the
known file size
![Page 20: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/20.jpg)
Chapter 7 - VB.Net by Schneider 20
Second Technique – Unknown Size
• Dim Array with a large upper bound• Use a loop and sr.peek to see if
additional data exists in the file• Use ReDim Preserve to increase the
upper bound of the array by one• Read one piece of data into the new
array element just created
![Page 21: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/21.jpg)
Chapter 7 - VB.Net by Schneider 21
Third Technique – Unknown Size• Dim an Array with a large upper bound
(large enough to easily hold all data)• Read from the file into the array using a
loop with a counter• Keep track of the number of pieces of
data in the array with the counter• So in effect, you only use part of a large
array
![Page 22: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/22.jpg)
Chapter 7 - VB.Net by Schneider 22
ReDim Statement• The size of an array may be changed
after it is created:ReDim arrayName(m)• where arrayName is the name of the
already declared array and m is an Integer literal,variable, or expression.
![Page 23: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/23.jpg)
Chapter 7 - VB.Net by Schneider 23
Preserve• To keep any data that has already been
stored in the array when resizing it, useReDim Preserve arrayName(m)
•Demo Provinces3
![Page 24: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/24.jpg)
Chapter 7 - VB.Net by Schneider 24
Using an Array as a Frequency Table
Private Sub btnAnalyze_Click(...) Handles btnAnalyze.Click'Count occurrences of the various letters in a sentence Dim index, letterNum As Integer Dim sentence, letter As String Dim charCount(26) As Integer 'Examine and tally each letter of the sentence sentence = (txtSentence.Text).ToUpper For letterNum = 1 To sentence.Length letter = sentence.Substring(letterNum - 1, 1) If (letter >= "A") And (letter <= "Z") Then index = Asc(letter) - 64 'The ANSI value of "A" is 65 charCount(index) += 1 End If Next
![Page 25: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/25.jpg)
Chapter 7 - VB.Net by Schneider 25
Example 4 continued 'List the tally for each letter of alphabet lstCount.Items.Clear() For index = 1 To 26 letter = Chr(index + 64) If charCount(index) > 0 Then lstCount.Items.Add(letter & " " & _ charCount(index)) End If NextEnd Sub
![Page 26: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/26.jpg)
Chapter 7 - VB.Net by Schneider 26
Example 4 Output
![Page 27: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/27.jpg)
Chapter 7 - VB.Net by Schneider 27
Out of Bounds Error• The following sets up an array, and then references an
element that doesn't exist. This will cause an error.Dim trees() As String = {"", "Sequoia", _ "Redwood", "Spruce"}txtBox.Text = trees(5)
![Page 28: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/28.jpg)
Chapter 7 - VB.Net by Schneider 28
Copying Arrays• If arrayOne() and arrayTwo() have been
declared with the same data type, then the statement
arrayOne = arrayTwo• makes arrayOne() an exact duplicate of
arrayTwo(). It will have the same size and contain the same information.
![Page 29: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/29.jpg)
Chapter 7 - VB.Net by Schneider 29
Exercises p. 312In-class P. 319, #36
![Page 30: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/30.jpg)
Chapter 7 - VB.Net by Schneider 30
7.2 Using Arrays• Ordered Arrays • Using Part of an Array• Merging Two Ordered Arrays • Passing Arrays to Procedures
![Page 31: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/31.jpg)
Chapter 7 - VB.Net by Schneider 31
Ordered Arrays• An array is ordered if the elements are in
ascending or descending order.
• Why would we want to order an array??
![Page 32: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/32.jpg)
Chapter 7 - VB.Net by Schneider 32
Ordered Arrays - Example 1Dim nom() As String = {"", "AL", "BOB", "CARL", "DON","ERIC", _ "FRED", "GREG", "HERB", "IRA", "JACK"}
Private Sub btnSearch_Click(...) Handles btnSearch.Click Dim name, name2Find As String Dim n As Integer 'Subscript of the array name2Find = txtName.Text.ToUpper Do n += 1 'Add 1 to n Loop Until (nom(n) >= name2Find) Or (n = 10) If nom(n) = name2Find Then txtResult.Text = "Found." Else txtResult.Text = "Not found." End IfEnd Sub
![Page 33: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/33.jpg)
Chapter 7 - VB.Net by Schneider 33
Ordered Arrays• Answer – It makes searching them much
more efficient
• On average, you only have to search half an array that is ordered whereas you have to search the whole array if unordered
![Page 34: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/34.jpg)
Chapter 7 - VB.Net by Schneider 34
Merging Two Ordered Arrays• To consolidate two lists into a single ordered list:1. Compare the two names (numbers) at the top of the first
and second lists.a) If one name (number) precedes the other, copy it onto
the third list and cross it off its original list.b) If the names (numbers) are the same, copy the name
(number) onto the third list and cross out the name (number) from the first and second lists.
2. Repeat Step 1 with the current top names (numbers) until you reach the end of either list.
3. Copy the names from the remaining list onto the third list.
•Demo 7-2-3 modified
![Page 35: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/35.jpg)
Chapter 7 - VB.Net by Schneider 35
Passing Arrays to Procedures• An array declared in a procedure is local
to that procedure• An entire array can be passed to a Sub
or Function procedure
![Page 36: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/36.jpg)
Chapter 7 - VB.Net by Schneider 36
Example 4Private Sub btnCompute_Click(...) Handles btnCompute.Click Dim score() As Integer = {0, 85, 92, 75, 68, 84, 86, _ 94, 74, 79, 88} txtAverage.Text = CStr(Sum(score) / 10)End Sub
Function Sum(ByVal s() As Integer) As Integer Dim total, index As Integer total = 0 For index = 1 To s.GetUpperBound(0) 'The upper bound is 10 total += s(index) Next Return totalEnd Function
![Page 37: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/37.jpg)
Chapter 7 - VB.Net by Schneider 37
Comments• Searching successive elements of an
ordered list beginning with the first element is called a sequential search.
![Page 38: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/38.jpg)
Chapter 7 - VB.Net by Schneider 38
Passing an Array Element• A single element of an array can be passed to a
procedure just like any ordinary numeric or string variable.
Private Sub btnDisplay_Click(...) Handles btnDisplay.Click
Dim num(20) As Integer num(5) = 10 lstOutput.Items.Add(Triple(num(5)))End SubPrivate Function Triple(ByVal x As Integer) As Integer Return 3 * xEnd Function
![Page 39: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/39.jpg)
Chapter 7 - VB.Net by Schneider 39
7.3 Some Additional Types of Arrays
• Control Arrays• Array of Structures (OMIT)
![Page 40: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/40.jpg)
Chapter 7 - VB.Net by Schneider 40
Control Arrays• Control arrays are arrays of controls, such
as labels, text boxes, etc.• They are created in much the same way as
any other array:Dim arrayName(n) As ControlType• orDim arrayName() As ControlType
![Page 41: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/41.jpg)
Chapter 7 - VB.Net by Schneider 41
Control Arrays continued• The following statements declare control
arrays.Dim lblTitle(10) As LabelDim txtNumber(8) As TextBoxDim btnAmount() As Button
•Demo 7-3-1modified
![Page 42: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/42.jpg)
Chapter 7 - VB.Net by Schneider 42
Example 1Dim lblDept(5) As LabelDim txtDept(5) As TextBoxPrivate Sub Form1_Load(...) Handles MyBase.Load Dim depNum As Integer lblDept(1) = Label1 lblDept(2) = Label2 lblDept(3) = Label3 lblDept(4) = Label4 lblDept(5) = Label5 txtDept(1) = TextBox1 txtDept(2) = TextBox2 txtDept(3) = TextBox3 txtDept(4) = TextBox4 txtDept(5) = TextBox5
Array of controls
Placing controlsInto arrays
![Page 43: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/43.jpg)
Chapter 7 - VB.Net by Schneider 43
Example 1 continued For depNum = 1 To 5 lblDept(depNum).Text = "Department " & depNum txtDept(depNum).Clear() NextEnd SubPrivate Sub btnCompute_Click(...) Handles btnCompute.Click Dim totalSales As Double = 0 Dim depNum As Integer For depNum = 1 To 5 totalSales += CDbl(txtDept(depNum).Text) Next txtTotal.Text = FormatCurrency(totalSales)End Sub
![Page 44: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/44.jpg)
Chapter 7 - VB.Net by Schneider 44
Example 1 Output
![Page 45: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/45.jpg)
Chapter 7 - VB.Net by Schneider 45
• Exercises p. 345
![Page 46: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/46.jpg)
Chapter 7 - VB.Net by Schneider 46
ListBoxes• Adding to a listbox
• Listboxes as arrays
• Events associated with listboxes
![Page 47: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/47.jpg)
Chapter 7 - VB.Net by Schneider 47
Useful Properties of the List Box
• Items can be placed into a listbox at design time or runtime• lstBox.items.add(‘item1”)• lstBox.items.add(“item2”)
• This forms an array with 2 elements• For the index number of the currently
highlighted item:lstBox.SelectedIndex
![Page 48: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/48.jpg)
Chapter 7 - VB.Net by Schneider 48
More List Box Properties• lstBox.Items() is the list of items in the list box.
The value of the item with an index of "n" is:lstBox.Items(n)• The data type of the elements in the lstBox.Items()
array is Object. To put the first element of lstBox.Items in a text box:
txtBox.Text = CStr(lstBox.Items(0))
![Page 49: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/49.jpg)
Chapter 7 - VB.Net by Schneider 49
Currently Highlighted Item in a List Boxes
The currently highlighted item can be obtained by:
lstBox.Items(lstBox.SelectedIndex)OrlstBox.TextOrlstBox.SelectedItem
![Page 50: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/50.jpg)
Chapter 7 - VB.Net by Schneider 50
List Box Events• Three main types of events with list boxes:• Click – if the user clicks on an item in the list
box• SelectedIndexChanged – (default event) if the
user clicks on an item or uses the arrow keys to select it
• DoubleClick - if the user double-clicks on an item
Demo - Movies
![Page 51: Chapter 7 - VB.Net by Schneider1 Chapter 7 – Arrays 7.1 Creating and Accessing Arrays 7.2 Using Arrays 7.3 Control Arrays Skip Structures (7.3), 7.4 and.](https://reader036.fdocuments.net/reader036/viewer/2022062223/5a4d1b1c7f8b9ab059993a55/html5/thumbnails/51.jpg)
Chapter 7 - VB.Net by Schneider 51
The Random Class• A random number generator declared
with the statement:Dim randomNum As New Random()• If m and n are whole numbers and m < n
then the following generates a whole number between m and n (including m, but excluding n)
randomNum.Next(m, n)Demo – Random