628 lines
24 KiB
Plaintext
628 lines
24 KiB
Plaintext
"README.DOC" File
|
||
Release Notes for the MICROSOFT QuickBASIC Compiler
|
||
(Version 2.01) for IBM(R) Personal Computers
|
||
and Compatibles
|
||
|
||
(C) Copyright Microsoft Corporation, 1986, 1987
|
||
|
||
THIS FILE CONTAINS IMPORTANT INFORMATION CONCERNING VERSION 2.01 OF
|
||
THE MICROSOFT(R) QUICKBASIC COMPILER. PLEASE READ THE ENTIRE FILE
|
||
VERY CAREFULLY BEFORE USING YOUR QUICKBASIC PRODUCT.
|
||
|
||
This file is divided into three parts, as follows:
|
||
|
||
PART CONTENTS
|
||
|
||
1 Information on three NEW features added to the
|
||
Version 2.01 release:
|
||
|
||
- Descriptive error messages when you compile
|
||
using the separate compilation method.
|
||
|
||
- Installable keyboard drivers for better
|
||
support of the Tandy(R) 1000 and the IBM
|
||
Advanced 101-Key Keyboards.
|
||
|
||
- The ENTER key may now be used to select
|
||
command buttons other than the default.
|
||
|
||
2 Information about additions and changes to QuickBASIC
|
||
made after the manual was printed.
|
||
|
||
3 Additions and corrections to the QuickBASIC Version 2.0
|
||
manual.
|
||
|
||
For information on corrections to the software from version 2.00 to
|
||
2.01, please refer to the UPDATE.DOC file on this disk.
|
||
|
||
===<Part 1: QuickBASIC V2.01 Enhancements>=========================
|
||
|
||
1. Error Listings
|
||
|
||
New to Version 2.01 are descriptive error messages that may appear
|
||
when you compile with the separate compilation method (see Appendix D
|
||
of the QuickBASIC Manual for more information on using the separate
|
||
compilation method). You can redirect these error messages to a file
|
||
or device to get a printed copy of the errors encountered during
|
||
compilation.
|
||
|
||
EXAMPLES
|
||
|
||
COMMAND LINE ACTION
|
||
------------ ------
|
||
|
||
QB TEST.BAS; compile TEST.BAS and display any errors
|
||
encountered on the screen.
|
||
|
||
QB TEST.BAS; > TEST.LST Compile TEST.BAS and redirect any error
|
||
messages generated to the file TEST.LST.
|
||
|
||
2. Machine-specific keyboards
|
||
|
||
QuickBASIC Version 2.01 has been enhanced to allow installation of
|
||
machine-specific keyboards.
|
||
|
||
When invoked, QuickBASIC searches the entire path, beginning in the
|
||
current directory, for a file named KEYBOARD.QBK. If found, it is
|
||
used as the keyboard definition; if not found, the default IBM
|
||
keyboard is used.
|
||
|
||
Since QuickBASIC Version 2.01 comes already installed for the
|
||
standard IBM and IBM Advanced 101-Key Keyboard, most owners of
|
||
IBM PCs and close compatibles need not worry about keyboard
|
||
compatibility.
|
||
|
||
However, owners of Tandy 1000s should rename the file TANDY.QBK
|
||
(located on Disk 1) to KEYBOARD.QBK.
|
||
|
||
Note that this keyboard installation only affects the QuickBASIC
|
||
editor, and has no effect at runtime.
|
||
|
||
3. Executing Command Buttons in Dialogs
|
||
|
||
In QuickBASIC Version 2.00, pressing ENTER always executed the default
|
||
command button, regardless of which button was highlighted. This
|
||
feature has been enhanced in QuickBASIC Version 2.01. Pressing ENTER
|
||
now executes the default button ONLY if another command button is not
|
||
highlighted. For example, if the highlight is on the CANCEL button then
|
||
pressing ENTER will execute CANCEL. However, if the input focus
|
||
(highlight) is an edit field or a checkbox then ENTER causes the default
|
||
command button to be executed.
|
||
|
||
===<Part 2: Additional Information>===================================
|
||
|
||
1. The QB.INI Initialization File
|
||
|
||
QB.INI is an initialization file that QuickBASIC uses to set both the
|
||
Options settings in the View menu and the Autosave command settings
|
||
in the File menu. Upon exiting QuickBASIC, if you have modified
|
||
any of the Options settings or the state of the File menu Autosave
|
||
command, these changes are written to QB.INI. Note that QB.INI is
|
||
not supplied on any of the product disks. It is created only when
|
||
you change the Options or Autosave settings. If you use only the
|
||
default settings, QB.INI is never created.
|
||
|
||
When QB.INI is created, it is placed in the current directory. When
|
||
QuickBASIC starts, it looks for QB.INI in the current directory, then
|
||
in the locations specified by the PATH environment variable.
|
||
|
||
2. Source-File Line Termination
|
||
|
||
QuickBASIC 2.0 requires a CR-LF (carriage return-line feed) sequence at
|
||
the end of each line. If only carriage returns are present, QuickBASIC
|
||
reads the first 255 characters only, and continues without producing an error
|
||
message. If only line feeds are present, QuickBASIC will appear to
|
||
read the file correctly, but the last character of each line will be
|
||
missing. If you use an editor that places only a CR or an LF at the
|
||
end of a line, you need to modify your source files so they have
|
||
the correct sequence at the end of each line. The following program
|
||
examines the end of each line in a file and inserts a carriage return,
|
||
line feed, or both, if needed.
|
||
|
||
DEFINT A-Z
|
||
cr = 13 : lf = 10
|
||
More:
|
||
CLS
|
||
INPUT "File (.BAS) ", inpfile$
|
||
ON ERROR GOTO NoFile
|
||
NAME inpfile$ + ".BAS" AS inpfile$ + ".BAK"
|
||
OPEN inpfile$ + ".BAK" FOR INPUT AS #1
|
||
ON ERROR GOTO 0
|
||
OPEN inpfile$ + ".BAS" FOR OUTPUT AS #2
|
||
prevcr = 0
|
||
WHILE NOT EOF(1)
|
||
filechar$ = INPUT$(1, #1)
|
||
IF ASC(filechar$) = cr THEN
|
||
prevcr = 1
|
||
ELSEIF ASC(filechar$) = lf AND prevcr THEN
|
||
prevcr = 0
|
||
ELSEIF ASC(filechar$) = lf AND NOT prevcr THEN
|
||
PRINT #2, CHR$(cr);
|
||
ELSEIF prevcr THEN
|
||
prevcr = 0
|
||
PRINT #2, CHR$(lf);
|
||
END IF
|
||
PRINT #2, filechar$;
|
||
WEND
|
||
CLOSE
|
||
PRINT "Another file (Y/N)?"
|
||
more$ = INPUT$(1)
|
||
IF more$ = "y" OR more$ = "Y" THEN
|
||
GOTO More
|
||
ELSE
|
||
SYSTEM
|
||
END IF
|
||
|
||
NoFile:
|
||
number = ERR
|
||
IF number = 53 THEN
|
||
CLS
|
||
PRINT "No such file. Press any key to continue."
|
||
z$ = INPUT$(1)
|
||
RESUME More
|
||
ELSE
|
||
ON ERROR GOTO 0
|
||
ERROR number
|
||
END IF
|
||
|
||
3. Compilation Errors
|
||
|
||
When an error is detected during compilation, code generation stops. This
|
||
allows for faster compilation, but has the side effect that some errors may
|
||
be reported that are not errors. When the original error is corrected,
|
||
these side-effect errors go away. For example, the statements
|
||
|
||
FOR I = 1
|
||
.
|
||
.
|
||
.
|
||
NEXT I
|
||
|
||
generate two errors, "Missing TO" and "NEXT without FOR". When
|
||
the FOR statement is changed to read "FOR I = 1 to 10", both errors
|
||
are corrected.
|
||
|
||
4. COMMAND.COM, the SHELL Statement and the Shell Command
|
||
|
||
QuickBASIC requires COMMAND.COM before it can execute either a SHELL
|
||
statement or the Shell command from the File menu. QuickBASIC first
|
||
looks for COMMAND.COM in the directory specified in the COMSPEC
|
||
environment variable, then in the current directory.
|
||
|
||
5. Using SHELL in a Subroutine
|
||
|
||
The SHELL statement does not compress memory. If not enough contiguous
|
||
memory is available, (for example, if many CHAIN statements have been
|
||
executed, or several dynamic arrays were allocated then erased), a SHELL
|
||
statement may fail with an "Out of memory" memory error.
|
||
|
||
6. Using the SHELL Statement with DOS 2.X
|
||
|
||
If you are using a 2.X version of DOS, programs that contain SHELL
|
||
statements may not exit correctly. This is due to a known problem in DOS
|
||
2.X. The problem occurs when DOS reloads the transient portion of the
|
||
command processor into high memory.
|
||
|
||
To exit QuickBASIC after executing an in-memory program that contains
|
||
SHELL statements, when the program finishes running, choose Shell from the
|
||
File menu, then type "exit" at the DOS prompt.
|
||
|
||
When standalone executable programs exit, the message "Invalid COMMAND.COM"
|
||
may appear. If so, you must restart your system. If you compile using
|
||
BRUN20.EXE the program, in most cases, exits properly.
|
||
|
||
Another solution is to upgrade your DOS version to 3.X.
|
||
|
||
7. Running Terminate-and-Stay-Resident Programs from the File menu Shell
|
||
|
||
Do not run terminate-and-stay-resident programs while executing the Shell
|
||
command from the File menu. When a Shell command is executed, QuickBASIC
|
||
is compressed into the smallest memory possible. The terminate-and-stay-
|
||
resident program occupies memory required by QuickBASIC, making it
|
||
impossible to compile or run a program, or do anything that allocates
|
||
memory.
|
||
|
||
8. Changing directories from the File menu Shell Command
|
||
|
||
If you change directories after executing the Shell command from the File
|
||
menu, this directory is the current directory when you return to QuickBASIC.
|
||
Subsequent Load commands will use this as the default directory, and
|
||
when you quit QuickBASIC, you will be in this directory.
|
||
|
||
9. Notes on using User Libraries
|
||
|
||
The run-time module BRUN20.EXE obtains the user library using the name the
|
||
program module was compiled with. All independently compiled program modules
|
||
that will be linked together must have been compiled with the same user
|
||
library using the same name, or an error occurs at run time.
|
||
|
||
CHAINing from a program that has a user library loaded REQUIRES that
|
||
the CHAINed-to program is compiled with the same user library.
|
||
|
||
10. Using /l with Nonreferenced Libraries
|
||
|
||
User libraries specified with the /l option are pulled into the
|
||
executable file regardless of whether the program requires them.
|
||
|
||
11. The User-Library Search Path
|
||
|
||
If path information is provided with the qb command's /l option, as in
|
||
|
||
qb progname /l \src\lib\mylib.exe
|
||
|
||
no path search is performed. If the library is not in the specified location
|
||
an error occurs. If no path information is provided, the current directory
|
||
is searched, then the directory specified in the LIB environment variable.
|
||
|
||
12. Graphics-Mode Statements
|
||
|
||
A graphics-adapter card is required if you are using any of the following
|
||
statements:
|
||
|
||
CIRCLE PMAP
|
||
COLOR (screen modes 1-10) POINT
|
||
DRAW PRESET
|
||
GET (graphics) PSET
|
||
LINE PUT (graphics)
|
||
PAINT VIEW
|
||
PALETTE WINDOW
|
||
PCOPY
|
||
|
||
13. EGA-Card Restrictions
|
||
|
||
The EGA card does not support the COLOR statement's border parameter. Using
|
||
the border parameter causes unpredictable results.
|
||
|
||
QuickBASIC does not support 43-line mode.
|
||
|
||
14. Program Capacity
|
||
|
||
Because the Debug option generates extra code, extremely large programs
|
||
that are compiled with the Debug option may exceed the memory limits of
|
||
your computer.
|
||
|
||
15. Object-File Size
|
||
|
||
Programs compiled with the Debug option (the default) create larger
|
||
object files than programs compiled without the Debug option.
|
||
|
||
16. Using the PEN Function when a Mouse Driver is Present
|
||
|
||
The mouse driver intercepts the PEN function's BIOS calls and redirects
|
||
them to the mouse. If you don't want to use the mouse as a lightpen, call
|
||
mouse function 14 to disable the mouse's lightpen emulation flag, which is
|
||
on by default. Mouse function 13 turns lightpen emulation back on. For
|
||
example, the following code turns mouse lightpen emulation off:
|
||
|
||
CALL MOUSE(14,0,0,0)
|
||
|
||
See your mouse manual for more information.
|
||
|
||
17. Editing Responses to the INPUT Statement
|
||
|
||
The input editor supplied with QuickBASIC is a line editor only. This
|
||
means you can move and edit only horizontally. Attempts to use the
|
||
UP, DOWN, PGUP and PGDN cursor keys produce a beep.
|
||
|
||
18. Disk-Error Messages
|
||
|
||
Whenever you get a disk-error message, such as "Write protect violation",
|
||
DO NOT change to a different disk before selecting "RETRY". If you want
|
||
to retry with a different disk, select the "Cancel" button, replace the
|
||
disk, and compile again.
|
||
|
||
19. INT86.ASM, INT86.OBJ, ABSOLUTE.ASM, ABSOLUTE.OBJ
|
||
|
||
In QuickBASIC Version 2.00 there was USERLIB.ASM and the
|
||
assembled object, USERLIB.OBJ. USERLIB.ASM has been split into two
|
||
files, INT86.ASM and ABSOLUTE.ASM. If you are using LINK.EXE to link
|
||
user libraries to BRUN20.LIB, you should use only INT86.OBJ (the
|
||
symbol "ABSOLUTE" is already contained in BRUN20.LIB).
|
||
|
||
CALL ABSOLUTE is considered an external subroutine by the QuickBASIC
|
||
compiler.
|
||
|
||
If you are creating a new user library to incorporate your own
|
||
assembly language routines, you will need to use both INT86.OBJ
|
||
and ABSOLUTE.OBJ when creating the new user library.
|
||
|
||
|
||
|
||
===<Part 3: Corrections to the Manual>======================================
|
||
|
||
Page Correction
|
||
---- ----------
|
||
|
||
65 In the top paragraph, you should use ALT-F8 to exit animate
|
||
mode, as you are in animate mode when you enter the example.
|
||
|
||
71 In the syntax line at the bottom of the page, the "c:buffersize"
|
||
option should be preceded by a forward slash, as follows:
|
||
|
||
/c:buffersize
|
||
|
||
76 In the first paragraph after Figure 4.2, the sentence "If you
|
||
are in a subdirectory..." should state that the entry ".."
|
||
appears in the "upper-left corner", not the "upper-right".
|
||
|
||
78 Binary files cannot be loaded into QuickBASIC. The note in the
|
||
middle of the page should read:
|
||
|
||
QuickBASIC accepts only ASCII files. If you attempt to load a
|
||
binary file, you will get an error.
|
||
|
||
93 In section 4.4.3.11, "Exe," it should be noted that the executable
|
||
files created using this method require the support of the BRUN20
|
||
run-time module in order to execute.
|
||
|
||
120 The first line of this example (DEFINT I-L) should be changed
|
||
to DEFINT I-S so as to execute correctly.
|
||
|
||
152 The stack is preset to 768 bytes, not 512.
|
||
|
||
161 In the example under Section 9.2.2, there should not be an underscore
|
||
character (_) following the FIELD variable D$.
|
||
|
||
162 String constants can be ASCII characters in the range 32 to 126.
|
||
(127 is the DEL character)
|
||
|
||
172 The discussion of overflow and division by zero is misleading. If you
|
||
are running from the QuickBASIC user interface (editor), and the DEBUG
|
||
option is on, when the error occurs the application terminates and you
|
||
are returned to the editor, with the cursor positioned on the line where
|
||
the division by zero occurred. If you do not have the DEBUG option
|
||
selected, the application is terminated; however, when returned to the
|
||
editor, the cursor is not positioned on the offending line.
|
||
|
||
183 In Table 10.1, in the column "May Require Modifying Interpreter
|
||
Programs," you should add the statements PEEK, POKE, and DEFSEG,
|
||
since the memory maps of the interpreter and the compiler are different.
|
||
For example, programs that read from or write to memory locations in
|
||
the RAM-resident portion of the interpreter do not work in the
|
||
compiler environment since the interpreter is not present.
|
||
|
||
188 In Section 10.3.2, the $INCLUDE metacommand, restriction 2) is in
|
||
error. Included files may contain END statements.
|
||
|
||
193 In Table 10.6, you should add the statements PEEK, POKE,
|
||
and DEFSEG, since the memory maps of the interpreter and the compiler
|
||
are different. For example, programs that read from or write to memory
|
||
locations in the RAM-resident portion of the interpreter do not work in
|
||
the compiler environment since the interpreter is not present.
|
||
|
||
200 In the Action section for the BLOAD command, it states that
|
||
BLOAD can take input from "any input device." This is not true,
|
||
as the BLOAD command does not take input from the "KYBD:" device.
|
||
|
||
222 The EGA card does not support the COLOR statement's border parameter.
|
||
If you have an EGA card installed on your system, using the border
|
||
parameter causes unpredictable results.
|
||
|
||
229 The list of nonexecutable statements should also include the
|
||
DATA statement.
|
||
|
||
232 The "VO1" variable in the third line from the bottom should be changed
|
||
to read as follows:
|
||
|
||
DENS=W/VOL
|
||
|
||
235 The last line in the example should be "LOCATE Y,X" not
|
||
"LOCATE X,Y".
|
||
|
||
265 The syntax for the ERASE statement should have a comma between
|
||
the array names, as shown here:
|
||
|
||
ERASE arrayname [,arrayname...]
|
||
|
||
275 In the FIELD statement's Example 2, the order of arguments is reversed
|
||
for all string-manipulation functions. The affected section of the
|
||
program should read as follows:
|
||
|
||
.
|
||
.
|
||
.
|
||
IF (ZCHECK$ > "85699" AND ZCHECK$ < "85801") THEN
|
||
INFO$ = PLIST$
|
||
PRINT LEFT$(INFO$,25)
|
||
PRINT MID$(INFO$,16,25)
|
||
PRINT RIGHT$(INFO$,17)
|
||
END IF
|
||
|
||
The FIELD statements in the two examples shown under Example 4 should
|
||
be changed to read as follows:
|
||
|
||
FIELD #1, RECLENGTH% AS OFFSET$, SIZE% AS A$(I%)
|
||
|
||
and
|
||
|
||
FIELD #1, 15 AS A$(1), 10 AS A$(2),..., 8 AS A$(14)
|
||
|
||
283 In the FRE function example, the first line of the example should be
|
||
a $DYNAMIC metacommand, as follows:
|
||
|
||
' $DYNAMIC
|
||
PRINT "Before dimensioning arrays: " FRE(""),FRE(0),FRE(-1)
|
||
.
|
||
.
|
||
.
|
||
|
||
286 There is a missing parenthesis in the formula for computing the GET
|
||
graphics statement's array size. There should be three left parentheses
|
||
after the INT keyword, as follows:
|
||
|
||
4 + INT(((x2 - x1 +1) * bits-per-pixel + 7)/8) * ((y2 - y1) +1)
|
||
|
||
297 The two examples comparing the single-line and block forms of the
|
||
IF...THEN...ELSE statement should read as follows:
|
||
|
||
Example 1:
|
||
|
||
INPUT "Price = ",x
|
||
IF (x >= 10000) THEN DISC! = x * .25! ELSE _
|
||
IF (x < 10000) AND (x >= 5000) THEN DISC! = x * .2! ELSE _
|
||
IF (x < 5000) AND (x >= 1000) THEN DISC! = x * .1! ELSE _
|
||
DISC! = 0
|
||
IF DISC! = 0 THEN PRINT "No discount" ELSE _
|
||
PRINT "Discounted price = "; : PRINT USING "$$####.##";x - DISC!
|
||
|
||
Example 2:
|
||
|
||
INPUT "Price = ",x
|
||
IF (x >= 10000) THEN
|
||
DISC! = x * .25!
|
||
ELSEIF (x < 10000) AND (x >= 5000) THEN
|
||
DISC! = x * .2!
|
||
ELSEIF (x < 5000) AND (x >= 1000) THEN
|
||
DISC! = x * .1!
|
||
ELSE DISC! = 0
|
||
END IF
|
||
IF DISC! = 0 THEN
|
||
PRINT "No discount"
|
||
ELSE
|
||
PRINT "Discounted price = ";
|
||
PRINT USING "$$####.##";x - DISC!
|
||
END IF
|
||
|
||
299 The SUB/END SUB syntax is missing from the example. The
|
||
following line should be added to the beginning of the example:
|
||
|
||
SUB KeyboardAction(Timelimit%, Timeout%) STATIC
|
||
|
||
The RETURN statement should be replaced by END SUB.
|
||
|
||
313 The last sentence of the description of Example 2, after
|
||
the semicolon, should read: "The last line displays the new
|
||
soft-key values."
|
||
|
||
314 The last entry in the table for the values of N, should be
|
||
15 - 20, rather than 15 - 25.
|
||
|
||
315 The table listed on this page is incomplete. In addition to
|
||
the values listed, you must also take into account the state
|
||
of the NUM LOCK and CAPS LOCK keys. For NUM LOCK active you
|
||
should add the value &H20, and for CAPS LOCK active you should
|
||
add the value &H40 to the keyboard flag.
|
||
|
||
317 The second comment in the example program should read:
|
||
|
||
' DOWN key will now be trapped
|
||
|
||
325 The STEP option example requires a hyphen before the STEP keyword, as
|
||
follows:
|
||
|
||
LINE -STEP (10,5)
|
||
|
||
The phrase following the example should read:
|
||
|
||
"draws a line from (10,10) to the point with x-coordinate
|
||
10+10 and y-coordinate 10+5, or (20,15)."
|
||
|
||
327 The Action for LINE INPUT should read:
|
||
|
||
Inputs an entire line (up to 255 characters) to a string variable...
|
||
|
||
338 The Remark for LOF should read:
|
||
|
||
When a file is opened in any mode, LOF returns the size of the file in
|
||
bytes.
|
||
|
||
348 In the description of the example it should be noted that
|
||
line 100 converts the single-precision variable AMT to a
|
||
4-byte string, then left justifies that string in an eight-byte
|
||
field.
|
||
|
||
353 Delete the last sentence on this page.
|
||
|
||
369 Add the following note concerning the ACCESS clause:
|
||
|
||
The ACCESS clause works in an OPEN statement only if you are using
|
||
versions of DOS that support networking (3.0 or later). In addition,
|
||
you must run the SHARE.EXE program (or the network startup program must
|
||
run it) to perform any locking operation. Earlier versions of DOS will
|
||
return an "Advanced Feature" error if ACCESS is used with OPEN.
|
||
|
||
375 The second sentence under the Action heading for the LF option should be
|
||
changed to read:
|
||
|
||
When LF is specified, a line-feed character (0AH) is automatically sent
|
||
after each carriage-return character (0DH).
|
||
|
||
388 The last sentence in the REMARKS section should be deleted. The
|
||
argument to the PEEK statement should be a single-precision
|
||
variable in the range 0-1,048,575.
|
||
|
||
396 The variable in the first line of PLAY statement's Example 1 should be
|
||
SCALE$, not SCALES$:
|
||
|
||
SCALE$ = "CDEFGAB"
|
||
|
||
410 In the example, all references to the file STORINVENT should be changed
|
||
to INVENT.DAT. The file argument to both OPEN statements should be
|
||
the same file, INVENT.DAT.
|
||
|
||
418 The first entry in the "Arguments" column should be (x,y), not
|
||
(x1,y1).
|
||
|
||
420 Images cannot be scaled with the PUT graphics statement. Only one set
|
||
of x,y coordinates can be specified as arguments to PUT. All text
|
||
after "Because you can specify..." in the second paragraph, and all of
|
||
the following paragraph, should be ignored.
|
||
|
||
424 The second sentence in the Remarks section for the READ statement should
|
||
be changed to read as follows:
|
||
|
||
READ statements assign DATA-statement values to variables on a
|
||
one-to-one basis.
|
||
|
||
448 In the description of the SCREEN statement's arguments, the first line
|
||
under the SCREEN 2 heading should refer to high-resolution graphics
|
||
instead of medium-resolution graphics, as follows:
|
||
|
||
* 640 x 200 pixel high-resolution graphics
|
||
|
||
In addition, the text format for SCREEN 1 should be 40 X 25, and
|
||
the text format for SCREEN 2 should be 80 X 25.
|
||
|
||
474 The example for the STR$ function should read as follows:
|
||
|
||
DEF FNNUM$(X)
|
||
X$ = STR$(X)
|
||
LENGTH = LEN(X$)
|
||
IF LEFT$(X$,1) <> "-" THEN LENGTH = LENGTH - 1
|
||
FNNUM$ = RIGHT$(X$,LENGTH)
|
||
END DEF
|
||
|
||
PRINT "Enter 0 to end." : NUM = -1 'Corrected line
|
||
WHILE NUM
|
||
INPUT "Find cosine of: ",NUM
|
||
IF NUM THEN PRINT "COS(" FNNUM$(NUM) ") = " COS(NUM)
|
||
WEND
|
||
|
||
482 In the example, the input to the prompt "Pattern to be searched
|
||
for?" must be SUB (not "sub") in order to get the output shown.
|
||
|
||
525 Add DEBUG, OFF, and RANDOM to the list of reserved words.
|
||
Delete the dollar-sign ($) character at the end of GOTO.
|
||
|
||
535 Batch files created for versions of QuickBASIC before 2.0 require
|
||
modification. In older batch files, "bascom" should be "qb".
|
||
|
||
536 If you are using a version of DOS earlier than 3.0, use the PATH command
|
||
instead of the SET command to define the PATH variable. Using SET under
|
||
earlier versions of DOS can cause the PATH variable to work incorrectly
|
||
for some path specifications that contain lowercase letters.
|
||
|
||
546 & The stack is preset to 768 bytes, not 512.
|
||
547
|
||
|
||
566 The third bulleted remark ("A USR function...") should be deleted.
|
||
|
||
570 The explanation for the error message "Too many files" should read:
|
||
|
||
This error most commonly occurs when an attempt is made to open a
|
||
number of files that exceeds the limit set by the FILES= parameter in
|
||
the CONFIG.SYS file. It also occurs when the per-directory file limit
|
||
is exceeded by an attempt to create a new file with the SAVE or OPEN
|
||
statement. Refer to your DOS manual for the number of files permitted
|
||
in a directory.
|
||
|