Home • Forums • News • GitHub • Wiki • Samples • InForm • GX • QBjs • Community • More…
Original QBasic keywords:
These QBasic keywords (with a few noted exceptions) will work in all versions of QB64.
A
- ABS (function) converts any negative numerical value to a positive value.
- CALL ABSOLUTE (statement) is used to access computer interrupt registers.
- ACCESS (file statement) sets the read and write access of a file when opened.
- ALIAS (QB64 DECLARE LIBRARY statement) denotes the actual name of an imported FUNCTION or SUB procedure.
- AND (logical operator) is used to compare two numerical values bitwise.
- AND (boolean) conditional operator is used to include another evaluation in an IF…THEN or Boolean statement.
- APPEND (file mode) creates a new file or allows an existing file to have data added using WRITE (file statement) or PRINT (file statement)
- AS is used to denote a variable type or file number.
- ASC (function) returns the ASCII code number of a text STRING character.
- ASC (statement) (QB64 only) sets the code value of an ASCII text character at a designated STRING position.
- ATN (function) or arctangent returns the angle in radians of a numerical TAN value.
B
- BEEP (statement) creates an error sound of a fixed duration.
- BINARY (file mode) creates or opens an existing file for GET and PUT byte-wise access.
- 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.
- BYVAL (statement) assigns a numerical variable value by its value, not the name.
C
- CALL (statement) optional statement that sends the program to a SUB procedure. Requires parameters be enclosed in brackets(parenthesis).
- CALL ABSOLUTE (statement) is used to access computer interrupt registers.
- CASE (SELECT CASE condition) designates specific conditions in a SELECT CASE statement block.
- CASE ELSE (SELECT CASE condition) designates an alternative condition to be evaluated in a SELECT CASE statement block.
- CASE IS (SELECT CASE condition) designates specific conditions in a SELECT CASE statement block.
- CDBL (function) returns the closest DOUBLE value of a number.
- CHAIN (statement) sends a program to another specified program module or compiled program.
- CHDIR (statement) changes the current program path for file access.
- CHR$ (function) returns a text STRING character by the specified ASCII code number.
- CINT (function) returns the closest INTEGER value of a numerical value.
- CIRCLE (statement) creates a circle, ellipse or arc at a designated graphical coordinate position.
- CLEAR (statement) sets all variable and array values to zero number values or empty STRINGs.
- CLNG (function) returns the closest LONG value of a numerical value.
- CLOSE (statement) closes specific file number(s) or all files when a number is not specified.
- CLS (statement) clears a program SCREEN, VIEW port or WINDOW.
- COLOR (statement) sets the current text foreground and/or background color to be used.
- COMMAND$ (function) returns the command line arguments passed when a program is run.
- COMMON (statement) sets a variable name as shared by CHAINed program modules.
- CONST (statement) sets a variable name and its value as a constant value to be used by all procedures.
- COS (function) returns the cosine of a radian angle value.
- CSNG (function) returns the closest SINGLE value of a numerical value.
- CSRLIN (function) returns the present PRINT cursor text row SCREEN coordinate position.
- CVD (function) returns the DOUBLE numerical value of an 8 byte MKD$ STRING.
- CVDMBF (function) returns the DOUBLE numerical value of a MKDMBF$ STRING.
- CVI (function) returns the INTEGER numerical value of a 2 byte MKI$ STRING.
- CVL (function) returns the LONG numerical value of a 4 byte MKL$ STRING.
- CVS (function) returns the SINGLE numerical value of a 4 byte MKS$ STRING.
- CVSMBF (function) returns the SINGLE numerical value of a MKSMBF$ STRING.
D
- DATA (statement) creates a line of fixed program information separated by commas.
- DATE$ (function) returns the present Operating System date STRING formatted as mm-dd-yyyy.
- DATE$ (statement) sets the date of the Operating System using a mm-dd-yyyy STRING format.
- DECLARE SUB/FUNCTION (BASIC statement) declares a SUB or FUNCTION procedure at the start of a program. Not required in QB64.
- DECLARE LIBRARY declares a C++, SDL or Operating System SUB or FUNCTION to be used.
- DECLARE DYNAMIC LIBRARY declares DYNAMIC, CUSTOMTYPE or STATIC library(DLL) SUB or FUNCTION.
- DEF SEG (statement) defines a segment in memory to be accessed by a memory procedure.
- 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.
- DIM (statement) defines a variable as a specified type and can size a STATIC array.
- DO…LOOP (statement) sets a recursive procedure loop that can be ignored or exited using conditional arguments.
- DOUBLE (numerical type #) 8 byte value limited to values up to 15 decimal places.
- DRAW (statement) uses a special STRING format that draws graphical lines in specific directions.
- $DYNAMIC (Metacommand) used at the start of a program to set all program arrays as changeable in size using REDIM.
E
- ELSE (IF…THEN statement) is used to direct program flow when no other condition is evaluated as true.
- ELSEIF (IF…THEN statement) is used with THEN to set alternate conditional evaluations.
- END (statement) sets the end of a program, sub-procedure, statement block, DECLARE LIBRARY or TYPE definition.
- IF…THEN (statement) ENDs an IF…THEN conditional block statement using more than one line of code.
- ENVIRON (statement) temporarily sets an environmental key/pair value.
- ENVIRON$ (function) returns a specified string setting or numerical position as an environmental STRING value.
- EOF (file function) returns -1 when a file INPUT (file statement) or GET has reached the end of a file.
- EQV (logic operator) is used to compare two numerical values bitwise.
- ERASE (statement) clears the values from $STATIC arrays and completely removes $DYNAMIC arrays.
- ERDEV (function) returns an error code from the last device to create an error.
- ERDEV$ (function) returns the 8 character name of the last device to declare an error as a STRING.
- 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.
- ERROR (statement) sets a specific ERROR Code to be simulated.
- EVERYCASE Used on SELECT CASE statement.
- EXIT (statement) immediately exits a program FOR…NEXT, DO…LOOP, SUB or FUNCTION procedure.
- EXP (function) returns the value of e to the exponential power specified.
F
- FIELD (statement) defines the variable sizes to be written or read from a file.
- FILEATTR (function) returns the current file access mode.
- FILES (statement) returns a list of files in the current directory path to the SCREEN.
- FIX (function) returns the rounded INTEGER value of a numerical value.
- FOR…NEXT (statement) creates a recursive loop procedure that loop a specified number of times.
- FOR (file statement) used in an OPEN file or device statement to indicate the access mode.
- FRE (function) returns the number of bytes of Memory available to running programs.
- FREE (QB64 TIMER statement) frees a numbered TIMER event in QB64.
- FREEFILE (file function) returns a file number that is currently not in use by the Operating System.
- FUNCTION (procedure block) sub-procedure that can calculate and return one value to a program in its name.
G
- GET (file statement) reads a file sequentially or at a specific position and returns the value as the variable type used.
- 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.
- GOSUB (statement) sends the program to a designated line label procedure in the main program.
- GOTO (statement) sends the program to a designated line number or line label in a procedure.
H
- HEX$ (function) returns the hexadecimal (base 16) STRING representation of the INTEGER part of any value.
I
- IF…THEN (statement) a conditional block statement used control program flow.
- IMP (logic operator) is used to compare two numerical values bitwise.
- $INCLUDE (Metacommand) designates a text code library file to include with the program.
- INKEY$ (function) ASCII returns a STRING value entry from the keyboard.
- INP (function) returns a numerical value from a specified port register address. See Keyboard scancodes
- INPUT (statement) a user input that returns a value to one or more specified variable(s).
- INPUT (file mode) OPEN statement that only allows an existing file to be read using INPUT (file statement) or INPUT$.
- INPUT (file statement) reads a file sequentially using the variable types designated.
- INPUT$ (function) returns a designated number of STRING bytes from the keyboard entry or a file number.
- INSTR (function) returns the position in a text STRING where a character sequence match starts.
- INT (function) rounds a numerical value to an INTEGER value by removing the decimal point fraction.
- INTEGER (% numerical type) 2 byte whole values from -32768 to 32767.
- INTERRUPT (statement) is used to access computer interrupt registers.
- INTERRUPTX (statement) is used to access computer interrupt registers.
- IOCTL (statement)
- IOCTL$ (function)
K
- KEY n (statement) used with ON KEY(n) events to assign a “soft key” 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.
- KILL (statement) deletes the specified file without a warning. Remove empty folders with RMDIR.
L
- LBOUND (function) returns the lower boundary of the specified array.
- LCASE$ (function) returns the lower case value of a STRING.
- LEFT$ (function) returns the specified number of text characters from the left end of a STRING.
- LEN (function) returns the length or number of characters in a STRING value in bytes.
- LET (statement) assigns a variable a literal value. Not required.
- LINE (statement) creates a graphic line or box on the SCREEN.
- LINE INPUT (statement) user input can be any text character including commas and quotes as a STRING value only.
- LINE INPUT (file statement) returns an entire text file line and returns it as a STRING value.
- KEY LIST displays the current ON KEY(n) function key (F1 to F10) “soft key” settings.
- LOC (function) returns the present file byte position or number of bytes in the OPEN COM buffer.
- LOCATE (statement) sets the text cursor’s row and column position for a PRINT or INPUT statement.
- LOCK (statement) restricts access to portions or all of a file by other programs or processes.
- LOF (function) returns the size of an OPEN file in bytes.
- LOG (function) returns the natural logarithm of a specified numerical value
- LONG (& numerical type) 4 byte whole values from -2147483648 to 2147483647.
- DO…LOOP (block statement) bottom end of a recursive DO loop.
- LPOS (function) returns the printer head position.
- 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.
- LTRIM$ (function) returns a STRING value with no leading spaces.
M
- MID$ (function) returns a designated portion of a STRING.
- MID$ (statement) redefines existing characters in a STRING.
- MKD$ (function) returns an 8 byte ASCII STRING representation of a DOUBLE numerical value.
- MKDIR (statement) creates a new folder in the current or designated program path.
- MKDMBF$ (function) returns an 8 byte Microsoft Binary Format STRING representation of a DOUBLE numerical value.
- MKI$ (function) returns a 2 byte ASCII STRING representation of an INTEGER.
- MKL$ (function) returns a 4 byte ASCII STRING representation of a LONG numerical value.
- MKS$ (function) returns a 4 byte ASCII STRING representation of a SINGLE numerical value.
- MKSMBF$ (function) returns an 8 byte Microsoft Binary Format STRING representation of a DOUBLE numerical value.
- MOD (math operator) performs integer remainder division on a numerical value.
N
- NAME (statement) names an existing file name AS a new file name.
- NEXT (statement) bottom end of a FOR…NEXT counter loop to returns to the start or a RESUME error.
- NOT (logical operator) inverts the value of a logic operation or returns True when a boolean evaluation is False.
O
- OCT$ (function) returns the octal (base 8) STRING representation of the INTEGER part of any value.
- OFF (event statement) turns off all ON event checking.
- ON COM(n) (statement) sets up a COM port event procedure call.
- 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 PEN (statement) sets up a pen event procedure call.
- ON PLAY(n) (statement) sets up a PLAY event procedure call.
- ON STRIG(n) (statement) sets up a joystick button event procedure call.
- ON TIMER(n) (statement) sets up a timed event procedure call.
- ON UEVENT (statement) Not implemented in QB64.
- ON…GOSUB (statement) sets up a numerical event procedure call.
- ON…GOTO (statement) sets up a numerical event procedure call.
- OPEN (file statement) opens a file name for an access mode with a specific file number.
- OPEN COM (statement) opens a serial communication port for access at a certain speed and mode.
- OPTION BASE (statement) can set the lower boundary of all arrays to 1.
- OR (logic operator) is used to compare two numerical values bitwise.
- OR (boolean) conditional operator is used to include an alternative evaluation in an IF…THEN or Boolean statement.
- OUT (statement) writes numerical data to a specified register port.
- OUTPUT (file mode) creates a new file or clears all data from an existing file to access the file sequentially.
P
- PAINT (statement) fills an enclosed area of a graphics SCREEN with a color until it encounters a specific colored border.
- 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.
- PEEK (function) returns a numerical value from a specified segment address in memory.
- PEN (function) returns requested information about the light pen device used.
- PEN (statement) enables/disables or suspends event trapping of a light pen device.
- PLAY(n) (function) returns the number of notes currently in the background music queue.
- PLAY (statement) uses a special STRING format that can produce musical tones and effects.
- PMAP (function) returns the physical or WINDOW view graphic coordinates.
- POINT (function) returns the color attribute number or 32 bit _RGB32 value.
- POKE (statement) writes a numerical value to a specified segment address in memory.
- POS (function) returns the current text column position of the text cursor.
- PRESET (statement) sets a pixel coordinate to the background color unless one is specified.
- PRINT (statement) prints text STRING or numerical values to the SCREEN.
- PRINT (file statement) prints text STRING or numerical values to a file.
- PRINT USING (statement) prints a template formatted STRING to the SCREEN.
- PRINT USING (file statement) prints a template formatted STRING to a file.
- PSET (statement) sets a pixel coordinate to the current color unless a color is designated.
- PUT (file I/O statement) writes data sequentially or to a designated position using a variable value.
- 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.
R
- RANDOM (file mode) creates a file or opens an existing file to GET and PUT records of a set byte size.
- RANDOMIZE (statement) sets the random seed value for a specific sequence of random RND values.
- RANDOMIZE restarts the designated seed value’s random sequence of values from the beginning.
- READ (statement) reads values from a DATA field. ACCESS READ is used with the OPEN statement.
- REDIM (statement) creates a new $DYNAMIC array or resizes one without losing data when _PRESERVE is used.
- REM (statement) or an apostrophe tells the program to ignore statements following it on the same line.
- RESET (statement) closes all files and writes the directory information to a diskette before it is removed from a disk drive.
- RESTORE (statement) resets the DATA pointer to the start of a designated field of data.
- RESUME (statement) an ERROR Codes handling procedure exit that can send the program to a line number or the NEXT code line.
- RETURN (statement) returns the program to the code immediately following a GOSUB call.
- RIGHT$ (function) returns a specific number of text characters from the right end of a STRING.
- RMDIR (statement) removes an empty folder from the current path or the one designated.
- RND (function) returns a random number value from 0 to .9999999.
- RSET (statement) right justifies a string value so that any end spaces are moved to the beginning.
- RTRIM$ (function) returns a STRING with all spaces removed from the right end.
- RUN (statement) clears and restarts the program currently in memory or executes another specified program.
S
- 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.
- SCREEN (statement) sets the display mode and size of the program window.
- SEEK (function) returns the present byte position in an OPEN file.
- SEEK (statement) moves to a specified position in an OPEN file.
- SELECT CASE (statement) a program flow block that can handle numerous conditional evaluations.
- SETMEM (function) sets the memory to use.
- SGN (function) returns -1 for negative, 0 for zero, and 1 for positive numerical values.
- SHARED (statement) designates that a variable can be used by other procedures or the main procedure when in a sub-procedure.
- SHELL (statement) sends STRING commands to the command line. SHELL calls will not affect the current path.
- SHELL (function) executes an external command or calls another program. Returns codes sent by END or SYSTEM.
- SIGNAL (OS 2 event)
- SIN (function) returns the sine of a radian angle.
- SINGLE (! numerical type) 4 byte floating decimal point values up to 7 decimal places.
- SLEEP (statement) pauses the program for a designated number of seconds or until a key is pressed.
- SOUND (statement) creates a sound of a specified frequency and duration.
- SPACE$ (function) returns a designated number of spaces to a STRING.
- SPC (function) moves the text cursor a number of spaces on the SCREEN.
- SQR (function) returns the square root of a non-negative number.
- STATIC (statement) creates a SUB or FUNCTION variable that retains its value.
- $STATIC (Metacommand) used at the start of a program to set all program arrays as unchangeable in size using DIM.
- STEP (keyword) move relatively from one graphic position or change the counting increment in a FOR…NEXT loop.
- STICK (function) returns the present joystick position.
- STOP (statement) stops a program when troubleshooting or stops an ON event.
- STR$ (function) returns a STRING value of a number with a leading space when it is positive.
- STRIG (function) returns the joystick button press values when read.
- STRIG(n) (statement)
- STRING ($ variable type) one byte text variable with ASCII code values from 0 to 255.
- STRING$ (function) returns a designated number of string characters.
- SUB (procedure block) sub-procedure that can calculate and return multiple parameter values.
- SWAP (statement) swaps two STRING or numerical values.
- SYSTEM (statement) ends a program immediately.
T
- TAB (function) moves a designated number of columns on the SCREEN.
- TAN (function) returns the ratio of SINe to COSine or tangent value of an angle measured in radians.
- THEN (IF…THEN keyword) must be used in a one line IF…THEN program flow statement.
- TIME$ (function) returns the present time setting of the Operating System as a format hh:mm:ss STRING.
- TIMER (function) returns the number of seconds since midnight as a SINGLE value.
- TIMER (statement) events based on the designated time interval and timer number.
- TO indicates a range of numerical values or an assignment of one value to another.
- TYPE (definition) defines a variable type or file record that can include any STRING or numerical types.
U
- UBOUND (function) returns the upper-most index number of a designated arrays.
- UCASE$ (function) returns an uppercase representation of a specified STRING.
- UEVENT (statement) Not implemented in QB64.
- UNLOCK (statement) unlocks a designated file or portions of it.
- UNTIL (condition) evaluates a DO…LOOP condition until it is True.
V
- VAL (function) returns the numerical value of a STRING number.
- VARPTR (function) returns the segment pointer address in memory.
- VARPTR$ (function) returns the string value of a numerical value in memory.
- VARSEG (function) returns the segment address of a value in memory.
- VIEW (graphics statement) sets up a graphic view port area of the SCREEN.
- VIEW PRINT (statement) sets up a text view port area of the SCREEN.
W
- WAIT (statement) waits until a vertical retrace is started or a SCREEN draw ends.
- WEND (statement) the bottom end of a WHILE…WEND loop.
- WHILE (condition) evaluates a DO…LOOP or WHILE…WEND condition until it is False.
- WHILE…WEND (statement) sets a recursive procedure loop that can only be exited using the WHILE conditional argument.
- WIDTH (statement) sets the text column and row sizes in several SCREEN modes.
- WINDOW (statement) maps a window size different from the program’s window size.
- WRITE (screen I/O statement) prints variable values to the screen with commas separating each value.
- WRITE (file statement) writes data to a file with each variable value separated by commas.
X
- XOR (logic operator) is used to compare two numerical values bitwise.
QB64 specific keywords
Keywords beginning with underscores are QB64 specific. To use them without the prefix, use $NOPREFIX. Also note that the underscore prefix is reserved for QB64 KEYWORDS only.
_A
- _ACCEPTFILEDROP (statement) turns a program window into a valid drop destination for dragging files from Windows Explorer.
- _ACOS (function) arccosine function returns the angle in radians based on an input COSine value range from -1 to 1.
- _ACOSH (function) Returns the nonnegative arc hyperbolic cosine of x, expressed in radians.
- _ALLOWFULLSCREEN (statement) allows setting the behavior of the ALT+ENTER combo.
- _ALPHA (function) returns the alpha channel transparency level of a color value used on a screen page or image.
- _ALPHA32 (function) returns the alpha channel transparency level of a color value used on a 32 bit screen page or image.
- _ASIN (function) Returns the principal value of the arc sine of x, expressed in radians.
- _ASINH (function) Returns the arc hyperbolic sine of x, expressed in radians.
- _ASSERT (statement) Performs debug tests.
- $ASSERTS (metacommand) Enables the _ASSERT macro
- _ATAN2 (function) Returns the principal value of the ATN of y/x, expressed in radians.
- _ATANH (function) Returns the arc hyperbolic tangent of x, expressed in radians.
- _AUTODISPLAY (statement) enables the automatic display of the screen image changes previously disabled by _DISPLAY.
- _AUTODISPLAY (function) returns the current display mode as true (-1) if automatic or false (0) if per request using _DISPLAY.
- _AXIS (function) returns a SINGLE value between -1 and 1 indicating the maximum distance from the device axis center, 0.
_B
- _BACKGROUNDCOLOR (function) returns the current SCREEN background color.
- _BIT (` numerical type) can return only signed values of 0 (bit off) and -1 (bit on). Unsigned 0 or 1.
- _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.
- _BLUE (function) function returns the palette or the blue component intensity of a 32-bit image color.
- _BLUE32 (function) returns the blue component intensity of a 32-bit color value.
- _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.
- _BYTE (%% numerical type) can hold signed values from -128 to 127 (one byte or _BIT * 8). Unsigned from 0 to 255.
_C
- _CAPSLOCK (function) returns -1 when Caps Lock is on
- _CAPSLOCK (statement) sets Caps Lock key state
- $CHECKING (QB64 C++ Metacommand) turns event error checking OFF or ON.
- _CEIL (function) Rounds x upward, returning the smallest integral value that is not less than x.
- _CINP (function) Returns a key code from $CONSOLE input
- _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.
- _CLIPBOARD$ (statement) sets and overwrites the STRING value in the operating system’s clipboard.
- _CLIPBOARDIMAGE (function) pastes an image from the clipboard into a new QB64 image in memory.
- _CLIPBOARDIMAGE (statement) copies a valid QB64 image to the clipboard.
- $COLOR (metacommand) includes named color constants in a program
- _COMMANDCOUNT (function) returns the number of arguments passed to the compiled program from the command line.
- _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.
- $CONSOLE (QB64 Metacommand) creates a console window that can be used throughout a program.
- _CONSOLE (statement) used to turn a console window OFF or ON or to designate _DEST _CONSOLE for output.
- _CONSOLEINPUT (function) fetches input data from a $CONSOLE window to be read later (both mouse and keyboard)
- _CONSOLETITLE (statement) creates the title of the console window using a literal or variable STRING.
- _CONTINUE (statement) skips the remaining lines in a control block (DO/LOOP, FOR/NEXT or WHILE/WEND)
- _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.
- _COPYIMAGE (function) copies an image handle value to a new designated handle.
- _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.
- _CWD$ (function) returns the current working directory as a STRING value.
_D
- _D2G (function) converts degrees to gradian angle values.
- _D2R (function) converts degrees to radian angle values.
- $DEBUG (metacommand) enables debugging features, allowing you to step through your code line by line
- DECLARE LIBRARY declares a C++, SDL or Operating System SUB or FUNCTION to be used.
- DECLARE DYNAMIC LIBRARY declares DYNAMIC, CUSTOMTYPE or STATIC library (DLL) SUB or FUNCTION.
- _DEFAULTCOLOR (function) returns the current default text color for an image handle or page.
- _DEFINE (statement) defines a range of variable names according to their first character as a data type.
- _DEFLATE$ (function) compresses a string
- _DELAY (statement) suspends program execution for a SINGLE number of seconds.
- _DEPTHBUFFER (statement) enables, disables, locks or clears depth buffering.
- _DESKTOPHEIGHT (function) returns the height of the desktop (not program window).
- _DESKTOPWIDTH (function) returns the width of the desktop (not program window).
- _DEST (statement) sets the current write image or SCREEN page destination for prints or graphics.
- _DEST (function) returns the current destination screen page or image handle value.
- _DEVICE$ (function) returns a STRING expression listing a designated numbered input device name and types of input.
- _DEVICEINPUT (function) returns the _DEVICES number of an _AXIS, _BUTTON or _WHEEL event.
- _DEVICES (function) returns the number of input devices found on a computer system including the keyboard and mouse.
- _DIR$ (function) returns common paths in Windows only, like My Documents, My Pictures, My Music, Desktop.
- _DIREXISTS (function) returns -1 if the Directory folder name STRING parameter exists. Zero if it does not.
- _DISPLAY (statement) turns off the _AUTODISPLAY while only displaying the screen changes when called.
- _DISPLAY (function) returns the handle of the current image that is displayed on the screen.
- _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.
- _DONTWAIT (SHELL action) specifies that the program should not wait until the shelled command/program is finished.
- _DROPPEDFILE (function) returns the list of items (files or folders) dropped in a program’s window after _ACCEPTFILEDROP is enabled.
_E
- _ECHO (statement) used in conjunction with $IF for the pre-compiler.
- $ELSE (Pre-Compiler Metacommand) used in conjunction with $IF for the pre-compiler.
- $ELSEIF (Pre-Compiler Metacommand) used in conjunction with $IF for the pre-compiler.
- $END IF (Pre-Compiler Metacommand) used in conjunction with $IF for the pre-compiler.
- $ERROR (precompiler metacommand) used to trigger compiler errors.
- _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.
- $EXEICON (Pre-Compiler Metacommand) used with a .ICO icon file name to embed the image into the QB64 executable.
- _EXIT (function) prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
_F
- _FILEEXISTS (function) returns -1 if the file name STRING parameter exists. Zero if it does not.
- _FINISHDROP (statement) resets _TOTALDROPPEDFILES and clears the _DROPPEDFILE list of items (files/folders).
- _FLOAT (numerical type ##) offers the maximum floating-point decimal precision available using QB64.
- _FONT (statement) sets the current font handle to be used by PRINT or _PRINTSTRING.
- _FONT (function) creates a new font handle from a designated image handle.
- _FONTHEIGHT (function) returns the current text or font height.
- _FONTWIDTH (function) returns the current text or font width.
- _FREEFONT (statement) releases the current font handle from memory.
- _FREEIMAGE (statement) releases a designated image handle from memory.
- _FREETIMER (function) returns an unused timer number value to use with ON TIMER(n).
- _FULLSCREEN (statement) sets the program window to full screen or OFF. Alt + Enter does it manually.
- _FULLSCREEN (function) returns the fullscreen mode in use by the program.
_G
- _G2D (function) converts gradian to degree angle values.
- _G2R (function) converts gradian to radian angle values.
- _GLRENDER (statement) sets whether context is displayed, on top of or behind the software rendering.
- _GREEN (function) function returns the palette or the green component intensity of a 32-bit image color.
- _GREEN32 (function) returns the green component intensity of a 32-bit color value.
_H
- _HEIGHT (function) returns the height of a designated image handle.
- _HIDE (SHELL action) hides the command line display during a shell.
- _HYPOT (function) Returns the hypotenuse of a right-angled triangle whose legs are x and y.
_I
- $IF (Pre-Compiler Metacommand) used to set an IF condition for the precompiler.
- _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.
- _INFLATE$ (function) decompresses a string
- _INSTRREV (function) allows searching for a substring inside another string, but unlike INSTR it returns the last occurrence instead of the first one.
- _INTEGER64 (&& numerical type) can hold whole numerical values from -9223372036854775808 to 9223372036854775807.
_K
- _KEYCLEAR (statement) clears the keyboard buffers for INKEY$, _KEYHIT, and INP.
- _KEYHIT (function) returns ASCII one and two byte, SDL Virtual Key and Unicode keyboard key press codes.
- _KEYDOWN (function) returns whether CTRL, ALT, SHIFT, combinations and other keys are pressed.
_L
- $LET (Pre-Compiler Metacommand) used to set a flag variable for the precompiler.
- _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$.
- _LIMIT (statement) sets the loops per second rate to slow down loops and limit CPU usage.
- _LOADFONT (function) designates a _FONT TTF file to load and returns a handle value.
- _LOADIMAGE (function) designates an image file to load and returns a handle value.
_M
- _MAPTRIANGLE (statement) maps a triangular image source area to put on a destination area.
- _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.
- _MEM (function) returns _MEM block referring to the largest continuous memory region beginning at a designated variable’s offset.
- _MEM (variable type) contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory.
- _MEMCOPY (statement) copies a value from a designated OFFSET and SIZE TO a block of memory at a designated OFFSET.
- _MEMELEMENT (function) returns a _MEM block referring to a variable’s memory (but not past it).
- _MEMEXISTS (function) verifies that a memory block exists for a memory variable name or returns zero.
- _MEMFILL (statement) fills a designated memory block OFFSET with a certain SIZE and TYPE of value.
- _MEMFREE (statement) frees a designated memory block in a program. Only free memory blocks once.
- _MEMGET (statement) reads a value from a designated memory block at a designated OFFSET
- _MEMGET (function) returns a value from a designated memory block and OFFSET using a designated variable TYPE.
- _MEMIMAGE (function) returns a _MEM block referring to a designated image handle’s memory
- _MEMNEW (function) allocates new memory with a designated SIZE and returns a _MEM block referring to it.
- _MEMPUT (statement) places a designated value into a designated memory block OFFSET
- _SCREENMOVE (_SCREENMOVE parameter) centers the program window on the desktop in any screen resolution.
- _MK$ (function) converts a numerical value to a designated ASCII STRING value.
- _MOUSEBUTTON (function) returns the status of a designated mouse button.
- _MOUSEHIDE (statement) hides the mouse pointer from view
- _MOUSEINPUT (function) returns a value if the mouse status has changed since the last read.
- _MOUSEMOVE (statement) moves the mouse pointer to a designated position on the program SCREEN.
- _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.
- _MOUSEPIPEOPEN (function) creates a pipe handle value for a mouse when using a virtual keyboard.
- _MOUSESHOW (statement) displays the mouse cursor after it has been hidden or can change the cursor shape.
- _MOUSEWHEEL (function) returns the number of mouse scroll wheel “clicks” since last read.
- _MOUSEX (function) returns the current horizontal position of the mouse cursor.
- _MOUSEY (function) returns the current vertical position of the mouse cursor.
_N
- _NEWIMAGE (function) creates a designated size program SCREEN or page image and returns a handle value.
- $NOPREFIX (metacommand) allows QB64-specific keywords to be used without the underscore prefix.
- _NUMLOCK (function) returns -1 when Num Lock is on
- _NUMLOCK (statement) sets Num Lock key state
_O
- _OFFSET (function) returns the memory offset of a variable when used with DECLARE LIBRARY or _MEM only.
- _OFFSET (%& numerical type) can be used store the value of an offset in memory when using DECLARE LIBRARY or MEM only.
- _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.
- _OPENHOST (TCP/IP function) opens a Host and returns a Host 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.
- _OS$ (function) returns the QB64 compiler version in which the program was compiled as [WINDOWS], [LINUX] or [MACOSX] and [32BIT] or [64BIT].
_P
- _PALETTECOLOR (statement) sets the color value of a palette entry of an image using 256 colors or less palette modes.
- _PALETTECOLOR (function) return the 32 bit attribute color setting of an image or screen page handle’s palette.
- _PI (function) returns the value of π or parameter multiples for angle or CIRCLE calculations.
- _PIXELSIZE (function) returns the pixel palette mode of a designated image handle.
- _PRESERVE (REDIM action) preserves the data presently in an array when REDIM is used.
- _PRINTIMAGE (statement) sends an image to the printer that is stretched to the current printer paper size.
- _PRINTMODE (statement) sets the text or _FONT printing mode on a background when using PRINT or _PRINTSTRING.
- _PRINTMODE (function) returns the present _PRINTMODE value number.
- _PRINTSTRING (statement) locates and prints a text STRING using graphic coordinates.
- _PRINTWIDTH (function) returns the pixel width of a text string to be printed using _PRINTSTRING.
- _PUTIMAGE (statement) maps a rectangular image source area to an image destination area.
_R
- _R2D (function) converts radians to degree angle values.
- _R2G (function) converts radians to gradian angle values.
- _RED (function) function returns the palette or the red component intensity of a 32-bit image color.
- _RED32 (function) returns the red component intensity of a 32-bit color value.
- _READBIT (function) returns the state of the specified bit of an integer variable.
- _RESETBIT (function) is used to set the specified bit of an integer variable to 0.
- $RESIZE (Metacommand) used with ON allows a user to resize the program window where OFF does not.
- _RESIZE (statement) sets resizing of the window ON or OFF and sets the method as _STRETCH or _SMOOTH.
- _RESIZE (function) returns -1 when a program user wants to resize the program screen.
- _RESIZEHEIGHT (function) returns the requested new user screen height when $RESIZE:ON allows it.
- _RESIZEWIDTH (function) returns the requested new user screen width when $RESIZE:ON allows it.
- _RGB (function) returns the closest palette index OR the LONG 32 bit color value in 32 bit screens.
- _RGB32 (function) returns the LONG 32 bit color value in 32 bit screens only
- _RGBA (function) returns the closest palette index OR the LONG 32 bit color value in 32 bit screens with the ALPHA
- _RGBA32 (function) returns the LONG 32 bit color value in 32 bit screens only with the ALPHA
- _ROUND (function) rounds to the closest INTEGER, LONG or _INTEGER64 numerical value.
_S
- _SCREENCLICK (statement) simulates clicking on a point on the desktop screen with the left mouse button.
- _SCREENEXISTS (function) returns a -1 value once a screen has been created.
- $SCREENHIDE QB64 Metacommand hides the program window from view.
- _SCREENHIDE (statement) hides the program window from view.
- _SCREENICON (function) returns -1 or 0 to indicate if the window has been minimized to an icon on the taskbar.
- _SCREENICON (statement) minimizes the program window to an icon on the taskbar.
- _SCREENIMAGE (function) creates an image of the current desktop and returns an image handle.
- _SCREENMOVE (statement) positions program window on the desktop using designated coordinates or the _MIDDLE option.
- _SCREENPRINT (statement) simulates typing text into a Windows program using the keyboard.
- $SCREENSHOW (QB64 Metacommand) displays that program window after it was hidden by $SCREENHIDE.
- _SCREENSHOW (statement) displays the program window after it has been hidden by _SCREENHIDE.
- _SCREENX (function) returns the program window’s upper left corner horizontal position on the desktop.
- _SCREENY (function) returns the program window’s upper left corner vertical position on the desktop.
- _SCROLLLOCK (function) returns -1 when Scroll Lock is on
- _SCROLLLOCK (statement) sets Scroll Lock key state
- _SETALPHA (statement) sets the alpha channel transparency level of some or all of the pixels of an image.
- _SETBIT (function) is used to set the specified bit of an integer variable to 1.
- _SHELLHIDE (function) returns the code sent by a program exit using END or SYSTEM followed by an INTEGER value.
- _SHL (function) used to shift the bits of a numerical value to the left
- _SHR (function) used to shift the bits of a numerical value to the right.
- Mathematical Operations (function) Returns the hyperbolic sine of x radians.
- _SNDBAL (statement) attempts to set the balance or 3D position of a sound file.
- _SNDCLOSE (statement) frees and unloads an open sound using the sound handle created by _SNDOPEN.
- _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.
- _SNDLOOP (statement) plays a sound repeatedly until _SNDSTOP is used.
- _SNDOPEN (function) loads a sound file and returns a sound handle.
- _SNDOPENRAW (function) opens a new channel to shove _SNDRAW content into without mixing.
- _SNDPAUSE (statement) stops playing a sound file until resumed.
- _SNDPAUSED (function) returns the current pause status of a sound file handle.
- _SNDPLAY (statement) plays a sound file handle that was created by _SNDOPEN or _SNDCOPY.
- _SNDPLAYCOPY (statement) copies a sound handle, plays it and automatically closes the copy when done.
- _SNDPLAYFILE (statement) directly plays a designated sound file.
- _SNDPLAYING (function) returns the current playing status of a sound handle.
- _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.
- _SNDSTOP (statement) stops playing a sound handle.
- _SNDVOL (statement) sets the volume of a sound file handle.
- _SOURCE (statement) sets the source image handle.
- _SOURCE (function) returns the present source image handle value.
- _STARTDIR$ (function) returns the user’s program calling path as a STRING.
- _STRCMP (function) compares the relationship between two strings.
- _STRICMP (function) compares the relationship between two strings, without regard for case-sensitivity.
_T
- Mathematical Operations (function) Returns the hyperbolic tangent of x radians.
- _TITLE (statement) sets the program title STRING value.
- _TITLE$ (function) gets the program title STRING value.
- _TOGGLEBIT (function) is used to toggle the specified bit of an integer variable from 1 to 0 or 0 to 1.
- _TOTALDROPPEDFILES (function) returns the number of items (files or folders) dropped in a program’s window after _ACCEPTFILEDROP is enabled.
- _TRIM$ (function) shorthand to LTRIM$(RTRIM$(“text”))
_U
- _UNSIGNED (numerical type) expands the positive range of numerical INTEGER, LONG or _INTEGER64 values returned.
_V
- $VERSIONINFO (Metacommand) adds metadata to Windows only binaries for identification purposes across the OS.
- $VIRTUALKEYBOARD (Metacommand - Deprecated) turns the virtual keyboard ON or OFF for use in touch-enabled devices
_W
- _WHEEL (function) returns -1 when a control device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.
- _WIDTH (function) returns the width of a SCREEN or image handle.
- _WINDOWHANDLE (function) returns the window handle assigned to the current program by the OS. Windows-only.
- _WINDOWHASFOCUS (function) returns true (-1) if the current program’s window has focus. Windows-only.
Symbols
QB64 and QB Symbols
Note: All symbols below can also be used inside of literal quoted strings except for quotation marks.
Print, Input or File Formatting
- Semicolon after a PRINT stops invisible cursor at end of printed value. Can prevent screen rolling. A Semicolon after the INPUT prompt text will display a question mark after the text.
- Comma after a PRINT tabs invisible cursor past end of printed value. After the INPUT prompt text a comma displays no Question mark.
- Quotation mark delimits the ends of a literal STRING value in a PRINT, INPUT or LINE INPUT statement.
- Question mark is a shortcut substitute for the PRINT keyword. Will change to PRINT when cursor leaves the code line.
Program Code Markers
- Apostrophe ignores a line of code or program comment and MUST be used before a Metacommand. Same as using REM.
- Comma is used to separate DATA, SUB or FUNCTION parameter variables.
- Colons can be used to separate two procedure statements on one code line.
- Dollar_Sign prefix denotes a QBasic Metacommand.
- Parenthesis enclose a math or conditional procedure order, SUB or FUNCTION parameters or to pass by value.
- + concatenation operator MUST be used to combine literal string values in a variable definition.
- Quotation mark designates the ends of a literal STRING value. Use CHR$(34) to insert quotes in a text STRING.
- Underscore can be used to continue a line of code to the next program line in QB64.
Variable Name Type Suffixes
- STRING text character type: 1 byte
- SINGLE floating decimal point numerical type (4 bytes)
- DOUBLE floating decimal point numerical type (8 bytes)
- _FLOAT QB64 decimal point numerical type (32 bytes)
- _UNSIGNED QB64 INTEGER positive numerical type when it precedes the 6 numerical suffixes below:
- INTEGER INTEGER numerical type (2 bytes)
- LONG INTEGER numerical type (4 bytes}
- _INTEGER64 QB64 INTEGER numerical type (8 bytes)
- _BIT QB64 INTEGER numerical type (1 bit) (Key below tilde (~) or CHR$(96))
- _BYTE QB64 INTEGER numerical type (1 byte)
- _OFFSET QB64 INTEGER numerical pointer address type (any byte size required)
Numerical Base Prefixes
Mathematical Operations
- + operator or sign
- - operator or sign
- [](wiki/) operator
- / (floating decimal point) operator
- \ operator
- [^](wiki/^) operator
- MOD operator
Relational Operations
- Equal Equal to condition
- Not_Equal Not equal condition
- Greater_Than Greater than condition
- Less_Than Less than condition
- Greater_Than_Or_Equal Greater than or equal to condition
- Less_Than_Or_Equal Less than or equal to condition
References
Got a question about something?
Links to other QBasic Sites:
- Member programs at QBasic Station
- QBasic Forum at Network 54
- Pete’s QBasic Forum
- Pete’s QBasic Downloads
This wiki content is a mirror of the QB64 Wiki on GitHub integrated into QB64.com with a primary purpose of providing search landing for the QB64 language when using a web browser to find help. This mirror is an ongoing work in progress - as is the wiki that it is based. You can find the most up to date version of this content utilized by this mirror by jumping over to QB64 Wiki on GitHub.
Old Archive / Backup: