__NOTOC__
&lt;div id="toc">&lt;p style="text-align: center">&lt;br> '''Alphabetical QB64 Keyword Listings''' &lt;br>&lt;br>     '''QB64:'''  [[#uA|_A]] [[#uB|_B]] [[#uC|_C]] [[#uD|_D]] [[#uE|_E]] [[#uF|_F]] [[#uG|_G]] [[#uH|_H]] [[#uI|_I]] [[#uK|_K]] [[#uL|_L]] [[#uM|_M]] [[#uN|_N]] [[#uO|_O]] [[#uP|_P]] [[#uR|_R]] [[#uS|_S]] [[#uT|_T]] [[#uU|_U]] [[#uV|_V]] [[#uW|_W]]                &lt;br>&lt;br>'''QBasic:'''  [[#A|A]]   [[#B|B]]   [[#C|C]]   [[#D|D]]   [[#E|E]]    [[#F|F]]   [[#G|G]]   [[#H|H]]    [[#I| I]]    [[#K|K]]   [[#L|L]]   [[#M|M]]   [[#N|N]]    [[#O|O]]   [[#P|P]]    [[#R|R]]   [[#S|S]]    [[#T|T]]   [[#U|U]]   [[#V|V]]   [[#W|W]]   [[#X|X]]   &lt;br>&lt;br> [[#symbols|Symbols]] '''   -   ''' [[#references|References]]&lt;br>&lt;br>{{small|Menu Created by Cyperium}}&lt;/p>&lt;/div>



&lt;center>[[QB64 FAQ|Frequently Asked Questions about QB64]]&lt;/center>

&lt;p style="text-align: center">[[Keyword Reference - By usage|Keywords by usage]]&lt;/p>

&lt;p style="text-align: center">Keywords beginning with _underscores are QB64 specific. '''To use them without the prefix, use [[$NOPREFIX]].'''&lt;/p>

&lt;p style="text-align: center">[[Keywords currently not supported by QB64]]&lt;/p>

&lt;p style="text-align: center">[[Keywords currently not supported by QB64#Keywords_Not_Supported_in_Linux_or_MAC_OSX_versions|Keywords not supported in Linux or MAC versions]]&lt;/p>

&lt;p style="text-align: center">Keywords without the underscore at the beginning should work with both QB 4.5 and QB64.&lt;/p>

&lt;p style="text-align: center">For comments or suggestions about this WIKI goto the [http://www.qb64.org/forum/index.php QB64 Forum].&lt;/p>

&lt;center> '''If code examples only display partial code, use the browser Refresh button'''&lt;/center>

&lt;center>[[Main Page|Main Page with Appendix and Tutorials]]&lt;/center>



==QB64 specific keywords:==

&lt;p style="text-align: center">The underscore prefix is reserved for QB64 _KEYWORDS only.&lt;/p>

&lt;div id = "uA">_A&lt;/div>
* [[_ACCEPTFILEDROP]] (statement) {{text|turns a program window into a valid drop destination for dragging files from Windows Explorer.}}
* [[_ACOS]] (function) {{text|arccosine function returns the angle in radians based on an input [[COS]]ine value range from -1 to 1.}}
* [[_ACOSH]] (function) {{text|returns the nonnegative arc hyperbolic cosine of x, expressed in radians.}}
* [[_ALLOWFULLSCREEN]] (statement) {{text|allows setting the behavior of the ALT+ENTER combo.}}
* [[_ALPHA]] (function) {{text|returns the alpha channel transparency level of a color value used on a screen page or image.}}
* [[_ALPHA32]] (function) {{text|returns the alpha channel transparency level of a color value used on a 32 bit screen page or image.}}
* [[Mathematical_Operations|_ARCCOT]] (function) {{text|is the inverse function of the cotangent. .  http://mathworld.wolfram.com/InverseCosecant.html}}
* [[Mathematical_Operations|_ARCCSC]] (function) {{text|is the inverse function of the cosecant.  http://mathworld.wolfram.com/InverseCosecant.html}}
* [[Mathematical_Operations|_ARCSEC]] (function) {{text|is the inverse function of the secant.  http://mathworld.wolfram.com/InverseSecant.html}}
* [[_ASIN]] (function) {{text|returns the principal value of the arc sine of x, expressed in radians.}}
* [[_ASINH]] (function) {{text|returns the arc hyperbolic sine of x, expressed in radians.}}
* [[_ASSERT]] (statement) {{text|performs debug tests.}}
* [[$ASSERTS]] ([[metacommand]]) {{text|enables the [[_ASSERT]] macro}}
* [[_ATAN2]] (function) {{text|returns the principal value of the [[ATN|arc tangent]] of y/x, expressed in radians.}}
* [[_ATANH]] (function) {{text|returns the arc hyperbolic tangent of x, expressed in radians.}}
* [[_AUTODISPLAY]] (statement) {{text|enables the automatic display of the screen image changes previously disabled by [[_DISPLAY]].}}
* [[_AUTODISPLAY (function)]] {{text|returns the current display mode as true (-1) if automatic or false (0) if per request using [[_DISPLAY]].}}
* [[_AXIS]] (function) {{text|returns a [[SINGLE]] value between -1 and 1 indicating the maximum distance from the device axis center, 0.}}

----


&lt;div id = "uB">_B&lt;/div>
* [[_BACKGROUNDCOLOR]] (function) {{text|returns the current [[SCREEN|screen page]] background color.}}
* [[_BIT]] (` numerical type) {{text|can return only signed values of 0 (bit off) and -1 (bit on). Unsigned 0 or 1.}}
* [[_BLEND]] (statement) {{text|statement turns on 32 bit alpha blending for the current image or screen mode and is default.}}
* [[_BLEND (function)]] {{text|returns -1 if enabled or 0 if disabled by [[_DONTBLEND]] statement.}}
* [[_BLINK]] (statement) {{text|statement turns blinking colors on/off in SCREEN 0}}
* [[_BLINK (function)]] {{text|returns -1 if enabled or 0 if disabled by [[_BLINK]] statement.}}
* [[_BLUE]] (function) {{text|function returns the palette or the blue component intensity of a 32-bit image color.}}
* [[_BLUE32]] (function) {{text|returns the blue component intensity of a 32-bit color value.}}
* [[_BUTTON]] (function) {{text|returns -1 when a controller device button is pressed and 0 when button is released.}}
* [[_BUTTONCHANGE]] (function) {{text|returns -1 when a device button has been pressed and 1 when released. Zero indicates no change.}}
* [[_BYTE]] (%% numerical type) {{text|can hold signed values from -128 to 127 (one byte or _BIT * 8). Unsigned from 0 to 255.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uC">_C&lt;/div>
* [[_CAPSLOCK (function)]] {{text|returns -1 when Caps Lock is on}}
* [[_CAPSLOCK]] (statement) {{text|sets Caps Lock key state}}
* [[$CHECKING]] ([[metacommand]]) {{text|turns event error checking OFF or ON.}}
* [[_CEIL]] (function) {{text|rounds x upward, returning the smallest integral value that is not less than x.}}
* [[_CINP]] (function) {{text|returns a key code from $CONSOLE input}}
* [[_CLEARCOLOR (function)]] {{text|returns the current transparent color of an image.}}
* [[_CLEARCOLOR]] (statement) {{text|sets a specific color index of an image to be transparent}}
* [[_CLIP]] ([[PUT (graphics statement)|PUT]] graphics option) {{text|allows placement of an image partially off of the screen.}}
* [[_CLIPBOARD$]] (function) {{text|returns the operating system's clipboard contents as a [[STRING]].}}
* [[_CLIPBOARD$ (statement)]] {{text|sets and overwrites the [[STRING]] value in the operating system's clipboard.}} 
* [[_CLIPBOARDIMAGE (function)]] {{text|pastes an image from the clipboard into a new QB64 image in memory.}}
* [[_CLIPBOARDIMAGE]] {{text|(statement) copies a valid QB64 image to the clipboard.}}
* [[$COLOR]] ([[metacommand]]) {{text|includes named color constants in a program}}
* [[_COMMANDCOUNT]] (function) {{text|returns the number of arguments passed to the compiled program from the command line.}}
* [[_CONNECTED]] (function) {{text|returns the status of a TCP/IP connection handle.}}
* [[_CONNECTIONADDRESS$]] (TCP/IP function) {{text|returns a connected user's STRING IP address value using the handle.}}
* [[$CONSOLE]] ([[metacommand]]) {{text|creates a console window that can be used throughout a program.}}
* [[_CONSOLE]] (statement) {{text|used to turn a console window OFF or ON or to designate [[_DEST]] _CONSOLE for output.}}
* [[_CONSOLEINPUT]] (function) {{text|fetches input data from a [[$CONSOLE]] window to be read later (both mouse and keyboard)}}
* [[_CONSOLETITLE]] (statement) {{text|creates the title of the console window using a literal or variable [[STRING|string]].}}
* [[_CONTINUE]] (statement) {{text|skips the remaining lines in a control block (DO/LOOP, FOR/NEXT or WHILE/WEND)}}
* [[_CONTROLCHR]] (statement) {{text|[[OFF]] allows the control characters to be used as text characters. [[ON]] (default) can use them as commands.}}
* [[_CONTROLCHR (function)]]  {{text| returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.}}
* [[_COPYIMAGE]] (function) {{text|copies an image handle value to a new designated handle.}}
* [[_COPYPALETTE]] (statement) {{text|copies the color palette intensities from one 4 or 8 BPP image to another image.}}
* [[Mathematical_Operations|_COT]] (function) {{text| the mathematical function cotangent defined by 1/TAN.  http://mathworld.wolfram.com/Cotangent.html}}
* [[Mathematical_Operations|_COTH]] (function) {{text|returns the hyperbolic cotangent.  http://mathworld.wolfram.com/HyperbolicCotangent.html}}
* [[Mathematical_Operations|_COSH]] (function) {{text|returns the hyperbolic cosine of x radians.  http://mathworld.wolfram.com/HyperbolicCosine.html}}
* [[Mathematical_Operations|_CSC]] (function) {{text| the mathematical function cosecant defined by 1/SIN.  http://mathworld.wolfram.com/Cosecant.html}}
* [[Mathematical_Operations|_CSCH]] (function) {{text|returns the hyperbolic cosecant.  http://mathworld.wolfram.com/HyperbolicCosecant.html}}
* [[_CV]] (function) {{text|converts any [[_MK$]] [[STRING]] value to the designated numerical type value.}}
* [[_CWD$]] (function) {{text|returns the current working directory  as a [[STRING]] value.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uD">_D&lt;/div>
* [[_D2G]] (function) {{text|converts degrees to gradient angle values.}}
* [[_D2R]] (function) {{text|converts degrees to radian angle values.}}
* [[DECLARE LIBRARY|DECLARE LIBRARY (QB64 statement block)]] {{text|declares a C++, SDL or Operating System [[SUB]] or [[FUNCTION]] to be used.}}
* [[DECLARE DYNAMIC LIBRARY|DECLARE DYNAMIC LIBRARY (QB64 statement)]] {{text|declares DYNAMIC, CUSTOMTYPE or STATIC library (DLL) [[SUB]] or [[FUNCTION]].}}
* [[$DEBUG]] (precompiler [[metacommand]]) {{text|enables debugging features allowing you to step through your code running line by line and to inspect variables and change their values in real time.}}
* [[_DEFAULTCOLOR]] (function) {{text|returns the current default text color for an image handle or page.}}
* [[_DEFINE]] (statement) {{text|defines a range of variable names according to their first character as a data type.}}
* [[_DEFLATE$]] (function) {{text|compresses a string}}
* [[_DELAY]] (statement) {{text|suspends program execution for a [[SINGLE]] number of seconds.}}
* [[_DEPTHBUFFER]] (statement) {{text|enables, disables, locks or clears depth buffering.}}
* [[_DESKTOPHEIGHT]] (function) {{text|returns the height of the desktop (not program window).}}
* [[_DESKTOPWIDTH]] (function) {{text|returns the width of the desktop (not program window).}}
* [[_DEST]] (statement) {{text|sets the current write image or [[SCREEN]] page destination for prints or graphics.}}
* [[_DEST (function)]] {{text|returns the current destination screen page or image handle value.}}
* [[_DEVICE$]] (function) {{text|returns a [[STRING]] expression listing a designated numbered input device name and types of input.}}
* [[_DEVICEINPUT]] (function) {{text|returns the [[_DEVICES]] number of an [[_AXIS]], [[_BUTTON]] or [[_WHEEL]] event.}}
* [[_DEVICES]] (function) {{text|returns the number of input devices found on a computer system including the keyboard and mouse.}}
* [[_DIR$]] (function) {{text|returns common paths in Windows only, like My Documents, My Pictures, My Music, Desktop.}}
* [[_DIREXISTS]] (function) {{text|returns -1 if the Directory folder name [[STRING|string]] parameter exists. Zero if it does not.}}
* [[_DISPLAY]] (statement) {{text|turns off the [[_AUTODISPLAY|automatic display]] while only displaying the screen changes when called.}}
* [[_DISPLAY (function)]] {{text|returns the handle of the current image that is displayed on the screen.}}
* [[_DISPLAYORDER]] (statement) {{text|designates the order to render software, hardware and custom-opengl-code.}}
* [[_DONTBLEND]] (statement) {{text|statement turns off default [[_BLEND]] 32 bit [[_ALPHA|alpha]] blending for the current image or screen.}}
* [[_DONTWAIT]] ([[SHELL]] action) {{text|specifies that the program should not wait until the shelled command/program is finished.}}
* [[_DROPPEDFILE]] (function) {{text| returns the list of items (files or folders) dropped in a program's window after [[_ACCEPTFILEDROP]] is enabled.}}


----


&lt;div id = "uE">_E&lt;/div>
* [[_ECHO]] (statement) {{text|used in conjunction with $IF for the precompiler.}}
* [[$ELSE]] (precompiler [[metacommand]]) {{text|used in conjunction with $IF for the precompiler.}}
* [[$ELSEIF]] (precompiler [[metacommand]]) {{text|used in conjunction with $IF for the precompiler.}}
* [[$END IF]] (precompiler [[metacommand]]) {{text|used in conjunction with $IF for the precompiler.}}
* [[_ENVIRONCOUNT]] (function) {{text|returns the number of key/value pairs currently exist in the environment table.}}
* [[$ERROR]]  (precompiler [[metacommand]]) {{text|used to trigger compiler errors.}}
* [[_ERRORLINE]] (function) {{text|returns the source code line number that caused the most recent runtime error.}}
* [[_ERRORMESSAGE$]] (function) {{text|returns a human-readable message describing the most recent runtime error.}}
* [[$EXEICON]] (precompiler [[metacommand]]) {{text|used with a .ICO icon file name to embed the image into the QB64 executable.}}
* [[_EXIT (function)]] {{text|prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uF">_F&lt;/div>
* [[_FILEEXISTS]] (function) {{text|returns -1 if the file name [[STRING|string]] parameter exists. Zero if it does not.}}
* [[_FINISHDROP]] (statement) {{text| resets [[_TOTALDROPPEDFILES]] and clears the [[_DROPPEDFILE]] list of items (files/folders).}}
* [[_FLOAT]] (numerical type ##) {{text|offers the maximum floating-point decimal precision available using QB64.}}
* [[_FONT]] (statement) {{text|sets the current font handle to be used by PRINT or [[_PRINTSTRING]].}}
* [[_FONT (function)]] {{text|creates a new font handle from a designated image handle.}}
* [[_FONTHEIGHT]] (function) {{text|returns the current text or font height.}}
* [[_FONTWIDTH]] (function) {{text|returns the current text or font width.}}
* [[_FREEFONT]] (statement) {{text|releases the current font handle from memory.}}
* [[_FREEIMAGE]] (statement) {{text|releases a designated image handle from memory.}}
* [[_FREETIMER]] (function) {{text|returns an unused timer number value to use with [[ON TIMER(n)]].}}
* [[_FULLSCREEN]] (statement) {{text|sets the program window to full screen or OFF. Alt + Enter does it manually.}}
* [[_FULLSCREEN (function)]] {{text|returns the fullscreen mode in use by the program.}}

----


&lt;div id = "uG">_G&lt;/div>
* [[_G2D]] (function) {{text|converts gradient to degree angle values.}}
* [[_G2R]] (function) {{text|converts gradient to radian angle values.}}
* [[_GREEN]] (function) {{text|function returns the palette or the green component intensity of a 32-bit image color.}}
* [[_GREEN32]] (function) {{text|returns the green component intensity of a 32-bit color value.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uH">_H&lt;/div>
* [[_HEIGHT]] (function) {{text|returns the height of a designated image handle.}}
* [[_HIDE]] ([[SHELL]] action) {{text| hides the command line display during a shell.}}
* [[_HYPOT]] (function) {{text|returns the hypotenuse of a right-angled triangle whose legs are x and y.}}


----


&lt;div id = "uI">_I&lt;/div>
* [[$IF]] (precompiler [[metacommand]]) {{text|used to set an IF condition for the precompiler.}}
* [[_ICON]] (statement) {{text|designates a [[_LOADIMAGE]] image file handle to be used as the program's icon or loads the embedded icon (see [[$EXEICON]]).}}
* [[_INCLERRORFILE$]] (function) {{text|returns the name of the original source code $INCLUDE module that caused the most recent error.}}
* [[_INCLERRORLINE]] (function) {{text|returns the line number in an included file that caused the most recent error.}}
* [[_INFLATE$]] (function) {{text|decompresses a string}}
* [[_INSTRREV]] (function) {{text|allows searching for a substring inside another string, but unlike [[INSTR]] it returns the last occurrence instead of the first one.}}
* [[_INTEGER64]] (&amp;&amp; numerical type) {{text|can hold whole numerical values from -9223372036854775808 to 9223372036854775807.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>


----


&lt;div id = "uK">_K&lt;/div>
*[[_KEYCLEAR]] (statement) {{text|clears the keyboard buffers for INKEY$, _KEYHIT, and INP.}}
*[[_KEYDOWN]] (function) {{text|returns whether CTRL, ALT, SHIFT, combinations and other keys are pressed.}}
*[[_KEYHIT]] (function) {{text|returns [[ASCII]] one and two byte, Virtual Key and [[Unicode]] keyboard key press codes.}}


----


&lt;div id = "uL">_L&lt;/div>
* [[$LET]] (precompiler [[metacommand]]) {{text|used to set a flag variable for the precompiler.}}
* [[_LASTAXIS]] (function) {{text|returns the number of axis available on a specified number device listed by [[_DEVICE$]].}}
* [[_LASTBUTTON]] (function) {{text|returns the number of buttons available on a specified number device listed by [[DEVICE$]].}} 
* [[_LASTWHEEL]] (function) {{text|returns the number of scroll wheels available on a specified number device listed by [[_DEVICE$]].}}
* [[_LIMIT]] (statement) {{text|sets the loops per second rate to slow down loops and limit CPU usage.}}
* [[_LOADFONT]] (function) {{text|designates a [[_FONT|font]] TTF file to load and returns a handle value.}}
* [[_LOADIMAGE]] (function) {{text|designates an image file to load and returns a handle value.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uM">_M&lt;/div>
* [[_MAPTRIANGLE]] (statement) {{text|maps a triangular image source area to put on a destination area.}}
* [[_MAPUNICODE]] (statement) {{text|maps a [[Unicode]] value to an [[ASCII]] code number.}}
* [[_MAPUNICODE (function)]] {{text|returns the [[Unicode]] (UTF32) code point value of a mapped [[ASCII]] character code.}}
* [[_MEM (function)]] {{text|returns [[_MEM]] block referring to the largest continuous memory region beginning at a designated variable's offset.}}
* [[_MEM]] (variable type) {{text|contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory.}}
* [[_MEMCOPY]] (statement) {{text|copies a value from a designated OFFSET and SIZE [[TO]] a block of memory at a designated OFFSET.}}
* [[_MEMELEMENT]] (function) {{text|returns a [[_MEM]] block referring to a variable's memory (but not past it).}}
* [[_MEMEXISTS]] (function) {{text|verifies that a memory block exists for a memory variable name or returns zero.}}
* [[_MEMFILL]] (statement) {{text|fills a designated memory block OFFSET with a certain SIZE and TYPE of value.}}
* [[_MEMFREE]] (statement) {{text|frees a designated memory block in a program. Only free memory blocks once.}}
* [[_MEMGET]] (statement) {{text|reads a value from a designated memory block at a designated  OFFSET}}
* [[_MEMGET (function)]] {{text|returns a value from a designated memory block and OFFSET using a designated variable [[TYPE]].}}
* [[_MEMIMAGE]] (function) {{text|returns a [[_MEM]] block referring to a designated image handle's memory}}
* [[_MEMNEW]] (function) {{text|allocates new memory with a designated SIZE and returns a [[_MEM]] block referring to it.}}
* [[_MEMPUT]] (statement) {{text|places a designated value into a designated memory block OFFSET}}
* [[_MEMSOUND]] (function) {{text|returns a [[_MEM]] block referring to a designated sound handle's memory}}
* [[_SCREENMOVE|_MIDDLE]] (_SCREENMOVE parameter) {{text|centers the program window on the desktop in any screen resolution.}}
* [[_MK$]] (function) {{text|converts a numerical value to a designated [[ASCII]] [[STRING]] value.}}
* [[_MOUSEBUTTON]] (function) {{text|returns the status of a designated mouse button.}}
* [[_MOUSEHIDE]] (statement) {{text|hides the mouse pointer from view}}
* [[_MOUSEINPUT]] (function) {{text|returns a value if the mouse status has changed since the last read.}}
* [[_MOUSEMOVE]] (statement) {{text|moves the mouse pointer to a designated position on the program [[SCREEN]].}}
* [[_MOUSEMOVEMENTX]] (function) {{text|returns the relative horizontal position of the mouse cursor compared to the previous position.}}
* [[_MOUSEMOVEMENTY]] (function) {{text|returns the relative vertical position of the mouse cursor compared to the previous position.}}
* [[_MOUSESHOW]] (statement) {{text|displays the mouse cursor after it has been hidden or can change the cursor shape.}}
* [[_MOUSEWHEEL]] (function) {{text|returns the number of mouse scroll wheel "clicks" since last read.}}
* [[_MOUSEX]] (function) {{text|returns the current horizontal position of the mouse cursor.}}
* [[_MOUSEY]] (function) {{text|returns the current vertical position of the mouse cursor.}}


----


&lt;div id = "uN">_N&lt;/div>
* [[_NEWIMAGE]] (function) {{text|creates a designated size program [[SCREEN]] or page image and returns a handle value.}}
* [[$NOPREFIX]] ([[metacommand]]) {{text|allows QB64-specific keywords to be used without the underscore prefix.}}
* [[_NUMLOCK (function)]] {{text|returns -1 when Num Lock is on}}
* [[_NUMLOCK]] (statement) {{text|sets Num Lock key state}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uO">_O&lt;/div>
* [[_OFFSET (function)]] {{text|returns the memory offset of a variable when used with [[DECLARE LIBRARY]] or [[_MEM]] only.}}
* [[_OFFSET]] (%&amp; numerical type) {{text|can be used store the value of an offset in memory when using [[DECLARE LIBRARY]] or [[MEM]] only.}}
* [[_OPENCLIENT]] (TCP/IP function) {{text|connects to a Host on the Internet as a Client and returns the Client status handle.}}
* [[_OPENCONNECTION]] (TCP/IP function) {{text|open's a connection from a client that the host has detected and returns a status handle.}}
* [[_OPENHOST]] (TCP/IP function) {{text|opens a Host and returns a Host status handle.}}
* [[OPTION _EXPLICIT]] (precompiler statement) {{text|instructs the compiler to require variable declaration with [[DIM]] or an equivalent statement.}}
* [[OPTION _EXPLICITARRAY]] (precompiler statement) {{text|instructs the compiler to require array declaration with [[DIM]] or an equivalent statement.}} 
* [[_OS$]] (function) {{text|returns the QB64 compiler version in which the program was compiled as [WINDOWS], [LINUX] or [MACOSX] and [32BIT] or [64BIT].}}


----


&lt;div id = "uP">_P&lt;/div>
* [[_PALETTECOLOR]] (statement) {{text|sets the color value of a palette entry of an image using 256 colors or less palette modes.}}
* [[_PALETTECOLOR (function)]] {{text|return the 32 bit attribute color setting of an image or screen page handle's palette.}}
* [[_PI]] (function) {{text|returns the value of '''π''' or parameter multiples for angle or [[CIRCLE|circle]] calculations.}}
* [[_PIXELSIZE]] (function) {{text|returns the pixel palette mode of a designated image handle.}}
* [[_PRESERVE]] ([[REDIM]] action) {{text|preserves the data presently in an array when [[REDIM]] is used.}}
* [[_PRINTIMAGE]] (statement) {{text|sends an image to the printer that is stretched to the current printer paper size.}}
* [[_PRINTMODE]] (statement) {{text|sets the text or _FONT printing mode on a background when using PRINT or [[_PRINTSTRING]].}}
* [[_PRINTMODE (function)]] {{text|returns the present [[_PRINTMODE]] value number.}}
* [[_PRINTSTRING]] (statement) {{text|locates and prints a text [[STRING|string]] using graphic coordinates.}}
* [[_PRINTWIDTH]] (function) {{text|returns the pixel width of a text string to be printed using [[_PRINTSTRING]].}}
* [[_PUTIMAGE]] (statement) {{text|maps a rectangular image source area to an image destination area.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uR">_R&lt;/div>
* [[_R2D]] (function) {{text|converts radians to degree angle values.}}
* [[_R2G]] (function) {{text|converts radians to gradient angle values.}}
* [[_RED]] (function) {{text|function returns the palette or the red component intensity of a 32-bit image color.}}
* [[_RED32]] (function) {{text|returns the red component intensity of a 32-bit color value.}}
* [[_READBIT]] (function) {{text|returns the state of the specified bit of an integer variable.}}
* [[_RESETBIT]] (function) {{text|is used to set the specified bit of an integer variable to 0.}}
* [[$RESIZE]] ([[metacommand]]) {{text|used with ON allows a user to resize the program window where OFF does not.}}
* [[_RESIZE]] (statement) {{text|sets resizing of the window ON or OFF and sets the method as _STRETCH or _SMOOTH.}}
* [[_RESIZE (function)]] {{text|returns -1 when a program user wants to resize the program screen.}}
* [[_RESIZEHEIGHT]] (function) {{text|returns the requested new user screen height when [[$RESIZE]]:ON allows it.}}
* [[_RESIZEWIDTH]] (function) {{text|returns the requested new user screen width when [[$RESIZE]]:ON allows it.}}
* [[_RGB]] (function) {{text|returns the closest palette index OR the [[LONG]] 32 bit color value in 32 bit screens.}}
* [[_RGB32]] (function) {{text|returns the [[LONG]] 32 bit color value in 32 bit screens only}}
* [[_RGBA]] (function) {{text|returns the closest palette index OR the [[LONG]] 32 bit color value in 32 bit screens with the [[ALPHA]]}}
* [[_RGBA32]] (function) {{text|returns the [[LONG]] 32 bit color value in 32 bit screens only with the [[ALPHA]]}}
* [[_ROUND]] (function) {{text|rounds to the closest [[INTEGER]], [[LONG]] or [[_INTEGER64]] numerical value.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uS">_S&lt;/div>
* [[Mathematical_Operations#Derived_Mathematical_Functions|_SEC]] (function) {{text| the mathematical function secant defined by 1/COS.  http://mathworld.wolfram.com/Secant.html}}
* [[Mathematical_Operations#Derived_Mathematical_Functions|_SECH]] (function) {{text|returns the hyperbolic secant.  http://mathworld.wolfram.com/HyperbolicSecant.html}}
* [[_SCREENCLICK]] (statement) {{text|simulates clicking on a point on the desktop screen with the left mouse button.}}
* [[_SCREENEXISTS]] (function) {{text|returns a -1 value once a screen has been created.}}
* [[$SCREENHIDE]] ([[metacommand]]) {{text|hides the program window from view.}}
* [[_SCREENHIDE]] (statement) {{text|hides the program window from view.}}
* [[_SCREENICON (function)]] {{text|returns -1 or 0 to indicate if the window has been minimized to an icon on the taskbar.}} 
* [[_SCREENICON]] (statement) {{text|minimizes the program window to an icon on the taskbar.}} 
* [[_SCREENIMAGE]] (function) {{text|creates an image of the current desktop and returns an image handle.}}
* [[_SCREENMOVE]] (statement) {{text|positions program window on the desktop using designated coordinates or the _MIDDLE option.}}
* [[_SCREENPRINT]] (statement) {{text|simulates typing text into a Windows program using the keyboard.}}
* [[$SCREENSHOW]] ([[metacommand]]) {{text|displays that program window after it was hidden by [[$SCREENHIDE]].}}
* [[_SCREENSHOW]] (statement) {{text|displays the program window after it has been hidden by [[_SCREENHIDE]].}}
* [[_SCREENX]] (function) {{text|returns the program window's upper left corner horizontal position on the desktop.}}
* [[_SCREENY]] (function) {{text|returns the program window's upper left corner vertical position on the desktop.}}
* [[_SCROLLLOCK (function)]] {{text|returns -1 when Scroll Lock is on}}
* [[_SCROLLLOCK]] (statement) {{text|sets Scroll Lock key state}}

* [[_SETALPHA]] (statement) {{text|sets the alpha channel transparency level of some or all of the pixels of an image.}}
* [[_SETBIT]] (function) {{text|is used to set the specified bit of an integer variable to 1.}}
* [[_SHELLHIDE]] (function) {{text|returns the code sent by a program exit using [[END]] or [[SYSTEM]] followed by an [[INTEGER]] value.}}
* [[_SHL]] (function) {{text|used to shift the bits of a numerical value to the left}}
* [[_SHR]] (function) {{text|used to shift the bits of a numerical value to the right.}}
* [[Mathematical_Operations|_SINH]] (function) {{text|returns the hyperbolic sine of x radians.}}
* [[_SNDBAL]] (statement) {{text|attempts to set the balance or 3D position of a sound file.}}
* [[_SNDCLOSE]] (statement) {{text|frees and unloads an open sound using the sound handle created by [[_SNDOPEN]].}}
* [[_SNDCOPY]] (function) {{text|copies a sound handle value to a new designated handle.}}
* [[_SNDGETPOS]] (function) {{text|returns the current playing position in seconds from a sound file.}}
* [[_SNDLEN]] (function) {{text|returns the length of a sound in seconds from a sound file.}}
* [[_SNDLIMIT]] (statement) {{text|stops playing a sound after it has been playing for a set number of seconds.}}
* [[_SNDLOOP]] (statement) {{text|plays a sound repeatedly until [[_SNDSTOP]] is used.}}
* [[_SNDOPEN]] (function) {{text|loads a sound file and returns a sound handle.}}
* [[_SNDOPENRAW]] (function) {{text|opens a new channel to shove [[_SNDRAW]] content into without mixing.}}
* [[_SNDPAUSE]] (statement) {{text|stops playing a sound file until resumed.}}
* [[_SNDPAUSED]] (function) {{text|returns the current pause status of a sound file handle.}}
* [[_SNDPLAY]] (statement) {{text|plays a sound file handle that was created by [[_SNDOPEN]] or [[_SNDCOPY]].}}
* [[_SNDPLAYCOPY]] (statement) {{text|copies a sound handle, plays it and automatically closes the copy when done.}}
* [[_SNDPLAYFILE]] (statement) {{text|directly plays a designated sound file.}}
* [[_SNDPLAYING]] (function) {{text|returns the current playing status of a sound handle.}}
* [[_SNDRATE]] (function) {{text|returns the sound card sample rate to set [[_SNDRAW]] durations.}}
* [[_SNDRAW]] (statement) {{text|creates mono or stereo sounds from calculated wave frequency values.}}
* [[_SNDRAWDONE]] (statement) {{text|pads a [[_SNDRAW]] stream so the final (partially filled) buffer section is played.}}
* [[_SNDRAWLEN]] (function) {{text|returns a value until the [[_SNDRAW]] buffer is empty.}}
* [[_SNDSETPOS]] (statement) {{text|sets the playing position of a sound handle.}}
* [[_SNDSTOP]] (statement) {{text|stops playing a sound handle.}}
* [[_SNDVOL]] (statement) {{text|sets the volume of a sound file handle.}}
* [[_SOURCE]] (statement) {{text|sets the source image handle.}}
* [[_SOURCE (function)]] {{text|returns the present source image handle value.}}
* [[_STARTDIR$]] (function) {{text|returns the user's program calling path as a [[STRING]].}}
* [[_STRCMP]] (function) {{text|compares the relationship between two strings.}}
* [[_STRICMP]] (function) {{text|compares the relationship between two strings, without regard for case-sensitivity.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "uT">_T&lt;/div>

* [[Mathematical_Operations|_TANH]] (function) {{text|returns the hyperbolic tangent of x radians.}}
* [[_TITLE]] (statement) {{text|sets the program title [[STRING|string]] value.}}
* [[_TITLE$]] (function) {{text|gets the program title [[STRING|string]] value.}}
* [[_TOGGLEBIT]] (function) {{text|is used to toggle the specified bit of an integer variable from 1 to 0 or 0 to 1.}}
* [[_TOTALDROPPEDFILES]] (function) {{text| returns the number of items (files or folders) dropped in a program's window after [[_ACCEPTFILEDROP]] is enabled.}}
* [[_TRIM$]] (function) {{text|shorthand to [[LTRIM$]]([[RTRIM$]]("text"))}}


----


&lt;div id = "uU">_U&lt;/div>

* [[_UNSIGNED]] (numerical type) {{text|expands the positive range of numerical [[INTEGER]], [[LONG]] or [[_INTEGER64]] values returned.}}


----


&lt;div id = "uV">_V&lt;/div>

* [[$VERSIONINFO]] ([[metacommand]]) {{text|adds metadata to Windows only binaries for identification purposes across the OS.}}
* [[$VIRTUALKEYBOARD]] ([[metacommand]] - Deprecated) {{text|turns the virtual keyboard ON or OFF for use in touch-enabled devices}}


----


&lt;div id = "uW">_W&lt;/div>

* [[_WHEEL]] (function) {{text|returns -1 when a control device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.}}
* [[_WIDTH (function)]] {{text|returns the width of a [[SCREEN]] or image handle.}}
* [[_WINDOWHANDLE]] (function) {{text|returns the window handle assigned to the current program by the OS. Windows-only.}}
* [[_WINDOWHASFOCUS]] (function) {{text|returns true (-1) if the current program's window has focus. Windows-only.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>


&lt;center>([[Keyword Reference - Alphabetical#QB64 specific keywords:|Top of QB64 specific keywords]])&lt;/center>

==Original QBasic keywords:==
'''&lt;p style="text-align: center">These QBasic keywords (with a few noted exceptions) will work in all versions of QB64.&lt;/p>'''

&lt;div id = "A">A&lt;/div>
* [[ABS]] (function) {{text|converts any negative numerical value to a positive value.}}
* [[CALL ABSOLUTE|ABSOLUTE]] (statement) {{text|is used to access computer interrupt registers.}}
* [[ACCESS]] (file statement) {{text|sets the read and write access of a file when opened.}}
* [[ALIAS]] (QB64 [[DECLARE LIBRARY]] statement) {{text|denotes the actual name of an imported [[FUNCTION]] or [[SUB]] procedure.}}
* [[AND]] (logical operator) {{text|is used to compare two numerical values bitwise.}}
* [[AND (boolean)]] {{text| conditonal operator is used to include another evaluation in an [[IF...THEN]] or [[Boolean]] statement.}}
* [[APPEND]] (file mode) {{text|creates a new file or allows an existing file to have data added using [[WRITE (file statement)|WRITE]] or [[PRINT (file statement)|PRINT]]}}
* [[AS]] {{text|is used to denote a variable type or file number.}}
* [[ASC]] (function) {{text|returns the [[ASCII]] code number of a text [[STRING|string]] character.}}
* [[ASC (statement)]] (QB64 only) {{text|sets the code value of an [[ASCII]] text character at a designated [[STRING|string]] position.}}
* [[ATN]] (function) {{text|or arctangent returns the angle in radians of a numerical [[TAN|tangent]] value.}}


----


&lt;div id = "B">B&lt;/div>
* [[BEEP]] (statement) {{text|creates an error sound of a fixed duration.}}
* [[BINARY]] (file mode) {{text|creates or opens an existing file for [[GET|read]] and [[PUT|write]] byte-wise access.}}
* [[BLOAD]] (statement) {{text|transfers the contents of a [[BINARY]] [[BSAVE]] file to a specific [[Arrays|array]].}}
* [[BSAVE]] (statement) {{text|transfers the contents of an [[Arrays|array]] to a specified size [[BINARY]] file.}}
* [[BYVAL]] (statement) {{text|assigns a numerical variable value by its value, not the name.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "C">C&lt;/div>
* [[CALL]] (statement) {{text|optional statement that sends the program to a [[SUB]] procedure.  Requires parameters be enclosed in brackets(parenthesis).}}
* [[CALL ABSOLUTE]] (statement) {{text|is used to access computer interrupt registers.}}
* [[CASE]] ([[SELECT CASE]] condition) {{text|designates specific conditions in a [[SELECT CASE]] statement block.}}
* [[CASE ELSE]] ([[SELECT CASE]] condition) {{text|designates an alternative condition to be evaluated in a [[SELECT CASE]] statement block.}}
* [[CASE IS]] ([[SELECT CASE]] condition) {{text|designates specific conditions in a [[SELECT CASE]] statement block.}}
* [[CHAIN]] (statement) {{text|sends a program to another specified program module or compiled program.}}
* [[CHDIR]] (statement) {{text|changes the current program path for file access.}}
* [[CHR$]] (function) {{text|returns a text [[STRING|string]] character by the specified [[ASCII]] code number.}}
* [[CINT]] (function) {{text|returns the closest [[INTEGER]] value of a numerical value.}}
* [[CIRCLE]] (statement) {{text|creates a circle, ellipse or arc at a designated graphical coordinate position.}}
* [[CLEAR]] (statement) {{text|sets all variable and array values to zero number values or empty [[STRING]]s.}}
* [[CLNG]] (function) {{text|returns the closest [[LONG]] value of a numerical value.}}
* [[CLOSE]] (statement) {{text|closes specific file number(s) or all files when a number is not specified.}}
* [[CLS]] (statement) {{text|clears a program [[SCREEN|screen]], [[VIEW]] port or [[WINDOW]].}}
* [[COLOR]] (statement) {{text|sets the current text foreground and/or background color to be used.}}
* [[COMMAND$]] (function) {{text|returns the command line arguments passed when a program is run.}}
* [[COMMON]] (statement) {{text|sets a variable name as shared by [[CHAIN]]ed program modules.}}
* [[CONST]] (statement) {{text|sets a variable name and its value as a constant value to be used by all procedures.}}
* [[COS]] (function) {{text|returns the cosine of a radian angle value.}}
* [[CSNG]] (function) {{text|returns the closest [[SINGLE]] value of a numerical value.}}
* [[CSRLIN]] (function) {{text|returns the present [[PRINT]] cursor text row [[SCREEN]] coordinate position.}}
* [[CVD]] (function) {{text|returns the [[DOUBLE]] numerical value of an 8 byte [[MKD$]] [[STRING|string]].}}
* [[CVDMBF]] (function) {{text|returns the [[DOUBLE]] numerical value of a [[MKDMBF$|Microsoft Binary Format]] [[STRING|string]].}}
* [[CVI]] (function) {{text|returns the [[INTEGER]] numerical value of a 2 byte [[MKI$]] [[STRING|string]].}}
* [[CVL]] (function) {{text|returns the [[LONG]] numerical value of a 4 byte [[MKL$]] [[STRING|string]].}}
* [[CVS]] (function) {{text|returns the [[SINGLE]] numerical value of a 4 byte [[MKS$]] [[STRING|string]].}}
* [[CVSMBF]] (function) {{text|returns the [[SINGLE]] numerical value of a [[MKSMBF$|Microsoft Binary Format]] [[STRING|string]].}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "D">D&lt;/div>
* [[DATA]] (statement) {{text|creates a line of fixed program information separated by commas.}}
* [[DATE$]] (function) {{text|returns the present Operating System date [[STRING|string]] formatted as mm-dd-yyyy.}}
* [[DECLARE LIBRARY|DECLARE LIBRARY (QB64 statement block)]] {{text|declares a C++, SDL or Operating System [[SUB]] or [[FUNCTION]] to be used.}}
* [[DECLARE DYNAMIC LIBRARY|DECLARE DYNAMIC LIBRARY (QB64 statement)]] {{text|declares DYNAMIC, CUSTOMTYPE or STATIC  library(DLL) [[SUB]] or [[FUNCTION]].}}
* [[DEF SEG]] (statement) {{text|defines a segment in memory to be accessed by a memory procedure.}}
* [[DEFDBL]] (statement) {{text|defines a set of undefined variable name starting letters as [[DOUBLE]] type numerical values.}}
* [[DEFINT]] (statement) {{text|defines a set of undefined variable name starting letters as [[INTEGER]] type numerical values.}}
* [[DEFLNG]] (statement) {{text|defines a set of undefined variable name starting letters as [[LONG]] type numerical values.}}
* [[DEFSNG]] (statement) {{text|defines a set of undefined variable name starting letters as [[SINGLE]] type numerical values.}}
* [[DEFSTR]] (statement) {{text|defines a set of undefined variable name starting letters as [[STRING]] type values.}}
* [[DIM]] (statement) {{text|defines a variable as a specified type and can size a [[STATIC]]  array.}}
* [[DO...LOOP]] (statement) {{text|sets a recursive procedure loop that can be ignored or exited using conditional arguments.}}
* [[DOUBLE]] (numerical type #) {{text|8 byte value limited to values up to 15 decimal places.}}
* [[DRAW]] (statement) {{text|uses a special [[STRING|string]] format that draws graphical lines in specific directions.}}
* [[$DYNAMIC]] ([[metacommand]]) {{text|used at the start of a program to set all program arrays as changeable in size using [[REDIM]].}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "E">E&lt;/div>
* [[ELSE]] ([[IF...THEN]] statement) {{text|is used to direct program flow when no other condition is evaluated as true.}}
* [[ELSEIF]] ([[IF...THEN]] statement) {{text|is used with [[THEN]] to set alternate conditional evaluations.}}
* [[END]] (statement) {{text|sets the end of a program, sub-procedure, statement block, [[DECLARE LIBRARY]] or [[TYPE]] definition.}}
* [[IF...THEN|END IF]] (statement) {{text|[[END]]s an IF...THEN conditional block statement using more than one line of code.}}
* [[ENVIRON]] (statement) {{text|temporarily sets an environmental key/value pair.}}
* [[ENVIRON$]] (function) {{text|returns a specified string setting or numerical position as an environmental [[STRING]] value.}}
* [[EOF]] (file function) {{text|returns -1 when a file [[INPUT (file statement)|INPUT]] or [[GET]] has reached the end of a file.}}
* [[EQV]] (logic operator) {{text|is used to compare two numerical values bitwise.}}
* [[ERASE]] (statement) {{text|clears the values from [[$STATIC]] arrays and completely removes [[$DYNAMIC]] arrays.}}
* [[ERL]] (error function) {{text|returns the closest line number before an error occurred if line numbers are used.}}
* [[ERR]] (function) {{text|returns the [[ERROR Codes|ERROR code]] when a program error occurs.}}
* [[ERROR]] (statement) {{text|sets a specific [[ERROR Codes|ERROR code]] to be simulated.}}
* [[EXIT]] (statement) {{text|immediately exits a program [[FOR...NEXT]], [[DO...LOOP]], [[SUB]] or [[FUNCTION]] procedure.}}
* [[EXP]] (function) {{text|returns the value of e to the exponential power specified.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "F">F&lt;/div>
* [[FIELD]] (statement) {{text|defines the variable sizes to be written or read from a file.}}
* [[FILES]] (statement) {{text|returns a list of files in the current directory path to the [[SCREEN]].}}
* [[FIX]] (function) {{text|returns the rounded [[INTEGER]] value of a numerical value.}}
* [[FOR...NEXT]] (statement) {{text|creates a recursive loop procedure that loop a specified number of times.}}
* [[FOR (file statement)]] {{text|used in an [[OPEN]] file or device statement to indicate the access mode.}}
* [[TIMER (statement)|FREE (QB64 TIMER statement)]] {{text|frees a numbered TIMER event in QB64.}}
* [[FREEFILE]] (file function) {{text|returns a file number that is currently not in use by the Operating System.}}
* [[FUNCTION]] (procedure block) {{text|sub-procedure that can calculate and return one value to a program in its name.}}


----


&lt;div id = "G">G&lt;/div>
* [[GET]] (file statement) {{text|reads a file sequencially or at a specific position and returns the value as the variable type used.}}
* [[GET (TCP/IP statement)|GET (QB64 TCP/IP statement)]] {{text|reads a connection port to return a value.}}
* [[GET (graphics statement)]] {{text|maps an area the current [[SCREEN|screen's]] video information and places it in an [[INTEGER]] [[arrays|array]].}}
* [[GOSUB]] (statement) {{text|sends the program to a designated line label procedure in the main program.}}
* [[GOTO]] (statement) {{text|sends the program to a designated line number or line label in a procedure.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "H">H&lt;/div>
* [[HEX$]] (function) {{text|returns the hexadecimal(base 16) [[STRING]] representation of a decimal [[INTEGER]] value.}}


----


&lt;div id = "I">I&lt;/div>
* [[IF...THEN]] (statement) {{text|a conditional block statement used control program flow.}}
* [[IMP]] (logic operator) {{text|is used to compare two numerical values bitwise.}}
* [[$INCLUDE]] ([[metacommand]]) {{text|designates a text code library file to include with the program.}}
* [[INKEY$]] (function) [[ASCII]] {{text|returns a [[STRING|string]] value entry from the keyboard.}}
* [[INP]] (function) {{text|returns a numerical value from a specified port register address. See [[Keyboard scancodes]]}}
* [[INPUT]] (statement) {{text|a user input that returns a value to one or more specified variable(s).}}
* [[INPUT (file mode)]] {{text|[[OPEN]] statement that only allows an existing file to be read using [[INPUT (file statement)]] or [[INPUT$]].}}
* [[INPUT (file statement)]] {{text|reads a file sequentially using the variable types designated.}} 
* [[INPUT$]] (function) {{text|returns a designated number of [[STRING|string]] bytes from the keyboard entry or a file number.}}
* [[INSTR]] (function) {{text|returns the position in a text [[STRING|string]] where a character sequence match starts.}}
* [[INT]] (function) {{text|rounds a numerical value to an [[INTEGER]] value by removing the decimal point fraction.}}
* [[INTEGER]] (% numerical type) {{text|2 byte whole values from -32768 to 32767.}}
* [[INTERRUPT]] (statement) {{text|is used to access computer interrupt registers.}}
* [[INTERRUPTX]] (statement) {{text|is used to access computer interrupt registers.}}


&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "K">K&lt;/div>
* [[KEY n]] (statement) {{text|used with [[ON KEY(n)]] events to assign a "softkey" string to a key or create a  user defined key.}}
* [[KEY(n)]] (statement) {{text|used with [[ON KEY(n)]] events to assign, enable, disable or suspend event trapping.}}
* [[KEY LIST]] (statement) {{text|lists the 12 Function key soft key string assignments going down left side of screen.}}
* [[KILL]] (statement) {{text|deletes the specified file without a warning. Remove empty folders with [[RMDIR]].}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "L">L&lt;/div>
* [[LBOUND]] (function) {{text|returns the lower boundary of the specified array.}}
* [[LCASE$]] (function) {{text|returns the lower case value of a [[STRING]].}}
* [[LEFT$]] (function) {{text|returns the specified number of text characters from the left end of a [[STRING]].}}
* [[LEN]] (function) {{text|returns the length or number of characters in a [[STRING]] value in bytes.}}
* [[LET]] (statement) {{text|assigns a variable a literal value. Not required.}}
* [[LINE]] (statement) {{text|creates a graphic line or box on the [[SCREEN]].}}
* [[LINE INPUT]] (statement) {{text|user input can be any text character including commas and quotes as a [[STRING]] value only.}}
* [[LINE INPUT (file statement)]] {{text|returns an entire text file line and returns it as a [[STRING]] value.}}
* [[KEY LIST|LIST]] {{text|displays the current [[ON KEY(n)]] function key (F1 to F10) "soft key" settings.}}
* [[LOC]] (function) {{text|returns the present file byte position or number of bytes in the [[OPEN COM]] buffer.}}
* [[LOCATE]] (statement) {{text|sets the text cursor's row and column position for a [[PRINT]] or [[INPUT]] statement.}} 
* [[LOCK]] (statement) {{text|restricts access to portions or all of a file by other programs or processes.}}
* [[LOF]] (function) {{text|returns the size of an [[OPEN]] file in bytes.}}
* [[LOG]] (function) {{text|returns the natural logarithm of a specified numerical value}}
* [[LONG]] (&amp; numerical type) {{text|4 byte whole values from -2147483648 to 2147483647.}}
* [[DO...LOOP|LOOP]] (block statement) {{text|bottom end of a recursive DO loop.}}
* [[LPOS]] (function) {{text|returns the printer head position.}}
* [[LPRINT]] (statement) {{text|sends [[STRING]] data to the default LPT or USB printer.}}
* [[LPRINT USING]] (statement) {{text|sends template formatted text to the default LPT or USB  printer.}}
* [[LSET]] (statement) {{text|left justifies the text in a string so that there are no leading spaces.}}
* [[LTRIM$]] (function) {{text|returns a [[STRING|string]] value with no leading spaces.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "M">M&lt;/div>
* [[MID$]] (function) {{text|returns a designated portion of a [[STRING]].}}
* [[MID$ (statement)]] {{text|redefines existing characters in a [[STRING]].}}
* [[MKD$]] (function) {{text|returns an 8 byte [[ASCII]] [[STRING|string]] representation of a [[DOUBLE]] numerical value.}}
* [[MKDIR]] (statement) {{text|creates a new folder in the current or designated program path.}}
* [[MKDMBF$]] (function) {{text|returns an 8 byte Microsoft Binary Format [[STRING]] representation of a [[DOUBLE]] numerical value.}}
* [[MKI$]] (function) {{text|returns a 2 byte [[ASCII]] [[STRING|string]] representation of an [[INTEGER]].}} 
* [[MKL$]] (function) {{text|returns a 4 byte [[ASCII]] [[STRING|string]] representation of a [[LONG]] numerical value.}}
* [[MKS$]] (function) {{text|returns a 4 byte [[ASCII]] [[STRING|string]] representation of a [[SINGLE]] numerical value.}}
* [[MKSMBF$]] (function) {{text|returns an 8 byte Microsoft Binary Format [[STRING]] representation of a [[DOUBLE]] numerical value.}}
* [[MOD]] (math operator) {{text|performs integer remainder division on a numerical value.}}


----


&lt;div id = "N">N&lt;/div>
* [[NAME]] (statement) {{text|names an existing file name [[AS]] a new file name.}}
* [[NEXT]] (statement) {{text|bottom end of a [[FOR...NEXT]] counter loop to returns to the start or a [[RESUME|RESUME NEXT]] error.}}
* [[NOT]] (logical operator) {{text|inverts the value of a logic operation or returns True when a [[boolean]] evaluation is False.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "O">O&lt;/div>
* [[OCT$]] (function) {{text|returns the octal (base 8) [[STRING]] representation of a decimal [[INTEGER]] value.}}
* [[OFF]] (event statement) {{text|turns off all [[ON]] event checking.}}
* [[ON ERROR]] (statement) {{text|sets up and activates an error event checking procedure call. Use to avoid program errors.}}
* [[ON KEY(n)]] (statement) {{text|sets up a keyboard key entry event procedure.}}
* [[ON STRIG(n)]] (statement) {{text|sets up a joystick button event procedure call.}}
* [[ON TIMER(n)]] (statement) {{text|sets up a timed event procedure call.}}
* [[ON...GOSUB]] (statement) {{text|sets up a numerical event procedure call.}}
* [[ON...GOTO]] (statement) {{text|sets up a numerical event procedure call.}}
* [[OPEN]] (file statement) {{text|opens a file name for an access mode with a specific file number.}}
* [[OPEN COM]] (statement) {{text|opens a serial communication port for access at a certain speed and mode.}}
* [[OPTION BASE]] (precompiler statement) {{text|can set the lower boundary of all arrays to 1.}}
* [[OR]] (logic operator) {{text|is used to compare two numerical values bitwise.}}
* [[OR (boolean)]] {{text| conditonal operator is used to include an alternative evaluation in an [[IF...THEN]] or [[Boolean]] statement.}}
* [[OUT]] (statement) {{text|writes numerical data to a specified register port.}}
* [[OUTPUT]] (file mode) {{text|creates a new file or clears all data from an existing file to acess the file sequencially.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "P">P&lt;/div>
* [[PAINT]] (statement) {{text|fills an enclosed area of a graphics [[SCREEN|screen]] with a color until it encounters a specific colored border.}}
* [[PALETTE]] (statement) {{text|sets the Red, Green and Blue color attribute intensities using a RGB multiplier calculation.}}
* [[PALETTE USING]] (statement) {{text|sets the color intensity settings using a designated [[arrays|array]].}}
* [[PCOPY]] (statement) {{text|swaps two designated memory page images when page swapping is enabled in the [[SCREEN]] statement.}}
* [[PEEK]] (function) {{text|returns a numerical value from a specified segment address in memory.}} 
* [[PLAY]] (statement) {{text|uses a special [[STRING|string]] format that can produce musical tones and effects.}}
* [[PMAP]] (function) {{text|returns the physical or WINDOW view graphic coordinates.}}
* [[POINT]] (function) {{text|returns the color attribute number or 32 bit [[_RGB32]] value.}}
* [[POKE]] (statement) {{text|writes a numerical value to a specified segment address in memory.}} 
* [[POS]] (function) {{text|returns the current text column position of the text cursor.}}
* [[PRESET]] (statement) {{text|sets a pixel coordinate to the background color unless one is specified.}}
* [[PRINT]] (statement) {{text|prints text [[STRING|strings]] or numerical values to the [[SCREEN]].}}
* [[PRINT (file statement)]] {{text|prints text [[STRING|strings]] or numerical values to a file.}}
* [[PRINT USING]] (statement) {{text|prints a template formatted [[STRING|string]] to the [[SCREEN]].}}
* [[PRINT USING (file statement)]] {{text|prints a template formatted [[STRING|string]] to a file.}}
* [[PSET]] (statement) {{text|sets a pixel coordinate to the current color unless a color is designated.}}
* [[PUT]] (file I/O statement) {{text|writes data sequencially or to a designated position using a variable value.}}
* [[PUT (TCP/IP statement)|PUT (QB64 TCP/IP statement)]] {{text|sends raw data to a user's connection handle.}} 
* [[PUT (graphics statement)]] {{text|places pixel data stored in an [[INTEGER]] array to a specified area of the [[SCREEN]].}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "R">R&lt;/div>
* [[RANDOM]] (file mode) {{text|creates a file or opens an existing file to [[GET|read]] and [[PUT|write]] records of a set byte size.}}
* [[RANDOMIZE]] (statement) {{text|sets the random seed value for a specific sequence of random [[RND]] values.}}
* [[RANDOMIZE|RANDOMIZE USING (QB64 statement)]] {{text|restarts the designated seed value's random sequence of values from the beginning.}}
* [[READ]] (statement) {{text|reads values from a [[DATA]] field. [[ACCESS]] READ is used with the [[OPEN]] statement.}}
* [[REDIM]] (statement) {{text|creates a new [[$DYNAMIC|dynamic]] array or resizes one without losing data when [[_PRESERVE]] is used.}}
* [[REM]] (statement) {{text|or an apostrophe tells the program to ignore statements following it on the same line.}}
* [[RESET]] (statement) {{text| closes all files and writes the directory information to a diskette before it is removed from a disk drive.}}
* [[RESTORE]] (statement) {{text|resets the [[DATA]] pointer to the start of a designated field of data.}}
* [[RESUME]] (statement) {{text|an [[ERROR Codes|error]] handling procedure exit that can send the program to a line number or the [[NEXT]] code line.}}
* [[RETURN]] (statement) {{text|returns the program to the code immediately following a [[GOSUB]] call.}}
* [[RIGHT$]] (function) {{text|returns a specific number of text characters from the right end of a [[STRING]].}}
* [[RMDIR]] (statement) {{text|removes an empty folder from the current path or the one designated.}}
* [[RND]] (function) {{text|returns a random number value from 0 to .9999999.}}
* [[RSET]] (statement) {{text|right justifies a string value so that any end spaces are moved to the beginning.}}
* [[RTRIM$]] (function) {{text|returns a [[STRING|string]] with all spaces removed from the right end.}}
* [[RUN]] (statement) {{text|clears and restarts the program currently in memory or executes another specified program.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "S">S&lt;/div>
* [[SADD]] (function) {{text|returns the address of a STRING variable as an offset from the current data segment.}}
* [[SCREEN (function)]] {{text|can return the [[ASCII]] character code or color of the text at a text designated coordinate.}}
* [[SCREEN]] (statement) {{text|sets the display mode and size of the program window.}}
* [[SEEK]] (function) {{text|returns the present byte position in an [[OPEN|opened]] file.}}
* [[SEEK (statement)]] {{text|moves to a specified position in an [[OPEN|opened]] file.}}
* [[SELECT CASE]] (statement) {{text|a program flow block that can handle numerous conditional evaluations.}}
* [[SGN]] (function) {{text|returns -1 for negative, 0 for zero, and 1 for positive numerical values.}}
* [[SHARED]] (statement) {{text|designates that a variable can be used by other procedures or the main procedure when in a sub-procedure.}}
* [[SHELL]] (statement) {{text|sends [[STRING]] commands to the command line. SHELL calls will not affect the current path.}}
* [[SHELL (function)|SHELL (QB64 function)]] {{text|executes an external command or calls another program. Returns codes sent by [[END]] or [[SYSTEM]].}}
* [[SIN]] (function) {{text|returns the sine of a radian angle.}}
* [[SINGLE]] (! numerical type) {{text|4 byte floating decimal point values up to 7 decimal places.}}
* [[SLEEP]] (statement) {{text|pauses the program for a designated number of seconds or until a key is pressed.}}
* [[SOUND]] (statement) {{text|creates a sound of a specified frequency and duration.}}
* [[SPACE$]] (function) {{text|returns a designated number of spaces to a [[STRING]].}}
* [[SPC]] (function) {{text|moves the text cursor a number of spaces on the [[SCREEN]].}}
* [[SQR]] (function) {{text|returns the square root of a non-negative number.}}
* [[STATIC]] (statement) {{text|creates a [[SUB]] or [[FUNCTION]] variable that retains its value.}}
* [[$STATIC]] ([[metacommand]]) {{text|used at the start of a program to set all program arrays as unchangeable in size using [[DIM]].}}
* [[STEP]] (keyword) {{text|move relatively from one graphic position or change the counting increment in a [[FOR...NEXT]] loop.}}
* [[STICK]] (function) {{text|returns the present joystick position.}}
* [[STOP]] (statement) {{text|stops a program when troubleshooting or stops an [[ON]] event.}}
* [[STR$]] (function) {{text|returns a [[STRING|string]] value of a number with a leading space when it is positive.}}
* [[STRIG]] (function) {{text|returns the joystick button press values when read.}}
* [[STRIG(n)]] (statement) 
* [[STRING]] ($ variable type) {{text|one byte text variable with [[ASCII]] code values from 0 to 255.}}
* [[STRING$]] (function) {{text|returns a designated number of string characters.}}
* [[SUB]] (procedure block) {{text|sub-procedure that can calculate and return multiple parameter values.}}
* [[SWAP]] (statement) {{text|swaps two [[STRING|string]] or numerical values.}}
* [[SYSTEM]] (statement) {{text|ends a program immediately.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "T">T&lt;/div>
* [[TAB]] (function) {{text|moves a designated number of columns on the [[SCREEN|screen]].}}
* [[TAN]] (function) {{text|returns the ratio of [[SIN]]e to [[COS]]ine or tangent value of an angle measured in radians.}}
* [[THEN]] ([[IF...THEN]] keyword) {{text|must be used in a one line [[IF...THEN]] program flow statement.}}
* [[TIME$]] (function) {{text|returns the present time setting of the Operating System as a  format hh:mm:ss [[STRING]].}}
* [[TIMER]] (function) {{text|returns the number of seconds since midnight as a [[SINGLE]] value.}} 
* [[TIMER (statement)]] {{text|events based on the designated time interval and timer number.}}
* [[TO]] {{text|indicates a range of numerical values or an assignment of one value to another.}}
* [[TYPE]] (definition) {{text|defines a variable type or file record that can include any [[STRING]] or numerical types.}}


----


&lt;div id = "U">U&lt;/div>
* [[UBOUND]] (function) {{text|returns the upper-most index number of a designated [[arrays|array]].}}
* [[UCASE$]] (function) {{text|returns an uppercase representation of a specified [[STRING]].}}
* [[UNLOCK]] (statement) {{text|unlocks a designated file or portions of it.}}
* [[UNTIL]] (condition) {{text|evaluates a [[DO...LOOP]] condition until it is True.}}

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

----


&lt;div id = "V">V&lt;/div>
* [[VAL]] (function) {{text|returns the numerical value of a [[STRING|string]] number.}}
* [[VARPTR]] (function) {{text|returns the [[segment]] pointer address in memory.}}
* [[VARPTR$]] (function) {{text|returns the string value of a numerical value in memory.}}
* [[VARSEG]] (function) {{text|returns the [[segment]] address of a value in memory.}}
* [[VIEW]] (graphics statement) {{text|sets up a graphic view port area of the [[SCREEN|screen]].}}
* [[VIEW PRINT]] (statement) {{text|sets up a text viewport area of the [[SCREEN|screen]].}}


----


&lt;div id = "W">W&lt;/div>
* [[WAIT]] (statement) {{text|waits until a vertical retrace is started or a [[SCREEN|screen]] draw ends.}}
* [[WEND]] (statement) {{text|the bottom end of a [[WHILE...WEND]] loop.}}
* [[WHILE]] (condition) {{text|evaluates a [[DO...LOOP]] or [[WHILE...WEND]] condition until it is False.}}
* [[WHILE...WEND]] (statement) {{text|sets a recursive procedure loop that can only be exited using the [[WHILE]] conditional argument.}}
* [[WIDTH]] (statement) {{text|sets the text column and row sizes in several [[SCREEN]] modes.}}
* [[WINDOW]] (statement) {{text|maps a window size different from the program's window size.}}
* [[WRITE]] (screen I/O statement) {{text|prints variable values to the screen with commas separating each value.}}
* [[WRITE (file statement)]] {{text|writes data to a file with each variable value separated by commas.}}


----


&lt;div id = "X">X&lt;/div>

* [[XOR]] (logic operator) {{text|is used to compare two numerical values bitwise.}}


&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>


&lt;center>([[Keyword Reference - Alphabetical#Original QBasic keywords:|Top of Original QB keywords]])&lt;/center>

&lt;!-- (referenced by QB64 IDE HELP)
-->


&lt;div id = "symbols">&lt;/div>

==Symbols:==
&lt;center>'''QB64 and QB Symbols:'''&lt;/center>

&lt;center>''[Note: All symbols below can also be used inside of literal quoted strings except for quotation marks.]''&lt;/center>


:'''Print, Input or File Formatting'''
* [[Semicolon|; 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|, 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|" Quotation mark]] delimits the ends of a literal [[STRING]] value in a [[PRINT]], [[INPUT]] or [[LINE INPUT]] statement. 
* [[Question mark|? Question mark]] is a shortcut substitute for the [[PRINT]] keyword. Will change to PRINT when cursor leaves the code line.


:'''Program Code Markers'''
* [[Apostrophe|' Apostrophe]] ignores a line of code or program comment and MUST be used before a [[metacommand]]. Same as using [[REM]].
* [[Comma|, Comma]] is used to separate [[DATA]], [[SUB]] or [[FUNCTION]] parameter variables. 
* [[Colon|: Colon]]s can be used to separate two procedure statements on one code line.
* [[Dollar_Sign|$ Dollar sign]] prefix denotes a QBasic [[metacommand]].
* [[Parenthesis|( ) Parenthesis]] enclose a math or conditional procedure order, [[SUB]] or [[FUNCTION]] parameters or to pass by value.
* [[+|+ Plus]] [[concatenation]] operator MUST be used to combine literal string values in a variable definition.
* [[Quotation mark|" Quotation mark]] designates the ends of a literal [[STRING]] value. Use [[CHR$]](34) to insert quotes in a text [[STRING]].
* [[Underscore|_ Underscore]] can be used to continue a line of code to the next program line in '''QB64'''.
&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

:'''Variable Name Type Suffixes'''
* [[STRING|$ STRING]] text character type: 1 byte
* [[SINGLE|! SINGLE]] floating decimal point numerical type (4 bytes)
* [[DOUBLE|# DOUBLE]] floating decimal point numerical type (8 bytes)
* [[_FLOAT|## _FLOAT]] '''QB64''' decimal point numerical type (32 bytes)
* [[_UNSIGNED|~ _UNSIGNED]] '''QB64''' [[INTEGER|whole]] positive numerical type when it precedes the 6 numerical suffixes below:
* [[INTEGER|% INTEGER]] [[INTEGER|whole]] numerical type (2 bytes)
* [[LONG|&amp; LONG]] [[INTEGER|whole]] numerical type (4 bytes}
* [[_INTEGER64|&amp;&amp; _INTEGER64]] '''QB64''' [[INTEGER|whole]] numerical type (8 bytes) 
* [[_BIT|` _BIT]] '''QB64''' [[INTEGER|whole]] numerical type (1 bit) (Key below tilde (~) or [[CHR$]](96))
* [[_BYTE|%% _BYTE]] '''QB64''' [[INTEGER|whole]] numerical type (1 byte)
* [[_OFFSET|%&amp; _OFFSET]] '''QB64''' [[INTEGER|whole]] numerical pointer address type (any byte size required)

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

:'''Numerical Base Prefixes'''
* [[&amp;B|&amp;B Binary]]           Base 2:    Digits 0 or 1 ['''QB64''']
* [[&amp;O|&amp;O Octal]]            Base 8:    Digits 0 to 7
* [[&amp;H|&amp;H Hexadecimal]] Base 16: Digits 0 to F


:'''[[Mathematical Operations]]'''
*[[+|+ Addition]] operator or sign
*[[-|- Subtraction]] operator or sign
*[[*|* Multiplication]] operator
*[[/|/ Division]] (floating decimal point) operator
*[[\|\ Integer division]] operator
*[[^|^ Exponential]] operator
*[[MOD|MOD Integer Remainder division]] operator


:'''[[Relational Operations]]'''
* [[Equal|=]] Equal to condition
* [[Not_Equal|&lt;>]] Not equal condition
* [[Greater_Than|>]] Greater than condition
* [[Less_Than|&lt;]] Less than condition
* [[Greater_Than_Or_Equal|>=]] Greater than or equal to condition
* [[Less_Than_Or_Equal|&lt;=]] Less than or equal to condition

&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>

==References:==
&lt;div id = "references">&lt;/div>

&lt;center>'''WIKI Pages'''

[[Keyword Reference - Alphabetical#QB64 specific keywords:|QB64 specific keywords]]

[[Keyword Reference - Alphabetical#Original QBasic keywords:|Original QBasic keywords]]

[[Keyword Reference - By usage|Keywords by Usage]]

[[Main_Page#Appendix:|Main Page with Appendix and Tutorials]]  


'''Got a question about something?''' 

[[QB64 FAQ|Visit the QB64 FAQ]]

[https://www.qb64.org Visit the QB64 Main Site]

[https://www.qb64.org/forum/ Visit QB64 Community Forum]

[http://discord.qb64.org Join our Discord server]


&lt;p style="text-align: center">([[#toc|Return to Table of Contents]])&lt;/p>
