Transcript Ch9 notes
Chapter 9
Random Access Files
Outline and Objectives
Fixed-Length Strings
Records
Random Access Files
Chapter 9 - Visual Basic Schneider
Fixed - Length String
Each variable in the program is assigned
to a data type.
Fixed - Length String variable: Stores
character strings of fixed length
To declare a string of length n use the
following statement:
Dim var As String * n
Note: n is a positive integer
Chapter 9 - Visual Basic Schneider
Example
Private Sub cmdGo_Click()
Dim city As String * 9
‘ Illustrate fixed-length strings
picOutput.Cls
picOutput.Print "123456789"
city = "San Francisco"
picOutput.Print city
city = "Detroit"
picOutput.Print city; "MI"
picOutput.Print Len(city)
End Sub
Chapter 9 - Visual Basic Schneider
Comparing Strings:
Care must be taken to compare two fixedlength strings of different length.
Use the function RTrim to remove the
right hand spaces from a variable - length
or a fixed - length string.
Example: RTrim(city)
Chapter 9 - Visual Basic Schneider
Records:
Record is a user defined data type
A record is a collection of fields
Each field in the record has a name, type
and length which is the number of spaces
allocated to it.
Chapter 9 - Visual Basic Schneider
Syntax of a Record Definition
‘In General Declarations
Private Type recordType
field-name1 As fieldType1
field-name2 As fieldType2
………
End Type
Chapter 9 - Visual Basic Schneider
Record Declaration
Dim record-variable As recordType
Chapter 9 - Visual Basic Schneider
Example of Record Definition
Private Type studentRecord
name As String *30
idNumber As String *11
gpa As Single
numOfCredit As Integer
End Type
Chapter 9 - Visual Basic Schneider
To create a record of a
specific type
Dim student1 As studentRecord
Chapter 9 - Visual Basic Schneider
Storing Data in a Record
student1.name = “John Smith”
student1.idNumber = “456-78-9012”
student1.gpa = 3.5
student1.numOfCredits = 124
Chapter 9 - Visual Basic Schneider
Methods of accessing a
File
Sequential access
Data is accessed in the same order in which it is
physically stored in the file.
Random access
Records are accessed directly from the file in
random order.
Chapter 9 - Visual Basic Schneider
Random Access Files
A Random Access file is usually made up
of a collection of records.
Records are accessed directly from the file
in random order.
Usually is done by using record’s number
in the file.
Chapter 9 - Visual Basic Schneider
Opening a Random Access File
One statement is suffices for creating,
appending, writing and reading a random
access file.
Open “filespec” For Random As #n Len=Len(recVar)
Chapter 9 - Visual Basic Schneider
Example of entering a record into a file:
Private Sub cmdAddCollege_Click()
‘ Write a record into the file COLLEGES.TXT
Dim college As collegeData
college.nom = txtCollege.Text
college.state = txtState.Text
college.yrFounded = Val(txtYear.Text)
recordNum = recordNum + 1
Put #1, recordNum, college
Entering a
txtCollege.Text = ""
txtState.Text = ""
txtYear.Text = ""
txtCollege.SetFocus
End Sub
Chapter 9 - Visual Basic Schneider
record into a file
Example of reading a record from a file:
Private Sub DisplayFile()
Dim recordNum As Integer
‘ Access the random-access file COLLEGES.TXT
Dim college As collegeData
Open "COLLEGES.TXT" For Random As #1 Len = Len(college)
picOutput.Print "College", , "State", "Year founded"
For recordNum = 1 To 3
Get #1, recordNum, college
To Read a data from a file
picOutput.Print college.nom, college.state, college.yrFounded
Next recordNum
Close #1
End Sub
Chapter 9 - Visual Basic Schneider
Summary of Using Random
Access Files:
Do not need to close between placing records
into them or reading from them
Do not need to input the records in any specific
order
To find out the most recent record number in a
file #n, then use the function Loc(n)
Each record should have the same length, which
is any number from 1 to 32767
Chapter 9 - Visual Basic Schneider