Microsoft Visual Basic 2005: Reloaded Chapter 9 Structures and Sequential Access Files

advertisement
Microsoft Visual Basic 2005:
Reloaded
Second Edition
Chapter 9
Structures and Sequential Access Files
Objectives
After studying this chapter, you should be able to:
• Create a structure
• Declare and manipulate a structure variable
• Create an array of structure variables
• Write information to a sequential access file
• Align the text written to a sequential access file
Microsoft Visual Basic 2005: Reloaded, Second Edition
2
Objectives (continued)
•
•
•
•
Read information from a sequential access file
Determine whether a file exists
Code the FormClosing event
Prevent a form from closing
Microsoft Visual Basic 2005: Reloaded, Second Edition
3
Structures
• Structure statement: creates your own data type
• User-defined data type (or structure): data types
created by using the Structure statement
• Member variables: variables defined within a
structure
• Structure can include member variables of:
– Any of the standard data types
– Other structure types
Microsoft Visual Basic 2005: Reloaded, Second Edition
4
Structures (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
5
Using a Structure to Declare a Variable
• Structure variables: variables declared using a
structure
• Refer to an entire structure in code using its name
• Refer to a member variable using the structure
name with the dot operator and the member variable
name
• Member variables can be used like any other
variables
• Structures are used to group related items into one
unit
Microsoft Visual Basic 2005: Reloaded, Second Edition
6
Using a Structure to Declare a Variable
(continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
7
Using a Structure to Declare a Variable
(continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
8
Passing a Structure Variable to a
Procedure
Microsoft Visual Basic 2005: Reloaded, Second Edition
9
Passing a Structure Variable to a
Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
10
Passing a Structure Variable to a
Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
11
Passing a Structure Variable to a
Procedure (continued)
• Sample application using a structure:
– Less code to pass a structure variable to a
procedure
– Stores all of the data in a single unit
Microsoft Visual Basic 2005: Reloaded, Second Edition
12
Passing a Structure Variable to a
Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
13
Passing a Structure Variable to a
Procedure (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
14
Creating an Array of Structure
Variables
• Use a one-dimensional array of structure variables
instead of two-dimensional or parallel onedimensional arrays
• Refer to a member variable in an array element by:
arrayname(subscript).memberVariableName
Microsoft Visual Basic 2005: Reloaded, Second Edition
15
Creating an Array of Structure
Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
16
Creating an Array of Structure
Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
17
Creating an Array of Structure
Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
18
Creating an Array of Structure
Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
19
Creating an Array of Structure
Variables (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
20
File Types
•
•
•
•
•
Reading a file: getting information from a file
Writing to a file: sending information to a file
Output files: files to which information is written
Input files: files that are read by the computer
Three types of files in Visual Basic:
– Sequential
– Random
– Binary
Microsoft Visual Basic 2005: Reloaded, Second Edition
21
File Types (continued)
• Sequential file: data is accessed sequentially, in
consecutive order from the beginning to the end
• Random file: data can be accessed in consecutive
or random order
• Binary file: data is accessed by its byte location in
the file
Microsoft Visual Basic 2005: Reloaded, Second Edition
22
Sequential Access Files
• Sequential access file: often called a text file
because it is composed of lines of text
• Data must be read sequentially from beginning to
end
Microsoft Visual Basic 2005: Reloaded, Second Edition
23
Sequential Access Files (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
24
Writing Information to a Sequential
Access File
• WriteAllText method:
– Writes information to a sequential access file
– File argument: contains the name of the file to be
used
– Text argument: contains the data to be written
– Append argument: if True, data is added to end of
existing file; otherwise all existing data is erased
Microsoft Visual Basic 2005: Reloaded, Second Edition
25
Writing Information to a Sequential
Access File (continued)
• My feature: exposes a set of commonly used
objects to the programmer
• My.Computer object: allows access to objects and
methods to manipulate files
• Computer uses a file pointer to trace where the
next character will be read from or written to a file
• Strings.Space method: writes a specific number
of spaces to a file
Microsoft Visual Basic 2005: Reloaded, Second Edition
26
Writing Information to a Sequential
Access File (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
27
Aligning Columns of Information in a
Sequential Access File
• PadLeft, PadRight methods:
– Pads a string with a specified number of characters
based on current length of the string being padded
– Aligns columns of information written to a sequential
access file
• Aligns columns of numeric information by the decimal
point
Microsoft Visual Basic 2005: Reloaded, Second Edition
28
Aligning Columns of Information in a
Sequential Access File (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
29
Aligning Columns of Information in a
Sequential Access File (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
30
Reading Information from a Sequential
Access File
• ReadAllText method: reads information stored in a
sequential access file
– File argument: contains the name of the sequential
access file
Microsoft Visual Basic 2005: Reloaded, Second Edition
31
Reading Information from a Sequential
Access File (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
32
Determining Whether a File Exists
• An attempt to read a file that does not exist will
cause an error
• FileExists method: determines if the file exists
before attempting to read it
– File argument: contains the name of the file
Microsoft Visual Basic 2005: Reloaded, Second Edition
33
Determining Whether a File Exists
(continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
34
The FormClosing Event
• FormClosing event:
– Occurs when a form is about to be closed by the
program code or by the user
– Allows you to trap the closing action and take any
necessary actions such as saving data
– Can be used to cancel the close action
– Set e.Cancel = True to cancel the closing action
Microsoft Visual Basic 2005: Reloaded, Second Edition
35
The FormClosing Event (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
36
The Friends Application
Microsoft Visual Basic 2005: Reloaded, Second Edition
37
The Friends Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
38
The Friends Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
39
The Friends Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
40
The Friends Application (continued)
Microsoft Visual Basic 2005: Reloaded, Second Edition
41
Programming Tutorial
Microsoft Visual Basic 2005: Reloaded, Second Edition
42
Programming Example
Microsoft Visual Basic 2005: Reloaded, Second Edition
43
Summary
• Structure statement: defines a user-defined data
type or structure
• Structure variable contains one or more member
variables
• Structure variable can be passed to procedures
• Create a one-dimensional array of structure
variables
– Use the dot member access operator to access the
structure member variables
Microsoft Visual Basic 2005: Reloaded, Second Edition
44
Summary (continued)
• Application can read from and write to a file
• Sequential access files are always accessed in
consecutive (sequential) order from beginning to
end
• ReadAllText method: reads text from a sequential
access file
• WriteAllText method: writes text to a sequential
access file
• Use Strings.Space, PadLeft, and PadRight
methods to align data in a sequential access file
Microsoft Visual Basic 2005: Reloaded, Second Edition
45
Summary (continued)
• FileExists method: determines if a file exists before
trying to read from it
• FormClosing event: occurs when the form is about
to be closed
• Use the FormClosing event to save data or to
prevent a form from being closed
Microsoft Visual Basic 2005: Reloaded, Second Edition
46
Download