-
Notifications
You must be signed in to change notification settings - Fork 12
Unsupported Keywords
boxgaming edited this page Aug 5, 2025
·
44 revisions
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. Supported as of version 0.10.0 |
#149 | |
| 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) | ||
| 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. | ||
| 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. | ||
| _CLIPBOARDIMAGE (function) | pastes an image from the clipboard into a new QB64 image in memory. Supported as of version 0.10.0 |
#76 | |
| _CLIPBOARDIMAGE (statement) | copies a valid QB64 image to the clipboard. Supported as of version 0.10.0 |
#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. |
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 |
| 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 |
| 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 |