# Keyword Reference - Alphabetical

Alphabetical QB64 Keyword Listings

QB 64:  _A _B _C _D _E _F _G _H _I _K _L _M _N _O _P _R _S _T _U _V _W

QBasic:  A   B   C   D   E    F   G   H     I    K   L   M   N    O   P    R   S    T   U   V   W   X

OpenGL:   A    B    C    D    E     F    G    H     I     L    M    N     O    P     R    S     T    V

Symbols    -    References

Go to keywords by Usage

Keywords beginning with _underscores are QB64 specific.

Keywords currently not supported by QB64

Keywords Not Supported in Linux or MAC versions

Keywords without the underscore at the beginning should work with both QB 4.5 and QB64.

Known QB64 Issues
If code examples only display partial code, use the browser Refresh button
Main Page with Appendix and Tutorials

## QB64 specific keywords:

The underscore prefix is reserved for QB64 _KEYWORDS only.

_A
• _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.
• _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.
• _ARCCOT (function) is the inverse function of the cotangent. . http://mathworld.wolfram.com/InverseCosecant.html
• _ARCCSC (function) is the inverse function of the cosecant. http://mathworld.wolfram.com/InverseCosecant.html
• _ARCSEC (function) is the inverse function of the secant. http://mathworld.wolfram.com/InverseSecant.html
• _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.
• _ATAN2 (function) Returns the principal value of the arc tangent 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 page 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 (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

_D
• _D2G (function) converts degrees to gradient angle values.
• _D2R (function) converts degrees to radian angle values.
• DECLARE LIBRARY (QB64 statement block) declares a C++, SDL or Operating System SUB or FUNCTION to be used.
• DECLARE DYNAMIC LIBRARY (QB64 statement) 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.
• _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 automatic display 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.

_E
• \$ELSE (Pre-Compiler Metacommand) used in conjunction with \$IF for the precompiler.
• \$ELSEIF (Pre-Compiler Metacommand) used in conjunction with \$IF for the precompiler.
• \$END IF (Pre-Compiler Metacommand) used in conjunction with \$IF for the precompiler.
• _ERRORLINE (function) returns the source code line number that caused 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.
• _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 gradient to degree angle values.
• _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.
• _INTEGER64 (&& numerical type) can hold whole numerical values from -9223372036854775808 to 9223372036854775807.

_K
• _KEYCLEAR (function) 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
• _MIDDLE (_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.

_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.
• _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.
• _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.
• \$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
• _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.
• _SINH (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
• _TANH (function) Returns the hyperbolic tangent of x radians.
• _TITLE (statement) sets the program title string value.
• _TITLE\$ (function) gets the program title string value.

_U

_V

_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.

(Go to Top of QB64 specific keywords)

## 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.
• 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) conditonal 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 or PRINT
• 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 tangent value.

B
• BEEP (statement) creates an error sound of a fixed duration.
• BINARY (file mode) creates or opens an existing file for read and write byte-wise access.
• BLOAD (statement) transfers the contents of a BINARY BSAVE file to a specific array.
• BSAVE (statement) transfers the contents of an array 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.
• CALLS (non-BASIC call statement)
• 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.
• CDECL (DECLARE (non-BASIC statement))
• 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 Microsoft Binary Format 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 Microsoft Binary Format 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 (BASIC statement) declares a SUB or FUNCTION procedure at the start of a program. Not required in QB64.
• DECLARE (non-BASIC statement) declares non-basic SUB or FUNCTION procedures. Not implemented in QB64.
• DECLARE LIBRARY (QB64 statement block) declares a C++, SDL or Operating System SUB or FUNCTION to be used.
• DECLARE DYNAMIC LIBRARY (QB64 statement) declares DYNAMIC, CUSTOMTYPE or STATIC library(DLL) SUB or FUNCTION.
• DEF FN (statement) defines a function procedure in the main program that cannot be used recursively.
• 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.
• END IF (statement) ENDs an IF...THEN conditional block statement using more than one line of code.
• ENVIRON (statement) temporarily sets or changes an environmental string 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 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 code when a program error occurs.
• ERROR (statement) sets a specific ERROR code to be simulated.
• EXIT (statement) immediately exits a program FOR...NEXT, DO...LOOP, SUB, FUNCTION or DEF FN 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 sequencially or at a specific position and returns the value as the variable type used.
• GET (QB64 TCP/IP statement) reads a connection port to return a value.
• GET (graphics statement) maps an area the current screen's video information and places it in an INTEGER array.
• 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 a decimal INTEGER 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 (QB64 TCP/IP statement) reads a port connection sequencially 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 "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.
• 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.
• 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.
• 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 NEXT 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 a decimal INTEGER 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) conditonal 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 acess the file sequencially.

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 array.
• 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 lightpen device used.
• PEN (statement) enables/disables or suspends event trapping of a lightpen 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 strings or numerical values to the SCREEN.
• PRINT (file statement) prints text strings or numerical values to a file.
• PRINT (QB64 TCP/IP statement) sends text strings to a connection handle.
• 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 sequencially or to a designated position using a variable value.
• PUT (QB64 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 read and write records of a set byte size.
• RANDOMIZE (statement) sets the random seed value for a specific sequence of random RND values.
• RANDOMIZE USING (QB64 statement) 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 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 opened file.
• SEEK (statement) moves to a specified position in an opened 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 (QB64 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.
• TIME\$ (statement) sets the OS time using the hh:mm:ss STRING format.
• 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.
• TROFF (statement)
• TRON (statement)
• 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 array.
• 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 viewport 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.

(Go to Top of Original QB keywords)

## OpenGL specific keywords:

All QB64 OpenGL keywords must use the underscore _gl prefix with the alphabetically listed function names.
The following keywords cannot be used in QB64 versions .954 and below.

_glA

_glB

_glC

_glD

_glE

_glF

_glG

_glH
• _glHint (statement) OpenGL command

_glI

_glL

_glM

_glN

_glO

_glP

_glR

_glS

_glT

_glV

## 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

Program Code Markers
Variable Name Type Suffixes
Numerical Base Prefixes

Mathematical Operations

Relational Operations
• = Equal to condition
• <> Not equal condition
• > Greater than condition
• < Less than condition
• >= Greater than or equal to condition
• <= Less than or equal to condition

WIKI Pages