• We first look at writing values of variables to sequential files. The
first step is to Open a file to write information to. The syntax for opening a
sequential file for output is:
Open SeqFileName For Output As #N
where SeqFileName is the name of the file to open and N is an integer file
number. The filename must be a complete path to the file.
• When done writing to the file, Close it using:
Close N
Once a file is closed, it is saved on the disk under the path and filename
used to open the file.
• Information is written to a sequential file one line at a time. Each
line of output requires a separate Basic statement.
• There are two ways to write variables to a sequential file. The first
uses the Write statement:
Write #N, [variable list]
where the variable list has variable names delimited by commas. (If the variable
list is omitted, a blank line is printed to the file.) This statement will write
one line of information to the file, that line containing the variables specified
in the variable list. The variables will be delimited by commas and any string
variables will be enclosed in quotes. This is a good format for exporting files
to other applications like Excel.
Example
Dim A As Integer, B As String, C As Single, D As Integer
.
.
Open TestOut For Output As #1
Write #1, A, B, C
Write #1, D
Close 1
After this code runs, the file TestOut will have two lines. The first will
have the variables A, B, and C, delimited by commas, with B (a string variable)
in quotes. The second line will simply have the value of the variable D.
• The second way to write variables to a sequential file is with the
Print statement:
Print #N, [variable list]
This statement will write one line of information to the file, that line containing
the variables specified in the variable list. (If the variable list is omitted,
a blank line will be printed.) If the variables in the list are separated with
semicolons (;), they are printed with a single space between them in the file.
If separated by commas (,), they are spaced in wide columns. Be careful using
the Print statement with string variables. The Print statement does not enclose
string variables in quotes, hence, when you read such a variable back in, Visual
Basic may have trouble knowing where a string ends and begins. It’s good
practice to ‘tack on’ quotes to string variables when using Print.
Example
Dim A As Integer, B As String, C As Single, D As Integer
.
.
Open TestOut For Output As #1
Print #1, A; Chr(34) + B + Chr(34), C
Print #1, D
Close 1
After this code runs, the file TestOut will have two lines. The first will
have the variables A, B, and C, delimited by spaces. B will be enclosed by quotes
[Chr(34)]. The second line will simply have the value of the variable D.
Quick Example: Writing Variables
to Sequential Files
-
Start a new project.
-
Attach the following code to the Form_Load procedure. This code simply writes
a few variables to sequential files.
Private Sub Form_Load()
Dim A As Integer, B As String, C As Single, D As Integer
A = 5
B = "Visual Basic"
C = 2.15
D = -20
Open "Test1.Txt" For Output As #1
Open "Test2.Txt" For Output As #2
Write #1, A, B, C
Write #1, D
Print #2, A, B, C
Print #2, D
Close 1
Close 2
End Sub
-
Run the program. Use a text editor (try the Windows 95 Notepad) to examine
the contents of the two files, Test1.Txt and Test2.Txt. They are probably in the
Visual Basic main directory. Note the difference in the two files, especially
how the variables are delimited and the fact that the string variable is not enclosed
in quotes in Test2.Txt. Save the application, if you want to.