Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
GET Statement (File I/O) Programming Example
◄Example► ◄Contents► ◄Index► ◄Back►
──────────────────────────────────────────────────────────────────────────────
'This example uses the GET statement to display the contents of a newly
'created random-access file that contains 5 names and corresponding test
'scores.
'Define record fields.
TYPE TestRecord
NameField AS STRING * 20
ScoreField AS SINGLE
END TYPE
'Define a variable of the user type.
DIM Rec AS TestRecord
DIM I AS LONG
'Note: This part of the program is an insert whose function is to
'create a random-access file to be used by the second part of the
'program, which demonstrates the GET statement.
OPEN "TESTDAT2.DAT" FOR RANDOM AS #1 LEN = LEN(Rec)
CLS
RESTORE
READ NameField$, ScoreField
I = 0
DO WHILE NameField$ <> "END"
I = I + 1
Rec.NameField = NameField$
Rec.ScoreField = ScoreField
PUT #1, I, Rec
READ NameField$, ScoreField
LOOP
CLOSE #1
DATA "John Simmons", 100
DATA "Allie Simpson", 95
DATA "Tom Tucker", 72
DATA "Walt Wagner", 90
DATA "Mel Zucker", 92
DATA "END", 0
'End of insert.
'Open the test data file.
DIM FileBuffer AS TestRecord
DIM Max AS LONG
OPEN "TESTDAT2.DAT" FOR RANDOM AS #1 LEN = LEN(FileBuffer)
'Calculate number of records in the file.
Max = LOF(1) \ LEN(FileBuffer)
'Read and print contents of each record.
FOR I = 1 TO Max
GET #1, I, FileBuffer
PRINT FileBuffer.NameField, FileBuffer.ScoreField
NEXT I
CLOSE #1
KILL "TESTDAT2.DAT"
END