196 lines
7.0 KiB
Plaintext
196 lines
7.0 KiB
Plaintext
|
||
MICROSOFT
|
||
QuickBASIC Compiler
|
||
README.DOC
|
||
|
||
July 18, 1985
|
||
|
||
|
||
The following file contains information in addition to the
|
||
Microsoft QuickBASIC Manual.
|
||
|
||
The following files are on your QuickBASIC diskette:
|
||
|
||
Compiler Files:
|
||
|
||
BASCOM EXE The QuickBASIC Compiler
|
||
BCOM10 LIB The QuickBASIC Compiler Library
|
||
BRUN10 EXE The QuickBASIC Runtime
|
||
BRUN10 LIB The QuickBASIC Runtime Library
|
||
LINK EXE The Microsoft Linker
|
||
GWCASS OBJ Object module for cassette support
|
||
GWCOM OBJ Object module for communications support
|
||
SMALLERR OBJ Object module for producing small error
|
||
messages, and therefore, a smaller EXE file
|
||
|
||
README DOC This information file
|
||
|
||
|
||
Demonstration Files: The following examples have been
|
||
placed on the disk for your convenience. These examples are
|
||
identical to the examples in chapter 9 of the manual, under
|
||
the sections headed by the statement/function noted.
|
||
|
||
CALL BAS This demonstrates the use of the CALL
|
||
statement
|
||
|
||
COMMAND BAS This shows the use of the COMMAND$ function
|
||
|
||
DEFFN BAS This shows the use of DEF FN in multi-line
|
||
functions
|
||
|
||
MAIN BAS This example, combined with DIGIT.BAS and
|
||
DEC.BAS show the use of the CHAIN statement
|
||
as well as COMMON variables
|
||
|
||
DIGIT BAS See MAIN.BAS
|
||
DEC BAS See MAIN.BAS
|
||
|
||
SUB BAS This shows the use of SUB..SUB END/SUB EXIT
|
||
to create named subroutines
|
||
|
||
DRAW BAS This shows the use of the DRAW statement
|
||
|
||
PLAY BAS This shows the use of the PLAY statement
|
||
|
||
REDIM BAS This shows the use of the REDIM statement
|
||
with dynamic arrays and ERASE
|
||
|
||
SHARED BAS This shows the use of SHARE statement in
|
||
named subroutines with shared variables
|
||
|
||
REMLINE BAS This program is designed to take programs
|
||
written for a Microsoft BASIC Interpreter
|
||
and remove the unreferenced line numbers
|
||
for use with QuickBASIC. REMLINE assumes
|
||
that the program is syntactically correct.
|
||
|
||
GENERAL NOTES:
|
||
|
||
- QuickBASIC can read Microsoft Word formatted files. For
|
||
those users of QuickBASIC who own Microsoft Word,
|
||
you can use Word to edit your programs. There is no need to
|
||
save the file non-formatted, as QuickBASIC will disreguard
|
||
any formatting information and compile the program.
|
||
|
||
- if you are using the runtime library and either cassette or
|
||
communications support, you must link in either
|
||
GWCASS.OBJ (for cassette support) or GWCOM.OBJ (for
|
||
communications support).
|
||
|
||
- If you are using the LOCK or UNLOCK statements, or the
|
||
LOCK type clause in the OPEN statement , you should
|
||
be aware that they will only function at runtime if you are
|
||
using MS-DOS 3.00 or higher. The code will be compiled,
|
||
however, if you are using a DOS below 3.00 you will receive
|
||
an ADVANCED FEATURE runtime ERROR if either a LOCK or an
|
||
UNLOCK is performed.
|
||
|
||
If you are using MS-DOS 3.00 you must run the SHARE
|
||
program to perform any locking operation.
|
||
|
||
|
||
ADDITIONS TO THE MANUAL:
|
||
|
||
OPEN STATEMENT:
|
||
|
||
The compiler fully supports the syntax of the IBM BASICA 3.00
|
||
interpreter OPEN statement. The functionality of the OPEN statement
|
||
has been enhanced to control access to opened files in a
|
||
network environment. The new, expanded syntax is:
|
||
|
||
OPEN "<filespec>" [FOR <mode>][ACCESS <access>]
|
||
[<locktype>] AS [#] <filenum> [LEN=<record length>]
|
||
|
||
<mode> specifications may now include the RANDOM keyword.
|
||
|
||
When no <mode> is specified, RANDOM file mode is assumed.
|
||
In RANDOM mode, if no ACCESS clause is present, three
|
||
attempts are made to open the file when the OPEN
|
||
statement is executed. Access is attempted in the
|
||
following order:
|
||
|
||
1. Read/write
|
||
|
||
2. Write-only
|
||
|
||
3. Read-only
|
||
|
||
The ACCESS clause specifies the type of operation to be
|
||
performed on the opened file. If the file is already opened
|
||
by another process and access of the type specified is
|
||
not allowed, the OPEN will fail and a "Permission Denied"
|
||
error message is generated.
|
||
|
||
The ACCESS types are:
|
||
|
||
READ Opens the file for reading only.
|
||
|
||
WRITE Opens the file for writing only.
|
||
|
||
|
||
READ WRITE Opens the file for both reading and
|
||
writing. This mode is invalid for all
|
||
except RANDOM files and files opened for APPEND.
|
||
|
||
The <locktype> clause restricts access by other processes
|
||
to an open file. The locktypes are
|
||
|
||
default If <locktype> is not specified, the file
|
||
may be opened for reading and
|
||
writing any number of times by this process,
|
||
but other processes are
|
||
denied access to the file while it is opened.
|
||
|
||
SHARED Any process on any machine may read from or write
|
||
to this file.
|
||
|
||
LOCK READ No other process is granted read access to this file.
|
||
This access is granted only if no other process has
|
||
a previous LOCK READ access to the file.
|
||
|
||
LOCK WRITE No other process is granted write access to this
|
||
file. This also is granted only if no other process
|
||
has a previous access
|
||
of this kind to the file.
|
||
|
||
LOCK READ WRITE No other process is granted either read or write
|
||
access to this file. This access is
|
||
granted only if LOCK READ WRITE
|
||
has not already been granted to another process.
|
||
|
||
OPEN now generates error 70 "Permission Denied", when the
|
||
OPEN is restricted by a previous process. Error 70 was
|
||
previously "Disk Write Protect." A write protected disk will
|
||
still give you an error 70.
|
||
|
||
|
||
SEGMENT MAPS: Section 8.5
|
||
|
||
The following entry showed be added to the Segment Maps
|
||
found in both tables 8.1 and 8.2. If you use named
|
||
COMMON, the named COMMON segment will be in the segment
|
||
table.
|
||
|
||
In the Low DS section of the tables, after the entry which
|
||
looks like:
|
||
|
||
BC_DATA BC_VARS
|
||
|
||
If named COMMONs are used there will be one entry for each
|
||
named COMMON which looks like:
|
||
|
||
FOO BC_VARS
|
||
|
||
where "FOO" is the name of the COMMON.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|