Chapter 9: Sequential Access Files and Printing

Document Sample
Chapter 9: Sequential Access Files and Printing Powered By Docstoc
					 Chapter 9: Sequential Access
      Files and Printing



Programming with Microsoft Visual Basic
        .NET, Second Edition
              Sequential Access Files
               Lesson A Objectives
• Declare StreamReader and StreamWriter
  variables
• Open a sequential access file
• Determine whether a sequential access file exists
• Write information to a sequential access file
• Align the text written to a sequential access file



Programming with Microsoft Visual Basic .NET, Second Edition   2
         Sequential Access Files
     Lesson A Objectives (continued)
• Read information from a sequential access file
• Determine whether the computer has finished
  reading a sequential access file
• Close a sequential access file




Programming with Microsoft Visual Basic .NET, Second Edition   3
                             File Types

• Files to which information is written are called
  output files
    – The files store the output produced by an
      application
• Files that are read by the computer are called
  input files
    – An application uses the information in these files
      as input


Programming with Microsoft Visual Basic .NET, Second Edition   4
                File Types (continued)

• Here is a list of different file types:
    – Sequential access files
    – Random access files
    – Binary access files




Programming with Microsoft Visual Basic .NET, Second Edition   5
       Using Sequential Access Files

• A sequential access file is often referred to as a
  text file, because it is composed of lines of text
• Sequential access files are similar to cassette
  tapes in that each line in the file, like each song
  on a cassette tape, is both stored and retrieved
  in consecutive order (sequentially)




Programming with Microsoft Visual Basic .NET, Second Edition   6
        Using Sequential Access Files
                (continued)




Figure 9-5: Procedure for using a sequential access file
 Programming with Microsoft Visual Basic .NET, Second Edition   7
          Declaring StreamWriter and
           StreamReader Variables
• Use a StreamWriter object to write a sequence of
  characters to a sequential access file
• The sequence of characters is referred to as a
  stream of characters (or a stream)
• Use a StreamReader object to read a stream
  (sequence of characters) from a sequential
  access file




Programming with Microsoft Visual Basic .NET, Second Edition   8
    Declaring StreamWriter and
StreamReader Variables (continued)
• Before creating the appropriate object, first
  declare an object variable to store the address of
  the object in the computer’s internal memory
• Use a StreamWriter variable to store the address
  of a StreamWriter object
• Use a StreamReader variable to store the
  address of a StreamReader object




Programming with Microsoft Visual Basic .NET, Second Edition   9
      Declaring StreamWriter and
  StreamReader Variables (continued)




Figure 9-6: Syntax and examples of declaring StreamWriter and
StreamReader variables
 Programming with Microsoft Visual Basic .NET, Second Edition   10
   Opening a Sequential Access File

• The OpenText method opens an existing
  sequential access file for input and allows the
  computer to read the information stored in the file
• Use the CreateText method to create a new,
  empty sequential access file to which data can
  be written
• Use the AppendText method to add data to the
  end of an existing sequential access file


Programming with Microsoft Visual Basic .NET, Second Edition   11
    Opening a Sequential Access File
              (continued)




Figure 9-7: Syntax and examples of opening a sequential
access file
 Programming with Microsoft Visual Basic .NET, Second Edition   12
    Opening a Sequential Access File
              (continued)




Figure 9-7: Syntax and examples of opening a sequential
access file (continued)
 Programming with Microsoft Visual Basic .NET, Second Edition   13
     Opening a Sequential Access File
               (continued)




Figure 9-8: Position of the file pointer when files are opened for
input, output, and append
 Programming with Microsoft Visual Basic .NET, Second Edition   14
   Determining Whether a File Exists

• Avoid errors by using the Exists method
• Syntax: IO.File.Exists(filename)
• The Exists method returns the Boolean value
  True if filename exists; otherwise, it returns the
  Boolean value False




Programming with Microsoft Visual Basic .NET, Second Edition   15
   Writing Information to a Sequential
               Access File
• Use either the Write method or the WriteLine
  method to write information to a sequential
  access file
• Write method
    – Positions the file pointer at the end of the last
      character it writes to the file
    – Syntax: variablename.Write(data)



Programming with Microsoft Visual Basic .NET, Second Edition   16
   Writing Information to a Sequential
         Access File (continued)
• WriteLine method
    – Positions the file pointer at the beginning of the
      next line in the file
    – Syntax: variablename.WriteLine(data)




Programming with Microsoft Visual Basic .NET, Second Edition   17
          Reading Information from a
           Sequential Access File
• ReadLine method
    – Read a line of text from the file
    – Syntax: variablename.ReadLine()
• Peek method
    – Looks to see if there is another character to read
    – Syntax: variablename.Peek()



Programming with Microsoft Visual Basic .NET, Second Edition   18
    Closing a Sequential Access File

• Close method: closes the file when you are
  finished
• Syntax: variablename.Close()
• Variablename is the name of either a
  StreamReader or StreamWriter variable




Programming with Microsoft Visual Basic .NET, Second Edition   19
              The Friends Application

• Allows the user to:
    – Write the names of his or her friends to a
      sequential access file
    – Read the names from the file




Programming with Microsoft Visual Basic .NET, Second Edition   20
   The Friends Application (continued)




Figure 9-14: User interface for the Friends application
 Programming with Microsoft Visual Basic .NET, Second Edition   21
   The Friends Application (continued)




Figure 9-15: Pseudocode for the Write to File and Read from
File buttons
 Programming with Microsoft Visual Basic .NET, Second Edition   22
 Records In a Sequential Access File
        Lesson B Objective
• Write records to a sequential access file
• Read records from a sequential access file




Programming with Microsoft Visual Basic .NET, Second Edition   23
        Writing and Reading Records

• A sequential access file can be used to store
  fields and records
• A field is a single item of information about a
  person, place, or thing
• A record is one or more related fields that contain
  all of the necessary data about a specific person,
  place, or thing



Programming with Microsoft Visual Basic .NET, Second Edition   24
        Writing and Reading Records
                 (continued)
• When writing records to a sequential access file,
  you typically write each record on a separate line
  in the file
• If the records contain more than one field, you
  can separate each field with a special character,
  such as a comma or the number symbol (#)




Programming with Microsoft Visual Basic .NET, Second Edition   25
         Writing and Reading Records
                  (continued)




Figure 9-21: Examples of writing a record to a sequential access
file
 Programming with Microsoft Visual Basic .NET, Second Edition   26
         Writing and Reading Records
                  (continued)




Figure 9-22: Examples of reading records from a sequential
access file
 Programming with Microsoft Visual Basic .NET, Second Edition   27
        Creating the PAO Application

• Application for the PAO (Political Awareness
  Organization) should allow the organization’s
  secretary to:
    – Save (to a sequential access file) a voter’s political
      party and age
    – Tabulate the number of Democrats, Republicans,
      and Independents entered in the file
    – Print the contents of the file


Programming with Microsoft Visual Basic .NET, Second Edition   28
         Creating the PAO Application
                  (continued)




Figure 9-23: Interface for the PAO application
 Programming with Microsoft Visual Basic .NET, Second Edition   29
     Coding the PaoForm Load Event
                Procedure




Figure 9-25: Pseudocode for the PaoForm’s Load event
procedure
 Programming with Microsoft Visual Basic .NET, Second Edition   30
  Coding the uiWriteButton Click Event
               Procedure




Figure 9-30: Pseudocode for the uiWriteButton’s Click event
procedure
 Programming with Microsoft Visual Basic .NET, Second Edition   31
      Coding the uiDisplayButton Click
             Event Procedure




Figure 9-34: Pseudocode for the uiDisplayButton’s Click event
procedure
 Programming with Microsoft Visual Basic .NET, Second Edition   32
      Coding the uiDisplayButton Click
       Event Procedure (continued)




Figure 9-34: Pseudocode for the uiDisplayButton’s Click event
procedure (continued)
 Programming with Microsoft Visual Basic .NET, Second Edition   33
    Printing a Sequential Access File
           Lesson C Objective
• Add a PrintDocument control to a form
• Print text using the Print and
  e.Graphics.DrawString methods
• Code a PrintDocument control’s PrintPage event
  procedure




Programming with Microsoft Visual Basic .NET, Second Edition   34
  Adding a PrintDocument Control to
              the Form
• To complete the PAO application, you need to:
    – Add a PrintDocument control to the form
    – Code the Print Report button’s Click event
      procedure and the PrintDocument control’s
      PrintPage event procedure




Programming with Microsoft Visual Basic .NET, Second Edition   35
 Coding the Print Report Button Click
          Event Procedure
• The Print Report button’s Click event procedure
  is responsible for using the
  uiReportPrintDocument control to print the
  contents of the pao.txt sequential access file
• The Print method causes the PrintDocument
  control’s PrintPage event to occur
• You use the PrintPage event to indicate the
  information you want to print, as well as how you
  want the information to appear in the printout
Programming with Microsoft Visual Basic .NET, Second Edition   36
  Coding the Print Report Button Click
     Event Procedure (continued)




Figure 9-39: Pseudocode for the Print Report button’s Click
event procedure
 Programming with Microsoft Visual Basic .NET, Second Edition   37
          Coding the PrintPage Event
                  Procedure
• The PrintPage event procedure should print the
  contents of the pao.txt file in a report format
• The report should contain a report header and
  two columns of information
• The first column should list the party
• The second column should list the age



Programming with Microsoft Visual Basic .NET, Second Edition   38
           Coding the PrintPage Event
             Procedure (continued)




Figure 9-41: Pseudocode for the uiReportPrintDocument’s
PrintPage event procedure
 Programming with Microsoft Visual Basic .NET, Second Edition   39
  The e.Graphics.DrawString Method

• You use the e.Graphics.DrawString method to
  print text on the printer
• Some print fonts are proportionally spaced, while
  others are fixed-spaced, often referred to as
  mono-spaced




Programming with Microsoft Visual Basic .NET, Second Edition   40
  The e.Graphics.DrawString Method
            (continued)
• Fixed-spaced fonts use the same amount of
  space to print each character
• Proportionally spaced fonts use varying amounts
  of space to print characters




Programming with Microsoft Visual Basic .NET, Second Edition   41
                             Summary

• To declare a StreamWriter or StreamReader
  variable, use the syntax:
  {Dim | Private} variablename As IO.objecttype
• To open a sequential access file for input, use
  the syntax: IO.File.OpenText(filename)
• To open a sequential access file for append, use
  the syntax: IO.File.AppendText(filename)
• To open a sequential access file for output, use
  the syntax: IO.File.CreateText(filename)

Programming with Microsoft Visual Basic .NET, Second Edition   42
                 Summary (continued)

• To write a record to a sequential access file, you
  typically write each record on a separate line in
  the file
• If the records contain more than one field,
  separate each field with a special character
• To read a record from a sequential access file,
  use the ReadLine method to read a line of text
  from the file; the line of text is the record


Programming with Microsoft Visual Basic .NET, Second Edition   43
                 Summary (continued)
• To print text within a Visual Basic .NET
  application:
    – Include a PrintDocument control in the application
    – Use the Print method to print the document
    – Use the PrintPage event procedure to indicate the
      information you want to print and how you want
      the information to appear in the printout
    – Use the syntax e.Graphics.DrawString(string, font,
      Brushes.Black, horizontalPosition,
      verticalPosition) to print the document

Programming with Microsoft Visual Basic .NET, Second Edition   44

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:80
posted:11/26/2011
language:English
pages:44