1
1
Fork 0
mirror of https://github.com/boxgaming/qbjs.git synced 2024-05-12 08:00:12 +00:00
37 Unsupported Keywords
boxgaming edited this page 2024-01-29 17:56:10 -06:00

Planned

The following list of keywords are not supported at present in QBJS but are still being evaluated or are planned for inclusion in future releases.

Keyword Summary Low Complexity Issue #
ACCESS (file statement) sets the read and write access of a file when opened.
BLOAD (statement) transfers the contents of a BINARY BSAVE file to a specific Arrays.
BSAVE (statement) transfers the contents of an Arrays to a specified size BINARY file.
CLEAR (statement) sets all variable and array values to zero number values or empty STRINGs.
CVD (function) returns the DOUBLE numerical value of an 8 byte MKD$ STRING. x #72
CVDMBF (function) returns the DOUBLE numerical value of a MKDMBF$ STRING. x #73
CVS (function) returns the SINGLE numerical value of a 4 byte MKS$ STRING. x #72
CVSMBF (function) returns the SINGLE numerical value of a MKSMBF$ STRING. x #73
DECLARE (BASIC statement) declares a SUB or FUNCTION procedure at the start of a program. Not required in QB64.
DEFDBL (statement) defines a set of undefined variable name starting letters as DOUBLE type numerical values.
DEFINT (statement) defines a set of undefined variable name starting letters as INTEGER type numerical values.
DEFLNG (statement) defines a set of undefined variable name starting letters as LONG type numerical values.
DEFSNG (statement) defines a set of undefined variable name starting letters as SINGLE type numerical values.
DEFSTR (statement) defines a set of undefined variable name starting letters as STRING type values.
$DYNAMIC (Metacommand) used at the start of a program to set all program arrays as changeable in size using REDIM.
EQV (logic operator) is used to compare two numerical values bitwise.
ERASE (statement) clears the values from $STATIC arrays and completely removes $DYNAMIC arrays.
ERL (error function) returns the closest line number before an error occurred if line numbers are used.
ERR (function) returns the ERROR Codes when a program error occurs.
FIELD (statement) defines the variable sizes to be written or read from a file. #59
FREE (QB64 TIMER statement) frees a numbered TIMER event in QB64.
GET (TCP/IP statement) reads a connection port to return a value.
GET (graphics statement) maps an area the current SCREEN video information and places it in an INTEGER arrays.
IMP (logic operator) is used to compare two numerical values bitwise.
$INCLUDE (Metacommand) designates a text code library file to include with the program. #64
INPUT$ (function) returns a designated number of STRING bytes from the keyboard entry or a file number. x
KEY n (statement) used with ON KEY(n) events to assign a "softkey" string to a key or create a user defined key.
KEY(n) (statement) used with ON KEY(n) events to assign, enable, disable or suspend event trapping.
KEY LIST (statement) lists the 12 Function key soft key string assignments going down left side of screen.
KEY LIST displays the current ON KEY(n) function key (F1 to F10) "soft key" settings.
LOCK (statement) restricts access to portions or all of a file by other programs or processes.
LPRINT (statement) sends STRING data to the default LPT or USB printer.
LPRINT USING (statement) sends template formatted text to the default LPT or USB printer.
LSET (statement) left justifies the text in a string so that there are no leading spaces. x
MID$ (statement) redefines existing characters in a STRING.
MKD$ (function) returns an 8 byte ASCII STRING representation of a DOUBLE numerical value. x #72
MKDMBF$ (function) returns an 8 byte Microsoft Binary Format STRING representation of a DOUBLE numerical value. x #73
MKS$ (function) returns a 4 byte ASCII STRING representation of a SINGLE numerical value. x #72
MKSMBF$ (function) returns an 8 byte Microsoft Binary Format STRING representation of a DOUBLE numerical value. x #73
OFF (event statement) turns off all ON event checking.
ON ERROR (statement) sets up and activates an error event checking procedure call. Use to avoid program errors.
ON KEY(n) (statement) sets up a keyboard key entry event procedure.
ON TIMER(n) (statement) sets up a timed event procedure call.
OPTION BASE (statement) can set the lower boundary of all arrays to 1.
PALETTE (statement) sets the Red, Green and Blue color attribute intensities using a RGB multiplier calculation.
PALETTE USING (statement) sets the color intensity settings using a designated arrays.
PCOPY (statement) swaps two designated memory page images when page swapping is enabled in the SCREEN statement.
PLAY(n) (function) returns the number of notes currently in the background music queue. (Not implemented in QB64)
PLAY (statement) uses a special STRING format that can produce musical tones and effects. #62
PMAP (function) returns the physical or WINDOW view graphic coordinates.
PRINT USING (statement) prints a template formatted STRING to the SCREEN. #107
PRINT USING (file statement) prints a template formatted STRING to a file. #107
PUT (TCP/IP statement) sends raw data to a user's connection handle.
PUT (graphics statement) places pixel data stored in an INTEGER array to a specified area of the SCREEN.
RANDOM (file mode) creates a file or opens an existing file to GET and PUT records of a set byte size. #59
RSET (statement) right justifies a string value so that any end spaces are moved to the beginning. x
SADD (function) returns the address of a STRING variable as an offset from the current data segment.
SCREEN (function) can return the ASCII character code or color of the text at a text designated coordinate.
SPC (function) moves the text cursor a number of spaces on the SCREEN. x
STICK (function) returns the present joystick position.
STRIG (function) returns the joystick button press values when read.
STRIG(n) (statement)
TAB (function) moves a designated number of columns on the SCREEN. x
UNLOCK (statement) unlocks a designated file or portions of it.
VIEW (graphics statement) sets up a graphic view port area of the SCREEN. #63
VIEW PRINT (statement) sets up a text viewport area of the SCREEN.
WIDTH (statement) sets the text column and row sizes in several SCREEN modes.
_ACCEPTFILEDROP (statement) turns a program window into a valid drop destination for dragging files from Windows Explorer. #75
$ASSERTS (metacommand) Enables the _ASSERT macro
$CHECKING (QB64 C++ Metacommand) turns event error checking OFF or ON.
$ERROR (precompiler metacommand) used to trigger compiler errors.
$EXEICON (Pre-Compiler Metacommand) used with a .ICO icon file name to embed the image into the QB64 executable.
$LET (Pre-Compiler Metacommand) used to set a flag variable for the precompiler.
$NOPREFIX (metacommand) allows QB64-specific keywords to be used without the underscore prefix.
$RESIZE (Metacommand) used with ON allows a user to resize the program window where OFF does not.
$STATIC (Metacommand) used at the start of a program to set all program arrays as unchangeable in size using DIM.
_ALLOWFULLSCREEN (statement) allows setting the behavior of the ALT+ENTER combo.
_ASSERT (statement) Performs debug tests.
_AXIS (function) returns a SINGLE value between -1 and 1 indicating the maximum distance from the device axis center, 0.
_BLEND (statement) statement turns on 32 bit alpha blending for the current image or screen mode and is default.
_BLEND (function) returns -1 if enabled or 0 if disabled by _DONTBLEND statement.
_BLINK (statement) statement turns blinking colors on/off in SCREEN 0
_BLINK (function) returns -1 if enabled or 0 if disabled by _BLINK statement.
_BUTTON (function) returns -1 when a controller device button is pressed and 0 when button is released.
_BUTTONCHANGE (function) returns -1 when a device button has been pressed and 1 when released. Zero indicates no change.
_CLEARCOLOR (function) returns the current transparent color of an image.
_CLEARCOLOR (statement) sets a specific color index of an image to be transparent
_CLIP (PUT (graphics statement) graphics option) allows placement of an image partially off of the screen.
_CLIPBOARD$ (function) returns the operating system's clipboard contents as a STRING. #76
_CLIPBOARD$ (statement) sets and overwrites the STRING value in the operating system's clipboard. #76
_CLIPBOARDIMAGE (function) pastes an image from the clipboard into a new QB64 image in memory. #76
_CLIPBOARDIMAGE (statement) copies a valid QB64 image to the clipboard. #76
_CONNECTED (function) returns the status of a TCP/IP connection handle.
_CONNECTIONADDRESS$ (TCP/IP function) returns a connected user's STRING IP address value using the handle.
_CONTROLCHR (statement) OFF allows the control characters to be used as text characters. ON (default) can use them as commands.
_CONTROLCHR (function) returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.
_COPYPALETTE (statement) copies the color palette intensities from one 4 or 8 BPP image to another image.
_CV (function) converts any _MK$ STRING value to the designated numerical type value. x
_DEFINE (statement) defines a range of variable names according to their first character as a data type.
_DEPTHBUFFER (statement) enables, disables, locks or clears depth buffering.
_DEVICE$ (function) returns a STRING expression listing a designated numbered input device name and types of input. x
_DEVICEINPUT (function) returns the _DEVICES number of an _AXIS, _BUTTON or _WHEEL event. x
_DEVICES (function) returns the number of input devices found on a computer system including the keyboard and mouse. x
_DISPLAYORDER (statement) designates the order to render software, hardware and custom-opengl-code.
_DONTBLEND (statement) statement turns off default _BLEND 32 bit _ALPHA blending for the current image or screen.
_DROPPEDFILE (function) returns the list of items (files or folders) dropped in a program's window after _ACCEPTFILEDROP is enabled. #75
_ERRORLINE (function) returns the source code line number that caused the most recent runtime error.
_ERRORMESSAGE$ (function) returns a human-readable message describing the most recent runtime error.
_EXIT (function) prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
_FINISHDROP (statement) resets _TOTALDROPPEDFILES and clears the _DROPPEDFILE list of items (files/folders). #75
_FREETIMER (function) returns an unused timer number value to use with ON TIMER(n).
_GLRENDER (statement) sets whether context is displayed, on top of or behind the software rendering.
_ICON (statement) designates a _LOADIMAGE image file handle to be used as the program's icon or loads the embedded icon (see $EXEICON).
_INCLERRORFILE$ {function) returns the name of the original source code $INCLUDE module that caused the most recent error.
_INCLERRORLINE (function) returns the line number in an included file that caused the most recent error.
_LASTAXIS (function) returns the number of axis available on a specified number device listed by _DEVICE$.
_LASTBUTTON (function) returns the number of buttons available on a specified number device listed by DEVICE$.
_LASTWHEEL (function) returns the number of scroll wheels available on a specified number device listed by _DEVICE$.
_MAPTRIANGLE (statement) maps a triangular image source area to put on a destination area. #58
_MAPUNICODE (statement) maps a Unicode value to an ASCII code number.
_MAPUNICODE (function) returns the Unicode (UTF32) code point value of a mapped ASCII character code.
_MEMSOUND (function) Returns a _MEM value referring to a sound's raw data in memory using a designated sound handle created by the _SNDOPEN or _SNDNEW function
_MK$ (function) converts a numerical value to a designated ASCII STRING value.
_MOUSEMOVE (statement) moves the mouse pointer to a designated position on the program SCREEN. x
_MOUSEMOVEMENTX (function) returns the relative horizontal position of the mouse cursor compared to the previous position.
_MOUSEMOVEMENTY (function) returns the relative vertical position of the mouse cursor compared to the previous position.
_NUMLOCK (function) returns -1 when Num Lock is on x #77
_OPENCLIENT (TCP/IP function) connects to a Host on the Internet as a Client and returns the Client status handle.
_OPENCONNECTION (TCP/IP function) open's a connection from a client that the host has detected and returns a status handle.
OPTION _EXPLICIT (Pre-compiler directive) instructs the compiler to require variable declaration with DIM or an equivalent statement.
OPTION _EXPLICITARRAY (Pre-compiler directive) instructs the compiler to require array declaration with DIM or an equivalent statement.
_PALETTECOLOR (function) return the 32 bit attribute color setting of an image or screen page handle's palette.
_PIXELSIZE (function) returns the pixel palette mode of a designated image handle.
_PRINTIMAGE (statement) sends an image to the printer that is stretched to the current printer paper size.
_RESIZE (statement) sets resizing of the window ON or OFF and sets the method as _STRETCH or _SMOOTH.
_SCROLLLOCK (function) returns -1 when Scroll Lock is on x #77
_SETALPHA (statement) sets the alpha channel transparency level of some or all of the pixels of an image.
_SHELLHIDE (function) returns the code sent by a program exit using END or SYSTEM followed by an INTEGER value.
_SNDBAL (statement) attempts to set the balance or 3D position of a sound file.
_SNDCOPY (function) copies a sound handle value to a new designated handle.
_SNDGETPOS (function) returns the current playing position in seconds from a sound file.
_SNDLEN (function) returns the length of a sound in seconds from a sound file.
_SNDLIMIT (statement) stops playing a sound after it has been playing for a set number of seconds. x
_SNDOPENRAW (function) opens a new channel to shove _SNDRAW content into without mixing.
_SNDPAUSED (function) returns the current pause status of a sound file handle. x
_SNDPLAYCOPY (statement) copies a sound handle, plays it and automatically closes the copy when done.
_SNDPLAYFILE (statement) directly plays a designated sound file. x
_SNDPLAYING (function) returns the current playing status of a sound handle. x
_SNDRATE (function) returns the sound card sample rate to set _SNDRAW durations.
_SNDRAW (statement) creates mono or stereo sounds from calculated wave frequency values.
_SNDRAWDONE (statement) pads a _SNDRAW stream so the final (partially filled) buffer section is played.
_SNDRAWLEN (function) returns a value until the _SNDRAW buffer is empty.
_SNDSETPOS (statement) sets the playing position of a sound handle. x
_TOTALDROPPEDFILES (function) returns the number of items (files or folders) dropped in a program's window after _ACCEPTFILEDROP is enabled. #75
_WHEEL (function) returns -1 when a control device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.

Not Planned

The following list of keywords are not planned to be supported in QBJS.

Keyword Summary Supported in QB64
ALIAS (QB64 DECLARE LIBRARY statement) denotes the actual name of an imported FUNCTION or SUB procedure. x
AND (logical operator) is used to compare two numerical values bitwise. x
ANY Not implemented in QB64.
BYVAL (statement) assigns a numerical variable value by its value, not the name. x
CALL ABSOLUTE (statement) is used to access computer interrupt registers. x
CALLS (non-BASIC call statement) Not implemented in QB64.
CDECL (DECLARE (non-BASIC statement)) Not implemented in QB64.
CHAIN (statement) sends a program to another specified program module or compiled program. x
COMMON (statement) sets a variable name as shared by CHAINed program modules. x
DATE$ (statement) sets the date of the Operating System using a mm-dd-yyyy STRING format. (Not implemented in QB64) x
DECLARE (non-BASIC statement) declares non-basic SUB or FUNCTION procedures. Not implemented in QB64.
DECLARE LIBRARY declares a C++, SDL or Operating System SUB or FUNCTION to be used. x
DECLARE DYNAMIC LIBRARY declares DYNAMIC, CUSTOMTYPE or STATIC library(DLL) SUB or FUNCTION. x
DEF FN Not implemented in QB64.
DEF SEG (statement) defines a segment in memory to be accessed by a memory procedure. x
END DEF Not implemented in QB64.
ERDEV (function) returns an error code from the last device to create an error. (Not implemented in QB64)
ERDEV$ (function) returns the 8 character name of the last device to declare an error as a STRING. (Not implemented in QB64)
EXIT DEF Not implemented in QB64.
FRE (function) returns the number of bytes of Memory available to running programs. (Not implemented in QB64)
GOSUB (statement) sends the program to a designated line label procedure in the main program. x
GOTO (statement) sends the program to a designated line number or line label in a procedure. x
INP (function) returns a numerical value from a specified port register address. See Keyboard scancodes x
INTERRUPT (statement) is used to access computer interrupt registers. x
INTERRUPTX (statement) is used to access computer interrupt registers. x
IOCTL (statement) Not implemented in QB64.
IOCTL$ (function) Not implemented in QB64.
LPOS (function) returns the printer head position. x
ON COM(n) (statement) sets up a COM port event procedure call.
ON PEN (statement) sets up a pen event procedure call. (Not implemented in QB64)
ON PLAY(n) (statement) sets up a PLAY event procedure call. (Not implemented in QB64)
ON STRIG(n) (statement) sets up a joystick button event procedure call. x
ON...GOSUB (statement) sets up a numerical event procedure call. x
ON...GOTO (statement) sets up a numerical event procedure call. x
ON UEVENT (statement) Not implemented in QB64.
OPEN COM (statement) opens a serial communication port for access at a certain speed and mode. x
OR (logic operator) is used to compare two numerical values bitwise. x
OUT (statement) writes numerical data to a specified register port. x
PEEK (function) returns a numerical value from a specified segment address in memory. x
PEN (function) returns requested information about the lightpen device used. (Not implemented in QB64)
PEN (statement) enables/disables or suspends event trapping of a lightpen device. (Not implemented in QB64)
POKE (statement) writes a numerical value to a specified segment address in memory. x
RESET (statement) closes all files and writes the directory information to a diskette before it is removed from a disk drive. x
RESUME (statement) an ERROR Codes handling procedure exit that can send the program to a line number or the NEXT code line. x
RETURN (statement) returns the program to the code immediately following a GOSUB call. x
RUN (statement) clears and restarts the program currently in memory or executes another specified program. x
SETMEM (function) sets the memory to use. (Not implemented in QB64)
SHELL (statement) sends STRING commands to the command line. SHELL calls will not affect the current path. x
SHELL (function) executes an external command or calls another program. Returns codes sent by END or SYSTEM. x
SIGNAL (OS 2 event) Not implemented in QB64.
STOP (statement) stops a program when troubleshooting or stops an ON event. x
TIME$ (statement) Not implemented in QB64.
TRON Not implemented in QB64.
TROFF Not implemented in QB64.
UEVENT (statement) Not implemented in QB64.
VARPTR (function) returns the segment pointer address in memory. x
VARSEG (function) returns the segment address of a value in memory. x
WAIT (statement) waits until a vertical retrace is started or a SCREEN draw ends. x
WIDTH LPRINT Not implemented in QB64.
$COLOR (metacommand) includes named color constants in a program x
$CONSOLE (QB64 Metacommand) creates a console window that can be used throughout a program. x
$DEBUG (metacommand) enables debugging features, allowing you to step through your code line by line x
$SCREENHIDE ([QB64 [Metacommand]]) hides the program window from view. x
$SCREENSHOW (QB64 Metacommand) displays that program window after it was hidden by $SCREENHIDE. x
$VERSIONINFO (Metacommand) adds metadata to Windows only binaries for identification purposes across the OS. x
$VIRTUALKEYBOARD (Metacommand - Deprecated) turns the virtual keyboard ON or OFF for use in touch-enabled devices x
_CINP (function) Returns a key code from $CONSOLE input x
_CONSOLE (statement) used to turn a console window OFF or ON or to designate _DEST _CONSOLE for output. x
_CONSOLEINPUT (function) fetches input data from a $CONSOLE window to be read later (both mouse and keyboard) x
_CONSOLETITLE (statement) creates the title of the console window using a literal or variable STRING. x
_DONTWAIT (SHELL action) specifies that the program should not wait until the shelled command/program is finished. x
_HIDE (SHELL action) hides the command line display during a shell. x
_MEM (function) returns _MEM block referring to the largest continuous memory region beginning at a designated variable's offset. x
_MEM (variable type) contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory. x
_MEMCOPY (statement) copies a value from a designated OFFSET and SIZE TO a block of memory at a designated OFFSET. x
_MEMELEMENT (function) returns a _MEM block referring to a variable's memory (but not past it). x
_MEMEXISTS (function) verifies that a memory block exists for a memory variable name or returns zero. x
_MEMFILL (statement) fills a designated memory block OFFSET with a certain SIZE and TYPE of value. x
_MEMFREE (statement) frees a designated memory block in a program. Only free memory blocks once. x
_MEMGET (statement) reads a value from a designated memory block at a designated OFFSET x
_MEMGET (function) returns a value from a designated memory block and OFFSET using a designated variable TYPE. x
_MEMIMAGE (function) returns a _MEM block referring to a designated image handle's memory x
_MEMNEW (function) allocates new memory with a designated SIZE and returns a _MEM block referring to it. x
_MEMPUT (statement) places a designated value into a designated memory block OFFSET x
_MOUSEPIPECLOSE (function) undocumented QB64 keyword x
_MOUSEPIPEOPEN (function) creates a pipe handle value for a mouse when using a virtual keyboard. x
_OFFSET (function) returns the memory offset of a variable when used with DECLARE LIBRARY or _MEM only. x
_OPENHOST (TCP/IP function) opens a Host and returns a Host status handle. x
_SCALEDHEIGHT (function) undocumented QB64 keyword x
_SCALEDWIDTH (function) undocumented QB64 keyword x
_SCREENCLICK (statement) simulates clicking on a point on the desktop screen with the left mouse button. x
_SCREENHIDE (statement) hides the program window from view. x
_SCREENICON (function) returns -1 or 0 to indicate if the window has been minimized to an icon on the taskbar. x
_SCREENICON (statement) minimizes the program window to an icon on the taskbar. x
_SCREENIMAGE (function) creates an image of the current desktop and returns an image handle. x
_SCREENPRINT (statement) simulates typing text into a Windows program using the keyboard. x
_SCREENSHOW (statement) displays the program window after it has been hidden by _SCREENHIDE. x
_WINDOWHANDLE (function) returns the window handle assigned to the current program by the OS. Windows-only. x
_WINDOWHASFOCUS (function) returns true (-1) if the current program's window has focus. Windows-only. x