Article: Q59758
Product(s): See article
Version(s): 2.00 2.01 3.00 4.00 4.00b 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | SR# S900313-116 B_BasicCom B_MQuickB | mspl13_basic
Last Modified: 26-MAR-1990
A single-line IF statement of the form IF <cond> THEN <label> causes a
"Syntax Error." In a single-line IF statement, you must use the GOTO
statement to branch to a line label. This is different from the
branching rule for line numbers, where the GOTO is optional.
This information applies to Microsoft QuickBASIC Versions 2.00, 2.01,
3.00, 4.00, 4.00b, and 4.50 for MS-DOS, to Microsoft BASIC Compiler
Versions 6.00 and 6.00b for MS-DOS and OS/2, and to Microsoft BASIC
Professional Development System (PDS) Version 7.00 for MS-DOS and MS
OS/2.
The following is the single-line IF statement syntax. (It is taken
from the QuickBASIC 4.50 QB Advisor online Help system):
IF booleanexpression THEN thenpart [ELSE elsepart]
The thenpart and the elsepart both have the following syntax:
{statements | [GOTO]linenumber | GOTO linelabel }
The following list describes the parts of the thenpart and
elsepart syntax:
Part Description
---- -----------
statements One or more BASIC statements, separated by colons
linenumber A valid BASIC program line number
linelabel A valid BASIC line label
Note that GOTO is optional with a line number but is required
with a line label.
A Related Issue in QuickBASIC for the Apple Macintosh
-----------------------------------------------------
Note that QuickBASIC for the Apple Macintosh does not require the GOTO
for a label in an IF statement. This prevents making an implicit CALL,
as in the IF...THEN subname statement. For more information, query on
the following words:
Macintosh and QuickBASIC and GOTO and implicit and subprogram
and explicit
Code Example
------------
The following code example causes a syntax error on the IF statement:
IF 1 = 1 THEN Label 'Should be: IF 1 = 1 THEN GOTO Label
Label: PRINT "Made it!"