Using Arrays and File Handling
9
► Initialize an array
► Initialize an array with default values
► Access array elements using a loop
► Use ReDim [ Preserve ] to resize an array
Chapter 9: Using Arrays and File Handling 2
9
► Determine the number of elements in an array using the Length property
► Use the For Each loop (read-only iteration)
► Initialize two-dimensional arrays
Chapter 9: Using Arrays and File Handling 3
9
► Read a text file
► Write to a text file
► Calculate depreciation
► Use multiple Form objects
► Access Variable objects on other forms
Chapter 9: Using Arrays and File Handling 4
9
Chapter 9: Using Arrays and File Handling 5
9
► An array is a collection of data of the same type . It is implemented in VisualBasic as an object .
► Each individual item in array that contains a value is called an element
► Arrays provide access to data by using a numeric index , or subscript , to identify each element in the array
Chapter 9: Using Arrays and File Handling 6
9
► To declare an array in a program, you must include an array declaration statement, which states the name of the array, how many items it can store, and what sort of data it can store
► When a number (size declarator) is not used in the declaration statement to state the size of the array, the array is implicitly sized , meaning that the number of values is determined when the array is created.
300 is the upper bound of the array.
This array actually contains 301 elements
(zero-based indexing)
Chapter 9: Using Arrays and File Handling 7
9
Dim names(1) as String names(0) = “Jack” names(1) = “Marge”
Dim names( ) as String = {"Jack", "Marge"}
Dim names as String( ) names = New String() {"Jack", "Marge"}
-------------------------------------------------------------------------------------------------
MsgBox(names(0), , "First Name")
MsgBox(names(1), , "Second Name")
MsgBox("Array size for names is " & names.Length, , "Array Size")
Chapter 9: Using Arrays and File Handling 8
9
Data Type
Any numeric data type
Reference data type
Boolean data type
Default Value
0
Null
False
Chapter 9: Using Arrays and File Handling 9
9
► Parallel arrays store related data in two or more arrays
Chapter 9: Using Arrays and File Handling 10
9
Chapter 9: Using Arrays and File Handling 11
9
► The Visual Basic compiler determines if each subscript is within the boundaries set when you initialized the array (bounds checking). If a subscript is out of range an IndexOutOfRangeException exception is generated.
► An array may be declared using a constant value representing the upperbound index of the array
► Every array in Visual Basic is considered dynamic , which means that you can resize the array at run time
► The ReDim statement assigns a new array size to the specified array variable ReDim arrayX(50)
• All data in the array will be lost
►
If you want to preserve the existing data you can use the keyword
Preserve
• Ex: ReDim Preserve arrayX(100)
Chapter 9: Using Arrays and File Handling 12
9
► The Length property of an array contains the number of elements in an array (1 less than upper bound)
Chapter 9: Using Arrays and File Handling 13
9
Chapter 9: Using Arrays and File Handling 14
9
Chapter 9: Using Arrays and File Handling 15
9
Chapter 9: Using Arrays and File Handling 16
9
► The scope of an array declared within a procedure is local to that procedure , but an array can be declared as a class level variable
Chapter 9: Using Arrays and File Handling 17
9
► An array can be passed as an argument to a Sub procedure or a Function procedure ( book page 666 )
Chapter 9: Using Arrays and File Handling
18
9
Chapter 9: Using Arrays and File Handling 19
9
► Searching each element in an array is called a sequential search
► The BinarySearch method searches a sorted array for a value using a binary search algorithm
• The binary search algorithm searches an array by repeatedly dividing the search interval in half
Chapter 9: Using Arrays and File Handling 20
9
► A two-dimensional array holds data that is arranged in rows and columns
► A twodimensional array can also be described as an “array of arrays”.
Chapter 9: Using Arrays and File Handling 21
9
Chapter 9: Using Arrays and File Handling 22
9
► To process data more efficiently, many developers use text files (or binary files) to store and access information for use within an application
► Text files have an extension that ends in .
txt
► A simple text file is called a sequential file
(actually it is usually called an ascii text file)
Chapter 9: Using Arrays and File Handling 23
9
► To open a text file, you need an object available in the
System.IO
namespace called a StreamReader
Chapter 9: Using Arrays and File Handling 24
9
► System.IO
namespace File Processing Classes
► File [ open, close, exists, … ]
► BinaryReader [ binary files ]
► BinaryWriter
► StreamReader [ text files ]
► StreamWriter
Chapter 9: Using Arrays and File Handling 25
9
► To determine whether the end of the file has been reached, use the Peek procedure of the
StreamReader object
Chapter 9: Using Arrays and File Handling 26
9
► Open the code editing window by clicking the View Code button on the Solution Explorer toolbar. Click inside the frmDepreciation_Load event
► Initialize the variables.
► Create a StreamReader object
► Open the text file and assign the reference to the
StreamReader object
Declare the StreamReader object by typing Dim objReader
As IO .
And an IntelliSense window opens. Select
StreamReader.
Press ENTER. Finish declaring the rest of the variable names
► Verify that the inventory.txt
data file is available
Chapter 9: Using Arrays and File Handling 27
9
Dim objReader as IO.StreamReader
If IO.File.Exists(“e:\inventory.txt”) Then objReader = IO.File.OpenText(“e:\inventory.txt”)
Else
MsgBox(“The file is not available.”, , “Error”)
Me.close()
End If
Dim ObjReader as New IO.StreamReader( “…” )
Chapter 9: Using Arrays and File Handling 28
9
► To read each line of the text file: insert a Do While loop that continues until the Peek procedure returns the value of -1 .
Specify that the ReadLine( ) procedure reads each line of the text file. Use the variable intCount to determine the index of each array element
► After the data file has been read, close the file .
Insert an Else statement that informs the user if the file cannot be opened and closes the application
Chapter 9: Using Arrays and File Handling 29
9
Chapter 9: Using Arrays and File Handling 30
9
► Writing to a text file is similar to reading a text file.
The System.IO namespace also includes the
StreamWriter class which is used to write a stream of text to a file
Chapter 9: Using Arrays and File Handling 31
9
Chapter 9: Using Arrays and File Handling 32
9
► Depreciation is the decrease in property value and the reduction in the balance sheet value of a company asset to reflect its loss of value through age and wear and tear
► The simplest and most common, straight-line depreciation , is calculated by dividing the purchase or acquisition price of an asset by the total productive years the asset can reasonably be expected to benefit the company, which is called the life of the asset
Chapter 9: Using Arrays and File Handling 33
9
► The double-declining balance depreciation method is like the straight-line method doubled
Chapter 9: Using Arrays and File Handling 34
9
► In the Solution Explorer, right-click the project file name
Depreciation. Point to Add on the shortcut menu, and then point to New Item on the submenu
► Click New Item. In the Add New Item dialog box, click
Windows Form in the Templates area, and then type frmDisplayInventory.vb
in the Name text box
► Click the Add button in the Add New Item dialog box. A second Form object opens in the Visual Basic 2008 window named frmDisplayInventory.vb.
In the Properties window, change the Text property of the frmDisplayInventory object to Sorted Inventory
Listing
Chapter 9: Using Arrays and File Handling 35
9
Chapter 9: Using Arrays and File Handling 36
9
► Every application begins executing a project by displaying the object designated as the Startup object
Chapter 9: Using Arrays and File Handling 37
9
Creating an Instance of a
Windows Form Object
► To display a second or subsequent form, the initial step in displaying the form is to create an instance of the Windows Form object
► When creating multiple Windows Form objects,
Visual Basic allows you to generate two types of forms: modal and modeless
• A modal form retains the input focus while open [ ShowDialog( ) ]
• A modeless form allows you to switch the input focus to another window [ Show( ) ]
Chapter 9: Using Arrays and File Handling 38
9
Creating an Instance of a Windows Form Object
Chapter 9: Using Arrays and File Handling 39
9
► You control the availability of a variable by specifying its access level, or access specifier
Chapter 9: Using Arrays and File Handling 40
9
► If you have an application with multiple forms
(windows), you can exit the “application” and close all the open forms (windows) by using the
Exit method of the Application Class.
► Application .
Exit( )
Chapter 9: Using Arrays and File Handling 41
9
Chapter 9: Using Arrays and File Handling 42
9
Chapter 9: Using Arrays and File Handling 43
9
Designing the Program Processing Objects
Chapter 9: Using Arrays and File Handling 44
9
Designing the Program Processing Objects
Chapter 9: Using Arrays and File Handling 45
9
Designing the Program Processing Objects
Chapter 9: Using Arrays and File Handling 46
9
► Initialize an array
► Initialize an array with default values
► Access array elements using a loop
► Use ReDim to resize an array
Chapter 9: Using Arrays and File Handling 47
9
► Determine the number of elements in an array using the Length command
► Use the For Each loop
► Initialize two-dimensional arrays
► Read a text file
Chapter 9: Using Arrays and File Handling 48
9
► Write to a text file
► Calculate depreciation
► Use multiple Form objects
► Access Variable objects on other forms
Chapter 9: Using Arrays and File Handling 49
Using Arrays and File Handling