qbjc - Implementation Status
Report abuse
Use this data
Sign up for free
Implementation status
Implemented
Count72
1
ABS Function
2
ASC Function
3
ATN Function
4
BEEP Statement
5
CALL Statement (BASIC Procedures)
6
CDBL Function
7
CHR$ Function
8
CINT Function
9
CLNG Function
10
CLS Statement
11
CONST Statement
12
COS Function
13
CSNG Function
14
CSRLIN Function
15
DATA Statement
16
DATE$ Function
17
DECLARE Statement (BASIC Procedures)
18
DEFtype Statements
19
DIM Statement
20
DO...LOOP Statement
21
END Statement
22
EXIT Statement
23
EXP Function
24
FIX Function
25
FOR...NEXT Statement
26
FUNCTION Statement
27
GOSUB...RETURN Statements
28
GOTO Statement
29
HEX$ Function
30
IF...THEN...ELSE Statement
31
INSTR Function
32
INT Function
33
LBOUND Function
34
LCASE$ Function
35
LEFT$ Function
36
LET Statement
37
LOG Function
38
LTRIM$ Function
39
MID$ Function
40
OCT$ Function
41
POS Function
42
PRINT Statement
43
READ Statement
44
REM Statement
45
RESTORE Statement
46
RETURN Statement
47
RIGHT$ Function
48
RTRIM$ Function
49
SELECT CASE Statement
50
SGN Function
51
SHARED Statement
52
SIN Function
53
SLEEP Statement
54
SPACE$ Function
55
SPC Function
56
SQR Function
57
STATIC Statement
58
STOP Statement
59
STR$ Function
60
STRING$ Function
61
SUB Statements
62
SWAP Statement
63
SYSTEM Statement
64
TAB Function
65
TAN Function
66
TIME$ Function
67
TIMER Function
68
TYPE Statement
69
UBOUND Function
70
UCASE$ Function
71
VAL Function
72
WHILE...WEND Statement
73
COLOR Statement
74
DEF FN Statement
75
INKEY$ Function
76
INPUT Statement
77
INPUT$ Function
78
LEN Function
79
LINE INPUT Statement
80
LOCATE Statement
81
PRINT USING Statement
82
RANDOMIZE Statement
83
RND Function
84
SCREEN Statement
85
BLOAD Statement
86
BSAVE Statement
87
CALL, CALLS Statement (Non-BASIC Procedures)
88
CHAIN Statement
89
CHDIR Statement
90
CIRCLE Statement
91
CLEAR Statement
92
CLOSE Statement
93
COMMAND$ Function
94
CVI, CVS, CVL, CVD Functions
95
DECLARE Statement (Non-BASIC Procedures)
96
DEF SEG Statement
97
DRAW Statement
98
ENVIRON$ Function
99
ENVIRON Statement
100
EOF Function
101
ERASE Statement
102
ERDEV, ERDEV$ Functions
103
ERR, ERL Functions
104
ERROR Statement
105
FIELD Statement
106
FILEATTR Function
107
FILES Statement
108
FRE Function
109
FREEFILE Function
110
GET Statement──Graphics
111
GET Statement──File I/O
112
INPUT # Statement
113
KEY Statements
114
KEY (n) Statements
115
KILL Statement
116
LINE Statement
117
LINE INPUT # Statement
118
LOC Function
119
LOCK...UNLOCK Statement
120
LOF Function
121
LSET Statement
122
MID$ Statement
123
MKDIR Statement
124
MKSMBF$, MKDMBF$ Functions
125
MKD$, MKI$, MKL$, MKS$ Functions
126
NAME Statement
127
ON event Statements
128
ON ERROR Statement
129
ON...GOSUB, ON...GOTO Statements
130
ON UEVENT GOSUB Statement
131
OPEN Statement
132
OPTION BASE Statement
133
PAINT Statement
134
PALETTE, PALETTE USING Statements
135
PCOPY Statement
136
PEEK Function
137
PLAY Statement
138
PLAY Function
139
PLAY ON, OFF, and STOP Statements
140
PMAP Function
141
POINT Function
142
POKE Statement
143
PRESET Statement
144
PRINT #, PRINT # USING Statements
145
PSET Statement
146
PUT Statement──Graphics
147
PUT Statement──File I/O
148
REDIM Statement
149
RESET Statement
150
RESUME Statement
151
RMDIR Statement
152
RSET Statement
153
RUN Statement
154
SADD Function
155
SCREEN Function
156
SEEK Function
157
SEEK Statement
158
SETMEM Function
159
SHELL Statement
160
SOUND Statement
161
TIMER ON, OFF, and STOP Statements
162
TRON/TROFF Statements
163
UEVENT Statement
164
UNLOCK Statement
165
Creating a User-Defined Event
166
VARPTR, VARSEG Functions
167
VARPTR$ Function
168
VIEW Statement
169
VIEW PRINT Statement
170
WIDTH Statement
171
WINDOW Statement
172
WRITE Statement
173
WRITE # Statement
174
CALL ABSOLUTE Statement
175
CALL INT86OLD Statements
176
CALL INTERRUPT Statements
177
COM Statements
178
COMMON Statement
179
CVSMBF, CVDMBF Functions
180
DATE$ Statement
181
INP Function
182
IOCTL$ Function
183
IOCTL Statement
184
LPOS Function
185
LPRINT, LPRINT USING Statements
186
OPEN COM Statement
187
OUT Statement
188
PEN Function
189
PEN ON, OFF, and STOP Statements
190
STICK Function
191
STRIG Function and Statement
192
STRIG ON, OFF, and STOP Statements
193
TIME$ Statement
194
WAIT Statement
Drag to adjust the number of frozen columns
Implemented
Returns the absolute value of a numeric expression
ABS(numeric-expression)
    The absolute value function returns the unsigned magnitude of its
    argument. For example, ABS(-1) and ABS(1) are both 1.

■ Example
Implemented
Returns a numeric value that is the ASCII code for the first character in a string expression
ASC(stringexpression)
    If stringexpression is null, ASC produces a run-time error message
    (Illegal function call).

■ See Also
Implemented
Returns the arctangent of a numeric expression (the angle whose tangent is equal to the numeric expression)
ATN(numeric-expression)
    The numeric-expression can be of any numeric type.

    The result is given in radians and is in the range -π/2 to π/2 radians,
    where π=3.141593. ATN is evaluated by default in single precision unless
Implemented
Sounds the speaker
BEEP
    The BEEP statement makes a sound through the loudspeaker. This statement
    makes the same sound as the following statement:

    PRINT CHR$(7)
Implemented
Transfers control to a BASIC SUB
CALL name«( argumentlist )»
name« argumentlist »
    The CALL statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Converts a numeric expression to a double-precision number
CDBL(numeric-expression)
    The numeric-expression may be any numeric expression. This function has
    the same effect as assigning the numeric expression to a double-precision
    variable.

Implemented
Returns a one-character string whose ASCII code is the argument
CHR$(code)
    CHR$ is commonly used to send a special character to the screen or
    printer. For example, you can send a form feed (CHR$(12)) to clear the
    screen and return the cursor to the home position.

Implemented
Converts a numeric expression to an integer by rounding the expression's fractional part
CINT(numeric-expression)
    If numeric-expression is not in the range -32,768 to 32,767, the function
    produces a run-time error message that reads Overflow.

    CINT differs from the FIX and INT functions, which truncate, rather than
Implemented
Converts a numeric expression to a long (4-byte) integer by rounding the fractional part of the expression
CLNG(numeric-expression)
    If numeric-expression is not in the range -2,147,483,648 to 2,147,483,647,
    the function produces an error message that reads Overflow.

■ Example
Implemented
Clears the screen
CLS «{0 | 1 | 2}»
    There are several ways to use the CLS statement, as described in the
    following list:

    Statement                Description
Implemented
Declares symbolic constants for use in place of numeric or string values
CONST constantname = expression «,constantname = expression»...
    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
    constantname             A name following the same rules as a BASIC
                            variable name. You may add to the name a
Implemented
Returns the cosine of an angle given in radians
COS(numeric-expression)
    The expression, numeric-expression, can be any numeric type.

    By default, the cosine is calculated in single precision. If
    numeric-expression is a double-precision value, the cosine is calculated
Implemented
Converts a numeric expression to a single-precision value
CSNG(numeric-expression)
    The CSNG function has the same effect as assigning the numeric-expression
    to a single-precision variable.

    CSNG rounds the value, if necessary, before converting it.
Implemented
Returns the current line (row) position of the cursor
CSRLIN
    To return the current column position, use the POS function.

■ See Also

Implemented
Stores the numeric and string constants used by a program's READ statements
DATA constant1 «,constant2»...
    The constant1, constant2, and so on in a DATA statement can be any valid
    numeric or string constant.

    Names of symbolic constants (defined in a CONST statement) appearing in
Implemented
Returns a string containing the current date
DATE$
    The DATE$ function returns a ten-character string in the form mm-dd-yyyy,
    where mm is the month (01-12), dd is the day (01-31), and yyyy is the year
    (1980-2099).

Implemented

Parsed but ignored

Declares references to BASIC procedures and invokes argument type checking
DECLARE {FUNCTION | SUB } name «(«parameterlist»)»
    The DECLARE statement uses the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Set the default data type for variables, DEF FN functions, and FUNCTION procedures
DEFINT letterrange «,letterrange»...
DEFSNG letterrange «,letterrange»...
DEFDBL letterrange «,letterrange»...
DEFLNG letterrange «,letterrange»...
    The letterrange has the form:

    letter1«-letter2»

Implemented
Declares a variable and allocates storage space
DIM «SHARED» variable«(subscripts)»«AS type»«,variable«(subscripts)»«AStype
    The following list describes the parts of the DIM statement:

    Part                     Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Repeats a block of statements while a condition is true or until a condition becomes true
DO «statementblock » LOOP «{WHILE | UNTIL} booleanexpression»
DO «{WHILE | UNTIL} booleanexpression» «statementblock » LOOP
    The following list describes the arguments of the DO...LOOP statement:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Ends a BASIC program, procedure, or block
END «{DEF | FUNCTION | IF | SELECT | SUB | TYPE}»
    There are several ways to use the END statement, as described in the
    following list:

    Statement                Description
Implemented
Exits a DEF FN function, DO...LOOP or FOR...NEXT loop, FUNCTION, or SUB
EXIT {DEF | DO | FOR | FUNCTION | SUB }
    There are several ways to use the EXIT statement as described in the
    following list:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
Implemented
Calculates the exponential function
EXP(x)
    The EXP function returns e (the base of natural logarithms) to the power
    of x. The exponent x must be less than or equal to 88.02969. A value of x
    greater than 88.02969 produces an Overflow error message.

Implemented
Returns the truncated integer part of x
FIX(x)
    The x is a numeric expression. FIX(x) is equivalent to SGN(x)*INT(ABS(x)).
    The difference between FIX and INT is that for negative x, FIX returns the
    first negative integer greater than x, while INT returns the first
    negative integer less than x.
Implemented
Repeats a group of instructions a specified number of times
FOR counter = start TO end «STEP increment»
.
.
.
    The FOR statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Declares the name, the parameters, and the code that form the body of a FUNCTION procedure
FUNCTION name «(parameterlist)»«STATIC»
.
.
.
    The following list describes the parts of the FUNCTION statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Implemented
Branches to, and returns from, a subroutine
GOSUB {linelabel1 | linenumber1 }
.
.
.
    The GOSUB...RETURN statements take the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Branches unconditionally to the specified line
GOTO {linelabel | linenumber}
    The GOTO statement provides a way to branch unconditionally to another
    line (linelabel or linenumber). A GOTO statement can branch only to
    another statement at the same level of a program. You cannot use GOTO to
    enter or exit a SUB, FUNCTION, or multiline DEF FN function. You can,
Implemented
Returns a string that represents the hexadecimal value of the decimal argument expression
HEX$(expression)
    The argument expression is rounded to an integer or, if the expression is
    outside the integer range, a long integer before the HEX$ function
    evaluates it.

Implemented
Allows conditional execution, based on the evaluation of a Boolean expression
IF booleanexpression THEN thenpart «ELSE elsepart»
IF booleanexpression1 THEN
«statementblock-1»
«ELSEIF booleanexpression2 THEN
    The single-line form of the statement is best used for short,
    straightforward tests where only one action is taken.

    The block form provides several advantages:
Implemented
Returns the character position of the first occurrence of a string in another string
INSTR(«start,»stringexpression1,stringexpression2)
    The following list describes the INSTR function arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Returns the largest integer less than or equal to numeric-expression
INT(numeric-expression)
    The INT function removes the fractional part of its argument.

■ See Also

Implemented
Returns the lower bound (smallest available subscript) for the indicated dimension of an array
LBOUND(array«,dimension»)
    The LBOUND function is used with the UBOUND function to determine the size
    of an array. LBOUND takes the following arguments:

    Argument                 Description
Implemented
Returns a string expression with all letters in lowercase
LCASE$ (stringexpression)
    The LCASE$ function takes a string variable, string constant, or string
    expression as its single argument. LCASE$ works with both variable- and
    fixed-length strings.

Implemented
Returns a string consisting of the leftmost n characters of a string
LEFT$(stringexpression,n)
    The argument stringexpression can be any string variable, any string
    constant, or any string expression.

    The argument n is a numeric expression in the range 0-32,767 indicating
Implemented
Assigns the value of an expression to a variable
«LET»variable=expression
    Notice that the word LET is optional. The equal sign in the statement is
    enough to inform QuickBASIC that the statement is an assignment statement.

    LET statements can be used with record variables only when both variables
Implemented
Returns the natural logarithm of a numeric expression
LOG(n)
    The numeric expression, n, must be greater than zero. The natural
    logarithm is the logarithm to the base e. The constant e is approximately
    equal to 2.718282.

Implemented
Returns a copy of a string with leading spaces removed
LTRIM$(stringexpression)
    The stringexpression can be any string expression.

■ See Also

Implemented
Returns a substring of a string
MID$(stringexpression,start«,length»)
    The MID$ function takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Returns a string representing the octal value of the numeric argument
OCT$(numeric-expression)
    The numeric-expression may be of any type. The numeric-expression is
    rounded to an integer or long integer before the OCT$ function evaluates
    it.

Implemented
Returns the current horizontal position of the cursor
POS(0)
    The leftmost cursor position is numbered 1. To return the current
    vertical-line position of the cursor, use the CSRLIN function.

■ See Also
Implemented
Outputs data on the screen
PRINT «expressionlist» «{, | ;}»
    If expressionlist is omitted, a blank line is printed. If expressionlist
    is included, the values of the expressions are printed on the screen. The
    expressions in the list may be numeric or string expressions. (String
    literals must be enclosed in quotation marks.)
Implemented
Reads values from a DATA statement and assigns the values to variables
READ variablelist
    A variablelist is a series of valid BASIC variables separated by commas.
    READ statements are always used with DATA statements. READ assigns DATA
    values to variables on a one-to-one basis. These variables may be numeric
    or string. Attempting to read a string value into a numeric variable
Implemented
Allows explanatory remarks to be inserted in a program
REM remark
' remark
    REM statements are not compiled, but they appear exactly as entered when
    the program is listed. You may branch from a GOTO or GOSUB statement to a
    REM statement. Execution continues with the first executable statement
    after the REM statement.
Implemented
Allows DATA statements to be reread from a specified line
RESTORE «{linenumber | linelabel }»
    After executing a RESTORE statement without a specified linenumber or
    linelabel, the next READ statement gets the first item in the first DATA
    statement in the program.

Implemented
Returns control from a subroutine
RETURN «{linenumber | linelabel }»
    Without a line label or number, RETURN continues execution where an event
    occurred (for event handling) or at the statement following the GOSUB (for
    subroutine calls). GOSUB and RETURN without a line number can be used
    anywhere in a program, but the GOSUB and corresponding RETURN must be at
Implemented
Returns the rightmost n characters of a string
RIGHT$(stringexpression,n)
    The argument stringexpression can be any string variable, string constant,
    or string expression. If n is equal to the number of characters in the
    argument stringexpression, then the RIGHT$ function returns
    stringexpression. If n = 0, RIGHT$ returns the null string (length zero).
Implemented
Returns a string with trailing (right-hand) spaces removed
RTRIM$(stringexpression)
    The stringexpression can be any string expression. The RTRIM$ function
    works with both fixed- and variable-length string variables.

■ See Also
Implemented
Executes one of several statement blocks depending on the value of an expression
SELECT CASE testexpression
CASE expressionlist1
«statementblock-1»
«CASE expressionlist2
    The following list describes the parts of the SELECT CASE statement:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Indicates the sign of a numeric expression
SGN(numeric-expression)
    The SGN function returns a value depending on the sign of its argument:

    If numeric-expression > 0, then SGN(numeric-expression) returns 1.

Implemented
Gives a SUB or FUNCTION procedure access to variables declared at the module level without passing them as parameters
SHARED variable «AS type» «, variable «AS type»»...
    The argument variable is either an array name followed by () or a variable
    name. The AS clause can be used to indicate the variable's type. The type
    argument can be INTEGER, LONG, SINGLE, DOUBLE, STRING, fixed-length string
    (STRING*length), or a user-defined type.
Implemented
Returns the sine of the angle x, where x is in radians
SIN(x)
    When x is a double-precision value, the SIN function is calculated with
    double-precision accuracy. When x is not double precision, SIN is
    calculated with single-precision accuracy.

Implemented
Suspends execution of the calling program
SLEEP  « seconds »
    The optional argument seconds determines the number of seconds the program
    is suspended. The SLEEP statement suspends the program until one of the
    following events occurs:

Implemented
Returns a string of spaces of length n
SPACE$(n)
    The expression n is rounded to an integer and must be in the range
    0-32,767.

■ See Also
Implemented
Skips n spaces in a PRINT statement
SPC(n)
    SPC may only be used with PRINT and LPRINT statements. The argument n must
    be in the range 0-32,767. A semicolon (;) is assumed to follow the SPC(n)
    command.

Implemented
Returns the square root of n
SQR(n)
    The argument n must be >= 0.

■ Example

Implemented
Makes simple variables or arrays local to either a DEF FN function, a FUNCTION, or a SUB and preserves values between calls
STATIC variablelist
    A STATIC statement variablelist has the following syntax:

    variable«( )»«AS type» «, variable«( )»«AS type»»...

Implemented
Terminates the program
STOP
    STOP statements can be used anywhere in a program to terminate execution.

    When running in the QuickBASIC environment, the STOP statement leaves
    files open and does not exit to the operating system. In contrast, a STOP
Implemented
Returns a string representation of the value of a numeric expression
STR$(numeric-expression)
    If numeric-expression is positive, the string returned by the STR$
    function contains a leading blank. The VAL function complements STR$.

■ See Also
Implemented
Returns a string whose characters all have a given ASCII code or whose characters are all the first character of a string expression
STRING$(m,n)
STRING$(m,stringexpression)
    The STRING$ function has the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Marks the beginning and end of a subprogram
SUB globalname«(parameterlist)» «STATIC»
.
.
.
    The SUB statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Exchanges the values of two variables
SWAP variable1,variable2
    Any type of variable can be swapped (integer, long, single precision,
    double precision, string, or record). However, the two variables must be
    exactly the same type or an error message appears (Type mismatch). For
    example, trying to swap an integer with a single-precision value produces
Implemented
Closes all open files and returns control to the operating system
SYSTEM
    When a SYSTEM command is executed, all files are closed and BASIC exits to
    the operating system (for stand-alone executable programs) or stops
    program execution (if the program is run in the QuickBASIC environment).
Implemented
Moves the print position
TAB(column)
    The argument, column, is a numeric expression that is the column number of
    the new print position. If the current print position is already beyond
    column, the TAB function moves the print position to that column on the
    next line. Column 1 is the leftmost position, and the rightmost position
Implemented
Returns the tangent of the angle x, where x is in radians
TAN(x)
    TAN is calculated with single-precision accuracy unless x is a
    double-precision value, in which case TAN is calculated with
    double-precision accuracy.

Implemented
Returns the current time from the operating system
TIME$
    The TIME$ function returns an eight-character string in the pattern
    hh:mm:ss, where hh is the hour (00-23), mm is minutes (00-59), and ss is
    seconds (00-59). A 24-hour clock is used; therefore, 8:00 PM is shown as
    20:00:00.
Implemented
Returns the number of seconds elapsed since midnight
TIMER
    The TIMER function can be used with the RANDOMIZE statement to generate a
    random number. It can also be used to time programs or parts of programs.

■ Example
Implemented
Defines a data type containing one or more elements
TYPE usertype
elementname AS typename
elementname AS typename
.
    The TYPE statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Implemented
Returns the upper bound (largest available subscript) for the indicated dimension of an array
UBOUND(array«,dimension»)
    The argument dimension is an integer from 1 to the number of dimensions in
    array. For an array dimensioned as follows, UBOUND returns the values
    listed below:

Implemented
Returns a string expression with all letters in uppercase
UCASE$ (stringexpression)
    The stringexpression argument can be any string expression. The UCASE$
    function works with both variable- and fixed-length strings. The UCASE$
    and LCASE$ statements are helpful in making string comparisons case
    insensitive.
Implemented
Returns the numeric value of a string of digits
VAL(stringexpression)
    The stringexpression is a sequence of characters that can be interpreted
    as a numeric value. The VAL function stops reading the string at the first
    character that it cannot recognize as part of a number. The VAL function
    also strips leading blanks, tabs, and line feeds from the argument string.
Implemented
Executes a series of statements in a loop, as long as a given condition is true
WHILE condition
.
.
.
    If the condition is true (that is, if it does not equal zero), then any
    intervening statements are executed until the WEND statement is
    encountered. BASIC then returns to the WHILE statement and checks
    condition. If it is still true, the process is repeated. If it is not true
Partially implemented

Only supports COLOR FG, BG

Selects display colors
COLOR «foreground»«,«background»«,border»»         Screen mode 0
COLOR «background»«,palette»                       Screen mode 1
COLOR «foreground»«,background»                    Screen modes 7-10
COLOR «foreground»                                 Screen modes 12-13
    With the COLOR statement, you can set the foreground and background colors
    for the display. In screen mode 0 a border color can also be selected. In
    screen mode 1 no foreground color can be selected, but one of two
    four-color palettes can be selected for use with graphics statements. In
Partially implemented

Only single line syntax supported

Defines and names a function
DEF FNname«(parameterlist)» = expression
DEF FNname«(parameterlist)»
.
.
    The DEF FN statement takes the following arguments:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Argument                 Description
Partially implemented

Partial support for keycodes

Reads a character from the keyboard
INKEY$
    The INKEY$ function returns a one- or two-byte string containing a
    character read from the standard input device. A null string is returned
    if no character is waiting there. A one-character string contains the
    actual character read from the keyboard, while a two-character string
Partially implemented

Semicolon before prompt string not supported

Allows input from the keyboard during program execution
INPUT«;»«"promptstring"{; | ,}» variablelist
    The following list describes the parts of the INPUT statement:

    Part                     Description
    ──────────────────────────────────────────────────────────────────────────
Partially implemented

Files not supported


Returns a string of characters read from the specified file
INPUT$(n«,«#»filenumber»)
    The n is the number of characters (bytes) to read from the file. The
    filenumber is the number that was used in opening the file.

    If the file is opened for random access, the argument n must be less than
Partially implemented

Only supports strings and arrays

Returns the number of characters in a string or the number of bytes required by a variable
LEN(stringexpression)
LEN(variable)
    In the first form, LEN returns the number of characters in the argument
    stringexpression. The second syntax returns the number of bytes required
    by a BASIC variable. This syntax is particularly useful for determining
    the correct record size of a random-access file.
Partially implemented

Semicolon before prompt string not supported


Inputs an entire line (up to 255 characters) to a string variable, without the use of delimiters
LINE INPUT«;» «"promptstring";» stringvariable
    The promptstring is a string constant displayed on the screen before input
    is accepted. A question mark is not printed unless it is part of the
    promptstring. All input from the end of promptstring to the carriage
    return is assigned to stringvariable.
Partially implemented

"start" and "stop" not supported


Moves the cursor to the specified position
LOCATE«row»«,«column»«,«cursor»«,«start»«,stop»»»»
    The following list describes the LOCATE statement's arguments:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Argument                 Description
Partially implemented

Only # and & formatting supported


Prints strings or numbers using a specified format
PRINT USING formatstring; expressionlist «{, | ;}»
    The formatstring is a string literal (or variable) containing literal
    characters to print (such as labels) and special formatting characters.
    These formatting characters determine the field and the format of the
    printed strings or numbers. Spaces, commas, and semicolons in the
Partially implemented

Ignored - RND always returns randomly seeded number

Initializes (reseeds) the random-number generator
RANDOMIZE«expression»
    If you omit expression, BASIC pauses and asks for a value by printing

    Random Number Seed (-32768 to 32767)?

Partially implemented

Always returns randomly seeded number

Returns a single-precision random number between 0 and 1
RND«(n)»
    The value of n determines how RND generates the next random number:

    Argument                 Number Returned
    ──────────────────────────────────────────────────────────────────────────
Partially implemented

Only screen mode 0 supported

Sets the specifications for the display screen
SCREEN «mode» «,«colorswitch»
»«,«apage» »«,«vpage»»
    The SCREEN statement selects a screen mode appropriate for a particular
    combination of display and adapter. Later sections describe the available
    modes for specific adapters. The following list describes the arguments of
    the SCREEN statement:
Not implemented
Loads a memory-image file, created by BSAVE, into memory from an input file or device
BLOAD filespec «,offset»
    The BLOAD statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Transfers the contents of an area of memory to an output file or device
BSAVE filespec,offset,length
    The BSAVE statement has the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Transfers control to a procedure written in another language
CALL name «(call-argumentlist)»
name «call-argumentlist»
CALLS name «(calls-argumentlist)»
    The following list describes the parts of the CALL statement:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Transfers control from the current program to another program
CHAIN filespec
    The filespec is a string expression that identifies the program to which
    control is passed. The filespec may include a path specification. Programs
    running within the QuickBASIC environment assume a .BAS extension (if no
    extension is given) and cannot chain to executable files (files with a
Not implemented
Changes the current default directory for the specified drive
CHDIR pathspec
    The pathspec is a string expression identifying the directory that is to
    become the default directory. The pathspec must have fewer than 64
    characters. It has the following syntax:

Not implemented
Draws an ellipse or circle with a specified center and radius
CIRCLE «STEP» (x,y),radius«,«color»«,«start»«,«end»«,aspect»»»»
    The following list describes the parts of the CIRCLE statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Reinitializes all program variables, closes files, and sets the stack size
CLEAR «,,stack»
    The CLEAR statement performs the following actions:

    ■ Closes all files and releases the file buffers

Not implemented
Concludes I/O to a file or device
CLOSE ««#» filenumber «,«#» filenumber»...»
    The CLOSE statement complements the OPEN statement.

    The filenumber is the number under which the file was opened. A CLOSE
    statement with no arguments closes all open files and devices.
Not implemented
Returns the command line used to invoke the program
COMMAND$
    The COMMAND$ function returns the complete command line entered after your
    BASIC program name, including optional parameters. COMMAND$ removes all
    leading blanks from the command line and converts all letters to uppercase
    (capital letters). The COMMAND$ function can be used in stand-alone
Not implemented
Converts strings containing numeric values to numbers
CVI(2-byte-string)
CVS(4-byte-string)
CVL(4-byte-string)
CVD(8-byte-string)
    CVI, CVS, CVL, and CVD are used with a FIELD statement to read real
    numbers from a random-access file. The functions take strings defined in
    the FIELD statement and convert them to a value of the corresponding
    numeric type. The functions are the inverse of MKI$, MKS$, MKL$, and MKD$:
Not implemented
Declares calling sequences for external procedures written in other languages
DECLARE FUNCTION name «CDECL» «ALIAS "aliasname"»«(«parameterlist»)»
DECLARE SUB name «CDECL» «ALIAS "aliasname"»«(«parameterlist»)»
    The following list describes the parts of the DECLARE statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Sets the current segment address for a subsequent PEEK function or a BLOAD, BSAVE, CALL ABSOLUTE, or POKE statement
DEF SEG «=address»
    For BLOAD, BSAVE, CALL ABSOLUTE, PEEK, and POKE, address is used as the
    segment. The address is a numeric expression returning an unsigned integer
    in the range 0-65,535. A value outside this range produces the error
    message Illegal function call. The previous segment is retained if an
Not implemented
Draws an object defined by stringexpression
DRAW stringexpression
    The DRAW statement combines many of the capabilities of the other graphics
    statements into a graphics macro language, as described below under
    "Cursor-Movement Commands" and "Angle, Color, and Scale-Factor Commands."
    This macro language defines a set of characteristics that can be used to
Not implemented
Retrieves an environment string from the DOS environment-string table
ENVIRON$ (environmentstring)
ENVIRON$ (n)
    The environmentstring is a string constant or variable containing the name
    of an environment variable. The argument n is a numeric expression.

    If you specify an environmentstring name, but it cannot be found in the
Not implemented
Modifies a parameter in the DOS environment-string table
ENVIRON stringexpression
    The stringexpression must be of the form parameterid=text, or the form
    parameterid text. Everything to the left of the equal sign or space is
    assumed to be a parameter, and everything to the right, text.

Not implemented
Tests for the end-of-file condition
EOF(filenumber)
    The EOF function returns -1 (true) if the end of a sequential file has
    been reached. Use the EOF function to test for end-of-file while inputting
    data. In this way you may avoid the Input past end error message.

Not implemented
Reinitializes the elements of static arrays; deallocates dynamic arrays
ERASE arrayname «,arrayname...»
    The arrayname arguments are the names of arrays to erase. ERASE has
    different effects on static and dynamic arrays.

    The ERASE statement sets the elements of a static array to zeros in the
Not implemented
Provides device-specific status information after an error
ERDEV
ERDEV$
    ERDEV is an integer function that returns an error code from the last
    device to declare an error. ERDEV$ is a string function that returns the
    name of the device generating the error. Because ERDEV and ERDEV$ return
    meaningful information only after an error, they are usually used in error
Not implemented
Return error status
ERR
ERL
    After an error, the function ERR returns the code for the error, and the
    ERL function returns the line number where the error occurred. Because ERR
    and ERL return meaningful values only after an error, they are usually
    used in error-handling routines to determine the error and the corrective
Not implemented
Simulates the occurrence of a BASIC error or allows the user to define error codes
ERROR integerexpression
    The integerexpression represents the error code. It must be greater than 0
    and less than or equal to 255. If the integerexpression is an error code
    already used by BASIC, then the ERROR statement simulates the occurrence
    of that error and prints the corresponding error message.
Not implemented
Allocates space for variables in a random-access file buffer
FIELD «#»filenumber, fieldwidth AS stringvariable...
    The following list describes the FIELD statement's arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Returns information about an open file
FILEATTR(filenumber,attribute)
    The FILEATTR function takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Prints the names of files residing on the specified disk
FILES «filespec»
    The filespec is a string variable or constant that includes either a file
    name or a path name, and an optional device designation.

    If you omit filespec, the FILES statement lists all the files in the
Not implemented
Returns the amount of available memory
FRE(numeric-expression)
FRE(stringexpression)
    The FRE function returns the following values when it has a numeric
    argument (numeric-expression):

    Argument                 Value Returned
Not implemented
Returns the next free BASIC file number
FREEFILE
    The FREEFILE function returns the next valid unused file number.

    You can use this function to avoid having SUB or FUNCTION procedures use
    file numbers that are already in use.
Not implemented
Stores graphic images from the screen
GET «STEP»(x1,y1) - «STEP»(x2,y2),arrayname«(indices)»
    The list below describes the parts of the GET statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Reads from a disk file into a random-access buffer or variable
GET «#»filenumber«,«recordnumber»«,variable»»
    The following list describes the GET statement's arguments:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Argument                 Description
Not implemented
Reads data items from a sequential device or file and assigns them to variables
INPUT #filenumber, variablelist
    The filenumber is the number used when the file was opened for input. The
    variablelist contains the names of the variables that are assigned values
    read from the file. (The variable type must match the type specified by
    the variable name.)
Not implemented
Assign soft-key string values to FUNCTION keys, then display the values and enable or disable the FUNCTION key display line
KEY n, stringexpression
KEY LIST
KEY ON
KEY OFF
    The placeholder n is a number representing the FUNCTION key. The values
    for n are 1 to 10 for the FUNCTION keys, and 30 and 31 for FUNCTION keys
    F11 and F12 on 101-key keyboards. The stringexpression is a string of up
    to 15 characters that is returned when the FUNCTION key is pressed. If the
Not implemented
Start or stop trapping of specified keys
KEY(n) ON
KEY(n) OFF
KEY(n) STOP
    The argument n is the number of a FUNCTION key, a cursor-direction key, or
    a user-defined key. (See the KEY statement for information on assigning
    soft-key values to FUNCTION keys.) The values of n are as follows:

Not implemented
Deletes a file from disk
KILL filespec
    The KILL statement is similar to the DOS ERASE or DEL commands.

    KILL is used for all types of disk files: program files, random data
    files, and sequential data files. The filespec may contain question marks
Not implemented
Draws a line or box on the screen
LINE ««STEP» (x1,y1)»-«STEP» (x2,y2) «,«color»«,«B«F»»«,style»»»
    The coordinates (x1,y1) and (x2,y2) specify the endpoints of the line;
    note that the order in which these endpoints appear is unimportant, since
    a line from (10,20) to (120,130) is the same as a line from (120,130) to
    (10,20).
Not implemented
Reads an entire line without delimiters from a sequential file to a string variable
LINE INPUT #filenumber,stringvariable
    The filenumber is the number used to open the file. The stringvariable is
    the variable the line is assigned to.

    The LINE INPUT # statement reads all characters in the sequential file up
Not implemented
Returns the current position within the file
LOC(filenumber)
    The filenumber is the number used in the OPEN statement to open the file.
    With random-access files, the LOC function returns the number of the last
    record read from or written to the file. With sequential files, LOC
    returns the current byte position in the file, divided by 128. With binary
Not implemented
Controls access by other processes to all or part of an opened file
LOCK «#» filenumber «,{record | «start» TO end}»
.
.
.
    These statements are used in networked environments where several
    processes might need access to the same file. The LOCK and UNLOCK
    statements take the following arguments:

Not implemented
Returns the length of the named file in bytes
LOF(filenumber)
    The argument filenumber is the number used in the OPEN statement. When a
    file is opened in any mode, the LOF function returns the size of the file
    in bytes.

Not implemented
Moves data from memory to a random-access file buffer (in preparation for a PUT statement), copies one record variable to another, or left-justifies the value of a string in a string variable
LSET {stringvariable=stringexpression | stringexpression1=
stringexpression2}
    The stringvariable is usually a random-access file field defined in a
    FIELD statement, although it can be any string variable. The
    stringexpression is the value assigned to the variable.

Not implemented
Replaces a portion of a string variable with another string
MID$(stringvariable,start«,length»)=stringexpression
    The MID$ statement has the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Creates a new directory
MKDIR pathname
    The pathname is a string expression specifying the name of the directory
    to be created. The pathname must be a string of less than 128 characters.

    The MKDIR statement works like the DOS command MKDIR; the syntax in BASIC
Not implemented
Converts an IEEE-format number to a string containing a Microsoft Binary format number.
MKSMBF$(single-precision-expression)
MKDMBF$(double-precision-expression)
    These functions are used to write real numbers to random-access files
    using Microsoft Binary format. They are particularly useful for
    maintaining data files created with older versions of BASIC.

Not implemented
Converts numeric values to string values
MKI$(integerexpression)
MKS$(single-precision-expression)
MKL$(long-integer-expression)
MKD$(double-precision-expression)
    The MKI$, MKS$, MKL$, and MKD$ functions are used with FIELD and PUT
    statements to write real numbers to a random-access file. The functions
    take numeric expressions and convert them to strings that can be stored in
    the strings defined in the FIELD statement. The functions are the inverse
Not implemented
Changes the name of a disk file or directory
NAME oldfilename AS newfilename
    The NAME statement is similar to the DOS RENAME command. NAME can move a
    file from one directory to another but cannot move a directory.

    The arguments oldfilename and newfilename are string expressions each of
Not implemented
Indicates the first line of an event-trapping subroutine
ON event GOSUB {linenumber | linelabel }
    The ON event statement lets you specify a subroutine that is executed
    whenever an event occurs on a specified device. The following list
    describes the parts of the statement:

Not implemented
Enables error handling and specifies the first line of the error-handling routine
ON ERROR GOTO line
    The line argument is the line number or line label of the first line in
    the error-handling routine. This line must appear in module-level code.

    If line cannot be found in the module where the error occurred, or if
Not implemented
Branches to one of several specified lines, depending on the value of an expression
ON expression GOSUB {line-number-list | line-label-list }
ON expression GOTO {line-number-list | line-label-list }
    The expression argument can be any numeric expression (expression is
    rounded to an integer before the ON...GOSUB or ON...GOTO is evaluated).
    The line-number-list or line-label-list consists of a list of line numbers
    or line labels, separated by commas. The value of expression determines
Not implemented
Defines the event-handler for a user-defined event
ON UEVENT GOSUB { linenumber | linelabel }
    The linenumber or linelabel argument is the number or label of the first
    line in the event-handling routine. ON UEVENT GOSUB lets your program
    branch to an event-handling routine when a user-defined event occurs. The
    event is usually a hardware interrupt.
Not implemented
Enables I/O to a file or device
OPEN file «FOR mode1» «ACCESS access» «lock» AS
«#» filenum «LEN=reclen»
OPEN  mode2,«#»filenum, file «,reclen»
    The file is a string expression that specifies an optional device,
    followed by a file name or path name conforming to the DOS file-naming
    conventions.

Not implemented
Declares the default lower bound for array subscripts
OPTION BASE n
    The OPTION BASE statement is never required. It is used to change the
    default lower bound for array subscripts.

    The value of n must be either 0 or 1. The default base is 0. If the
Not implemented
Fills a graphics area with the color or pattern specified
PAINT «STEP» (x,y)«,«paint» «,«bordercolor» «,background»»»
    The following list describes the parts of the PAINT statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Changes one or more of the colors in the palette
PALETTE «attribute,color»
PALETTE USING array-name «(array-index)»
    The PALETTE statement takes the following arguments:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Argument                 Description
Not implemented
Copies one screen page to another
PCOPY sourcepage, destinationpage
    The sourcepage is an integer expression in the range 0 to n, where n is
    the maximum number of pages determined by the current video-memory size
    and the size per page for the current screen mode.

Not implemented
Returns the byte stored at a specified memory location
PEEK(address)
    The returned value is an integer in the range 0-255. The argument address
    is a value in the range 0-65,535. The argument address is treated as the
    offset from the current default segment (as set by the DEF SEG statement).

Not implemented
Plays music as specified by a string
PLAY commandstring
    The commandstring is a string expression containing one or more of the
    commands listed below.

    The PLAY statement uses a concept similar to DRAW in that it embeds a
Not implemented
Returns the number of notes currently in the background-music queue
PLAY (n)
    The argument n is a dummy argument and may be any numeric value.

    PLAY(n) will return 0 when the user is in music-foreground mode.

Not implemented
PLAY ON enables play event trapping, PLAY OFF disables play event trapping, and PLAY STOP suspends play event trapping.
PLAY ON
PLAY OFF
PLAY STOP
    These statements are used with the ON PLAY statement to trap play events.
    When a PLAY OFF statement is executed, the event-trapping subroutine is
    not performed and the event is not remembered.

Not implemented
Maps view-coordinate expressions to physical locations or maps physical expressions to a view-coordinate location
PMAP (expression, function)
    The argument expression indicates the coordinate of the point to be
    mapped. The argument function can have one of the four following values:

    Value                    Description
Not implemented
Reads the color number of a pixel from the screen or returns the pixel's coordinates
POINT (x,y)
POINT (number)
    The coordinates x and y refer to the pixel being evaluated by the POINT
    function. When called with two coordinates, POINT returns the color number
    of the indicated pixel. If the specified pixel is out of range, POINT
    returns the value -1.
Not implemented
Writes a byte into a memory location
POKE address,byte
    The expression address is a value that represents the address of the
    memory location; address must be in the range 0-65,535. The expression
    byte is the data byte to be written; it is an integer value in the range
    0-255.
Not implemented
Draws a specified point on the screen
PRESET «STEP»(xcoordinate,ycoordinate) «,color»
    PRESET works exactly like PSET, except that if the color is not specified,
    the background color is selected. The following list describes the parts
    of the PRESET statement:

Not implemented
Writes data to a sequential file
PRINT #filenumber,«USING stringexpression;» expressionlist «{, | ;}»
    The filenumber is the number specified when the file was opened for
    output. The stringexpression consists of formatting characters as
    described under PRINT USING. The expressions in expressionlist are the
    numeric or string expressions to be written to the file. Spaces, commas,
Not implemented
Draws a point on the screen
PSET «STEP»(xcoordinate,ycoordinate) «,color»
    The following list describes the parts of the PSET statement:

    Part                     Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Places a graphic image obtained by a GET statement onto the screen
PUT «STEP» (x, y), arrayname«(indices)» «,actionverb»
    The parts of the PUT statement are described as follows:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Writes from a variable or a random-access buffer to a file
PUT «#»filenumber«,«recordnumber»«,variable»»
PUT «#»filenumber«,{recordnumber|recordnumber, variable|,variable}»
    The following list describes the parts of the PUT statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Argument                 Description
Not implemented
Changes the space allocated to an array that has been declared ¢DYNAMIC
REDIM «SHARED» variable(subscripts)«AS type» «,variable(subscripts)«AS typ
e»»...
    The REDIM statement has the following arguments:

    Arguments                Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Closes all disk files
RESET
    The RESET statement closes all open disk files and writes data still in
    the file buffers to disk. All files must be closed before a disk is
    removed from its drive.

Not implemented
Continues program execution after an error-trapping routine has been invoked
RESUME «0»
RESUME NEXT
RESUME  { linenumber | linelabel }
    The different forms of the RESUME statement redirect program flow as
    described in the following list:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
Not implemented
Removes an existing directory
RMDIR pathname
    The pathname is the name of the directory that is to be deleted. The
    pathname must be a string of less than 128 characters. The directory to be
    removed must be empty except for the working directory ('.') and the
    parent directory ('..'); otherwise, one of two error messages is printed,
Not implemented
Moves data from memory to a random-access file buffer (in preparation for a PUT statement) or right-justifies the value of a string in a string variable
RSET stringvariable=stringexpression
    The stringvariable is usually a random-access file field defined in a
    FIELD statement, although it can be any string variable. The
    stringexpression is the value assigned to the variable.

Not implemented
Restarts the program currently in memory or executes a specified program
RUN «{ linenumber | filespec }»
    The RUN statement accepts the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Returns the address of the specified string expression
SADD(stringvariable)
    The SADD function returns the address of a string as an offset (near
    pointer) from the current data segment. The offset is a two-byte integer.
    SADD is most often used in mixed-language programming.

Not implemented
Reads a character's ASCII value or its color from a specified screen location
SCREEN(row,column«,colorflag»)
    The following list describes the SCREEN function's arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not implemented
Returns the current file position
SEEK(filenumber)
    The filenumber is the number used in the OPEN statement to open the file.
    SEEK returns a value in the range 1 to 2,147,483,647 (equivalent to
    2^31-1).

Not implemented
Sets the position in a file for the next read or write
SEEK «#»filenumber,position
    The filenumber is an integer number used in the OPEN statement to open the
    file.

    The position is a numeric expression indicating where the next read or
Not implemented
Changes the amount of memory used by the far heap──the area where far objects and internal tables are stored
SETMEM(numeric-expression)
    The SETMEM function increases or decreases the far heap by the number of
    bytes indicated by numeric-expression. If the numeric-expression is
    negative, SETMEM decreases the far heap by the indicated number of bytes.
    When the numeric-expression is positive, SETMEM attempts to increase the
Not implemented
Exits the BASIC program, runs a .COM, .EXE, or .BAT program or a DOS command, and returns to the program at the line following the SHELL statement
SHELL «commandstring»
    The commandstring must be a valid string expression containing the name of
    a program to run and any program options.

    Any .COM file, .EXE file, .BAT program, or DOS function that runs under
Not implemented
Generates sound through the speaker
SOUND frequency,duration
    The frequency is the desired frequency in hertz (cycles/second). It must
    be a numeric expression returning an integer in the range 37-32,767.

    The duration is the duration in clock ticks. (There are 18.2 clock ticks
Not implemented
Enables, disables, or inhibits timer event trapping
TIMER ON
TIMER OFF
TIMER STOP
    TIMER ON enables timer event trapping by an ON TIMER statement (see the
    statement ON event). While trapping is enabled, a check is made after
    every statement to see if the specified time has elapsed. If it has, the
    ON TIMER event-handling routine is executed.
Not implemented
Traces the execution of program statements
TRON
TROFF
    In the QuickBASIC environment, executing a TRON statement has the same
    effect as selecting Trace On from the Debug menu──each statement is
    highlighted on the screen as it executes.

Not implemented
Enables, disables, or suspends event trapping for a user-defined event
UEVENT ON
UEVENT OFF
UEVENT STOP
    The effects of the UEVENT statements are like that of other event-trapping
    statements. When UEVENT ON is executed, the event-trapping routine is
    enabled. Occurrences of the event trigger execution of the event-handling
    routine.
Not implemented
Releases locks applied to parts of a file
UNLOCK «#» filenumber «,{record | «start» TO end}»
    The UNLOCK statement is used only after a LOCK statement. See the LOCK
    statement for a complete discussion.

    For binary-mode files, the arguments record, start, and end represent the
Not implemented
In previous versions of QuickBASIC, the only events that could be trapped
    were those already defined in the language: COM, KEY, PEN, PLAY, STRIG and
    TIMER. There was no way to define your own event.

Not implemented
Returns the address of a variable
VARPTR(variablename)
VARSEG(variablename)
    The variablename may be any BASIC variable, including a record variable or
    record element. The VARPTR function returns an unsigned integer that is
    the offset of the variable within its segment. The VARSEG function returns
    an unsigned integer that is the segment part of the variable's address. If
Not implemented
Returns a string representation of a variable's address as needed for use in DRAW and PLAY statements
VARPTR$(variablename)
    The variablename is the name of a variable in the program. If variablename
    is an array element, then the array must be dimensioned before the VARPTR$
    function is used. The array must be an array of variable-length strings.
Not implemented
Defines screen limits for graphics output
VIEW ««SCREEN» (x1,y1)-(x2,y2) «,«color» «,border»»»
    The list below describes the parts of the VIEW statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not implemented
Sets the boundaries of the screen text viewport
VIEW PRINT «topline TO bottomline»
    The topline argument is the number of the upper line in the viewport; the
    bottomline is the number of the lower line.

    Without topline and bottomline parameters, the VIEW PRINT statement
Not implemented
Assigns an output-line width to a file or device or changes the number of columns and lines displayed on the screen
WIDTH «columns»«,lines»
WIDTH {#filenumber | device},width
WIDTH LPRINT width
    Both files and devices can be assigned an output-line width. The different
    forms of the WIDTH statement are explained in the following list:

╓┌─┌────────────────────────────────────┌────────────────────────────────────╖
Not implemented
Defines the dimensions of the current viewport
WINDOW ««SCREEN» (x1,y1)-(x2,y2)»
    The WINDOW statement allows the user to create a customized coordinate
    system to draw lines, graphs, or objects without being constrained by the
    screen's physical coordinates (the dimensions of the screen). This is done
    by redefining the screen-border coordinates with the "view coordinates"
Not implemented
Sends data to the screen
WRITE «expressionlist»
    If expressionlist is omitted, a blank line is written. If expressionlist
    is included, the values of the expressions are written to the screen. The
    expressions in the list may be numeric and/or string expressions. They
    must be separated by commas.
Not implemented
Writes data to a sequential file
WRITE #filenumber,expressionlist
    The filenumber is the number used in the OPEN statement. The file must be
    opened in OUTPUT or APPEND mode. The expressions in the argument
    expressionlist are string and/or numeric expressions, separated by commas.
    If you omit the expressionlist, the WRITE # statement writes a blank line
Not feasible
Transfers control to a machine-language procedure
CALL ABSOLUTE («argumentlist,»integervariable)
    The CALL ABSOLUTE statement takes the following arguments:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not feasible
Allows programs to perform DOS system calls
CALL INT86OLD (int_no,in_array(),out_array())
CALL INT86XOLD (int_no,in_array(),out_array())
    The CALL INTERRUPT statement provides an easier way to make DOS system
    calls. See the entry for CALL INTERRUPT for more information. The
    following list describes the arguments to INT86OLD and INT86XOLD:

Not feasible
Allows BASIC programs to perform DOS system calls
CALL INTERRUPT (interruptnum,inregs,outregs)
CALL INTERRUPTX (interruptnum,inregs,outregs)
    The following list describes the arguments for the CALL INTERRUPT and CALL
    INTERRUPTX statements:

    Argument                 Description
Not feasible
Enables, disables, or inhibits event trapping of communications activity on a specified port
COM(n) ON
COM(n) OFF
COM(n) STOP
    The parameter n is the number of the communications port; n can be either
    1 or 2.

    The COM ON statement enables communications event trapping. If a character
Not feasible
Defines global variables for sharing between modules or for chaining to another program
COMMON «SHARED»  «/blockname/» variablelist
    The following list describes the parts of the COMMON statement:

╓┌─┌────────────────────────┌────────────────────────────────────────────────╖
    Part                     Description
Not feasible
Converts strings containing Microsoft Binary format numbers to IEEE-format numbers
CVSMBF (4-byte-string)
CVDMBF (8-byte-string)
    The CVSMBF and CVDMBF functions allow you to read old random-access files
    containing real numbers stored as strings in Microsoft Binary format.
    These functions convert the string read from the old file to an
    IEEE-format number:
Not feasible
Sets the current date
DATE$ = stringexpression
    The DATE$ statement is the complement of the DATE$ function.

    The stringexpression must have one of the following forms, where mm
    (01-12) and dd (01-31) are the month and day, and yy and yyyy (1980-2099)
Not feasible
Returns the byte read from an I/O port
INP(port)
    The port must be an integer in the range 0-65,535. The INP function
    complements the OUT statement.

    The INP and OUT statements give a BASIC program direct control over the
Not feasible
Receives a control data string from a device driver
IOCTL$ («#» filenumber)
    The filenumber is the BASIC file number used to open the device. The
    IOCTL$ function is most frequently used to test whether an IOCTL statement
    succeeded or failed or to obtain current status information.

Not feasible
Transmits a control data string to a device driver
IOCTL «#»filenumber, string
    The filenumber is the BASIC file number used to open the device. The
    string is the command sent to the device. Commands are specific to the
    device driver. See the documentation for the device driver to find out
    what the valid IOCTL commands are. An IOCTL control data string can be up
Not feasible
Returns the current position of the line printer's print head within the printer buffer
LPOS(n)
    The argument n is the index of the printer being tested. For example,
    LPT1: would be tested with LPOS(1), while LPT2: would be tested with
    LPOS(2), and so on.

Not feasible
Prints data on the printer LPT1:
LPRINT «expressionlist» «{;|,}»
LPRINT USING formatstring; expressionlist «{;|,}»
    These statements function in the same way as the PRINT and PRINT USING
    statements except that output goes to the line printer and the filenumber
    option is not permitted.

Not feasible
Opens and initializes a communications channel for I/O
OPEN "COMn: optlist1 optlist2" «FOR mode» AS «#»filenum «LEN=reclen»
    COMn: is the name of the device to be opened. The n argument is the number
    of a legal communications device, such as COM1: or COM2:. The first list
    of options, optlist1, has the following form:

Not feasible
Sends a byte to a machine I/O port
OUT port, data
    The following list describes the arguments of the OUT statement:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────
Not feasible
Reads the lightpen coordinates
PEN(n)
    The argument n indicates what value is to be returned. It is a numeric
    expression in the range 0-9.
Not feasible
Enables, disables, or suspends lightpen-event trapping
PEN ON
PEN OFF
PEN STOP
    The PEN ON statement enables lightpen-event trapping by using an ON PEN
    statement. The pen is initially off. A lightpen event occurs whenever the
    lightpen is activated by pressing the tip to the screen or pressing the
    touch ring. A PEN ON statement must be executed before any read-pen
Not feasible
Returns the x- and y-coordinates of the two joysticks
STICK(n)
    The argument n is a numeric expression whose value is an unsigned integer
    in the range 0 to 3:

    Argument                 Value Returned
Not feasible
Returns the status of a specified joystick trigger
STRIG(n)
STRIG {ON | OFF}
    The STRIG function is used to test the joystick trigger status. In
    previous versions of BASIC, the statement STRIG ON enables testing of the
    joystick triggers; STRIG OFF disables joystick trigger testing. QuickBASIC
    ignores STRIG ON and STRIG OFF statements──the statements are provided for
Not feasible
Enables, disables, or inhibits trapping of joystick activity
STRIG(n) ON
STRIG(n) OFF
STRIG(n) STOP
    The argument, n, is a numeric expression indicating the joystick button to
    trap:

    Value                    Button
Not feasible
Sets the time
TIME$=stringexpression
    The stringexpression must be in one of the following forms:

    Form                     Description
    ──────────────────────────────────────────────────────────────────────────
Not feasible
Suspends program execution while monitoring the status of a machine input port
WAIT portnumber,and-expression«,xor-expression»
    The following list describes the arguments of the WAIT statement:

    Argument                 Description
    ──────────────────────────────────────────────────────────────────────────

Alert

Lorem ipsum
Okay