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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|