Keyword Reference - By usage: Difference between revisions
Jump to navigation
Jump to search
Arrays
Fixed read-only storage
See also: Logical Operations and Relational Operations
See also: QB64 Variable Types and C++ Variable Types
See also: Bitmaps, Icons and Cursors, SaveImage SUB, GIF Images
See also: Keyboard scancodes, ASCII Codes references or Hot Keys for Windows.
QB64 also supports $INCLUDE text code file Libraries. QB64 does not support QLB Libraries or OBJ files.
See also: C++ Variable Types
See also: Mathematical Operations and Logical Operations
Functions and statements using QB64's emulated 16 bit memory
See also: Screen Memory or Using _OFFSET
See Port Access Libraries for other ways to access COM and LPT ports..
QB64 will use the default system printer selected. _PRINTIMAGE images will be stretched to the paper size setting.
QBasic and QB64
All Statements and Functions Compile in QB64 Only!
See also: Downloading Files
See also: Fonts and Unicode or ASCII Code Table
All Statements and Functions except SCREEN Compile in QB64 Only!
See also: Console Window, Windows Hot Keys or Focus on Program.
QB64 and QB Symbols
[Note: All symbols below can also be used inside of literal quoted strings except for quotation marks.]
Wiki Pages
Main Page with Articles and Tutorials
QB64 specific keywords (alphabetical)
Original QBasic keywords (alphabetical)
QB64 OpenGL keywords (alphabetical)
Got a question about something?
Frequently Asked Questions about QB64
QB64 Phoenix Edition Community Forum
Links to other QBasic Sites:
Pete's QBasic Forum
Pete's QBasic Downloads
No edit summary |
No edit summary |
||
(72 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{| align="Right" | |||
{|align="Right" | | __TOC__ | ||
|__TOC__ | |||
|} | |} | ||
* [[Main Page|Main Page with Articles and Tutorials]] | |||
* [[Metacommand|Alphabetical Metacommands list]] | |||
* [[Keyword Reference - Alphabetical|Alphabetical Keywords list]] | |||
[[ | * [[Historic Pages]] ({{Text|Informations may be invalid now.|red}}) | ||
[[ | * '''[[Keywords currently not supported by QB64]]''' | ||
[[Keywords currently not supported by QB64]] | * '''[[Keywords currently not supported by QB64#Keywords_not_supported_in_Linux_or_macOS_versions|Keywords not supported in Linux or macOS versions]]''' | ||
[[ | * [[QB64 FAQ|Frequently asked questions about QB64]] | ||
Line 18: | Line 20: | ||
<center>'''Arrays'''</center> | <center>'''Arrays'''</center> | ||
* [[_DEFINE]] (statement) {{ | * [[_DEFINE]] (statement) {{Text|defines a range of untyped variable names according to their first character as a datatype.}} | ||
* [[_PRESERVE]] ([[REDIM]] option) {{ | * [[_PRESERVE]] ([[REDIM]] option) {{Text|preserves the existing element values when an array is resized.}} | ||
* [[CLEAR]] (statement) {{ | * [[CLEAR]] (statement) {{Text|resets all variable values and array element values to 0 or null [[STRING|strings]] and closes all open files.}} | ||
* [[DIM]] (statement) {{ | * [[DIM]] (statement) {{Text|dimensions(sizes) a [[STATIC|static]] array and defines the type.}} | ||
* [[$DYNAMIC]] (metacommand) {{ | * [[$DYNAMIC]] (metacommand) {{Text|defines that all arrays are dynamic or changeable in size.}} | ||
* [[ERASE]] (array statement) {{ | * [[ERASE]] (array statement) {{Text|clears a [[STATIC|static]] array of all values and totally removes a [[$DYNAMIC|dynamic]] array.}} | ||
* [[LBOUND]] ( | * [[LBOUND]] (function) {{Text|returns the lowest valid index (lower boundary) of an [[arrays|array]].}} | ||
* [[OPTION BASE]] (statement) {{ | * [[OPTION BASE]] (statement) {{Text|sets the default starting index of an array to 0 or 1.}} | ||
* [[REDIM]] (statement) {{ | * [[REDIM]] (statement) {{Text|re-dimensions the number of elements in a [[$DYNAMIC|dynamic]](resizeable) [[arrays|array]] and defines the type.}} | ||
* [[SHARED]] (statement) {{ | * [[SHARED]] (statement) {{Text|designates variable values that can be shared with sub-procedures without using parameters.}} | ||
* [[STATIC]] (statement) {{ | * [[STATIC]] (statement) {{Text|defines a variable or list of variables that will retain their values after the sub-procedure is exited.}} | ||
* [[$STATIC]] (metacommand) {{ | * [[$STATIC]] (metacommand) {{Text|defines that all arrays are static or unchangeable in size.}} | ||
* [[SWAP]] (statement) {{ | * [[SWAP]] (statement) {{Text|trades the values of two numerical or string values or array elements.}} | ||
* [[UBOUND]] ( | * [[UBOUND]] (function) {{Text|returns the highest valid index (upper boundary) of an [[arrays|array]].}} | ||
See also: [[Arrays]] | |||
<center>'''Fixed | <center>'''Fixed read-only storage'''</center> | ||
* [[DATA]] (statement) {{ | * [[DATA]] (statement) {{Text|creates a field of built-in program data values separated by commas.}} | ||
* [[READ]] (statement) {{ | * [[READ]] (statement) {{Text|reads the DATA from the data field sequentially.}} | ||
* [[RESTORE]] (statement) {{ | * [[RESTORE]] (statement) {{Text|sets the data pointer to the start of all DATA or a specified DATA field.}} | ||
* [[$EMBED]] (metacommand) {{Text|is used to embed any file's contents into the compiled executable.}} | |||
* [[_EMBEDDED$]] (function) {{Text|recalls the contents of a file embedded using [[$EMBED]].}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== [[COLOR|Colors]] and Transparency == | == [[COLOR|Colors]] and Transparency == | ||
* [[_ALPHA]] (function) {{ | * [[_ALPHA]] (function) {{Text|returns the alpha channel transparency level of a color value used on a screen page or image.}} | ||
* [[_ALPHA32]] (function) {{ | * [[_ALPHA32]] (function) {{Text|function returns the alpha channel level of a 32 bit color value only.}} | ||
* [[_BACKGROUNDCOLOR]] (function) {{ | * [[_BACKGROUNDCOLOR]] (function) {{Text|returns the current background color for an image handle or page.}} | ||
* [[_BLEND]] (statement) {{ | * [[_BLEND]] (statement) {{Text|turns on alpha blending for the current image or a specific one.}} | ||
* [[_BLEND (function)]] {{ | * [[_BLEND (function)]] {{Text|returns if blending is enabled or disabled for the current window or a specified image handle.}} | ||
* [[_BLINK]] (statement) {{ | * [[_BLINK]] (statement) {{Text|statement turns blinking colors on/off in SCREEN 0}} | ||
* [[_BLINK (function)]] {{ | * [[_BLINK (function)]] {{Text|returns -1 if enabled or 0 if disabled by [[_BLINK]] statement.}} | ||
* [[_BLUE]] (function) {{ | * [[_BLUE]] (function) {{Text|returns the palette intensity OR the blue component intensity of a 32-bit image color.}} | ||
* [[_BLUE32]] (function) {{ | * [[_BLUE32]] (function) {{Text|returns the blue component intensity of a 32-bit image color.}} | ||
* [[_CLEARCOLOR]] (statement) {{ | * [[_CLEARCOLOR]] (statement) {{Text|sets a specific color to be treated as transparent in an image}} | ||
* [[_CLEARCOLOR (function)]] {{ | * [[_CLEARCOLOR (function)]] {{Text|returns the current transparent color of an image.}} | ||
* [[_COPYPALETTE]] (statement) {{ | * [[_COLORCHOOSERDIALOG]] (function) {{Text|Displays a standard color picker dialog box and returns a 32-bit RGBA color selected by the user.}} | ||
* [[_DEFAULTCOLOR]] (function) {{ | * [[_COPYPALETTE]] (statement) {{Text|copies the color palette intensities from one image to another image or screen page.}} | ||
* [[_DONTBLEND]] (statement) {{ | * [[_DEFAULTCOLOR]] (function) {{Text|returns the current default (text/drawing) color for an image handle or page.}} | ||
* [[_GREEN]] (function) {{ | * [[_DONTBLEND]] (statement) {{Text|turns off alpha blending for an image handle.}} | ||
* [[_GREEN32]] (function) {{ | * [[_GREEN]] (function) {{Text|returns the palette index OR the green component intensity of a 32-bit image.}} | ||
* [[_NEWIMAGE]] (function) {{ | * [[_GREEN32]] (function) {{Text|returns the green component intensity of a 32-bit image color.}} | ||
* [[_PALETTECOLOR]] (statement) {{ | * [[_NEWIMAGE]] (function) {{Text|prepares a custom sized program [[SCREEN]] or page surface that can use 256 or 32 bit colors.}} | ||
* [[_PALETTECOLOR (function)]] {{ | * [[_PALETTECOLOR]] (statement) {{Text|sets the color value of a palette entry of an image using 256 color modes or less (4 or 8 BPP).}} | ||
* [[_PIXELSIZE]] (function) {{ | * [[_PALETTECOLOR (function)]] {{Text|returns the 32 bit attribute color setting of an image or screen page handle's palette.}} | ||
* [[_RED]] (function) {{ | * [[_PIXELSIZE]] (function) {{Text|returns the color depth (Bits Per Pixel) of an image.}} | ||
* [[_RED32]] (function) {{ | * [[_RED]] (function) {{Text|returns the palette index OR the red component intensity of a 32-bit screen.}} | ||
* [[_RGB]] (function) {{ | * [[_RED32]] (function) {{Text|returns the red component intensity of a 32-bit image color.}} | ||
* [[_RGB32]] (function) {{ | * [[_RGB]] (function) {{Text|returns the closest palette attribute index OR the [[LONG]] 32 bit color value in 32 bit screens.}} | ||
* [[_RGBA]] (function) {{ | * [[_RGB32]] (function) {{Text|returns the [[LONG]] 32 bit color value only.}} | ||
* [[_RGBA32]] (function) {{ | * [[_RGBA]] (function) {{Text|returns the closest palette attribute index OR the [[LONG]] 32 bit color value in [[_ALPHA]] screens.}} | ||
* [[_SETALPHA]] (statement) {{ | * [[_RGBA32]] (function) {{Text|returns the [[LONG]] 32 bit [[_ALPHA]] color value only.}} | ||
* [[_SETALPHA]] (statement) {{Text|sets the alpha channel transparency level of some or all of the pixel colors of an image.}} | |||
* [[CLS]] (statement) {{ | * [[CLS]] (statement) {{Text|clears the screen and can set the background color in QB64.}} | ||
* [[COLOR]] (statement) {{ | * [[COLOR]] (statement) {{Text|sets the current text color attribute or [[_RGB]] value to be used or background colors in some screen modes.}} | ||
* [[INP]] (function) {{ | * [[INP]] (function) {{Text|returns the RGB color intensity values from color port register &H3C9 for a specific attributes.}} | ||
* [[OUT]] (statement) {{ | * [[OUT]] (statement) {{Text|sets the color port access mode and sets the RGB color intensity values using &H3C9.}} | ||
* [[PALETTE]] (statement) {{ | * [[PALETTE]] (statement) {{Text|sets the Red, Green and Blue color attribute intensities using a RGB multiplier calculation.}} | ||
* [[PALETTE USING]] (statement) {{ | * [[PALETTE USING]] (statement) {{Text|sets the color intensity settings using a designated [[arrays|array]].}} | ||
* [[POINT]] (function) {{ | * [[POINT]] (function) {{Text|returns a pixel coordinate color attribute or the [[LONG]] [[_RGB]] color value of a 32 bit color.}} | ||
* [[PRESET]] (statement) {{ | * [[PRESET]] (statement) {{Text|sets a pixel coordinate to the background color or a color specified.}} | ||
* [[PSET]] (statement) {{ | * [[PSET]] (statement) {{Text|sets a pixel coordinate a specified color or uses the current color when not designated.}} | ||
* [[SCREEN]] {{ | * [[SCREEN]] {{Text|sets the screen mode of a program which may determine the number of colors available in legacy modes.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
==[[Console Window]]== | |||
* [[$CONSOLE]] ( | == [[Console Window]] == | ||
* [[_CONSOLE]] (statement) {{ | * [[$CONSOLE]] (metacommand) {{Text|creates a console window that can be used throughout a program.}} | ||
* [[_CONSOLETITLE]] (statement) {{Text|creates | * [[_CONSOLE]] (statement) {{Text|used to turn a console window OFF or ON or to designate [[_DEST]] _CONSOLE for output.}} | ||
* [[$SCREENHIDE]] ( | * [[_CONSOLEINPUT]] (function) {{Text|fetches input data from a [[$CONSOLE]] window to be read later (both mouse and keyboard)}} | ||
* [[_SCREENHIDE]] {{ | * [[_CINP]] (function) {{Text|Returns a key code from $CONSOLE input}} | ||
* [[$SCREENSHOW]] ( | * [[_CONSOLECURSOR]] (statement) {{Text|is used to switch the text cursor in [[Console Window]]s off/on or change its size.}} | ||
* [[_SCREENSHOW]] {{ | * [[_CONSOLEFONT]] (statement) {{Text|is used to change the text font used in [[Console Window]]s or change its size.}} | ||
* [[SHELL ( | * [[_CONSOLETITLE]] (statement) {{Text|creates the title of the console window using a literal or variable [[STRING|string]].}} | ||
* [[_SHELLHIDE]] (function) {{ | * [[$SCREENHIDE]] (metacommand) {{Text|hides the program window throughout the program until [[$SCREENSHOW]] is used.}} | ||
* [[_SCREENHIDE]] {{Text|hides the main program window in a section of code until [[_SCREENSHOW]] is used.}} | |||
* [[$SCREENSHOW]] (metacommand) {{Text|displays the main program window throughout the program after [[$SCREENHIDE]] has been used.}} | |||
* [[_SCREENSHOW]] {{Text|displays the main program window in a section of code after [[_SCREENHIDE]] has been used.}} | |||
* [[SHELL (function)]] {{Text|executes a DOS command or calls another program. Returns codes sent by [[END]] or [[SYSTEM]].}} | |||
* [[_SHELLHIDE]] (function) {{Text|hides a DOS command or call to another program. Returns codes sent by [[END]] or [[SYSTEM]].}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Conditional Operations == | == Conditional Operations == | ||
* [[AND (boolean)]] {{ | * [[AND (boolean)]] {{Text|returns True if all of the arguments are True.}} | ||
* [[NOT]] (boolean) {{ | * [[_ANDALSO]] (boolean) {{Text|performs short-circuiting logical conjunction on two expressions.}} | ||
* [[OR (boolean)]] {{ | * [[NOT]] (boolean) {{Text|returns the opposite condition of an argument.}} | ||
* [[XOR (boolean)]] {{ | * [[OR (boolean)]] {{Text|returns True if one of the arguments is True.}} | ||
* [[_ORELSE]] (boolean) {{Text|performs short-circuiting inclusive logical disjunction on two expressions.}} | |||
* [[XOR (boolean)]] {{Text|returns True if only one of two arguments are True.}} | |||
* [[_NEGATE]] (boolean) {{Text|returns True when a [[boolean]] evaluation is False and vice-versa.}} | |||
<center>See also: [[#Logical_Bitwise_Operations|Logical Operations]] and [[Relational Operations]]</center> | |||
<center> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Definitions and Variable Types == | == Definitions and Variable Types == | ||
* [[_BIT]] {` numerical [[TYPE|type]]) {{ | * [[_BIT]] {` numerical [[TYPE|type]]) {{Text|values of 0 (bit off) or -1 (bit on). [[_UNSIGNED|Unsigned]] of 0 or 1.}} | ||
* [[_BYTE]] {%% numerical [[TYPE|type]]) {{ | * [[_BYTE]] {%% numerical [[TYPE|type]]) {{Text|values from -128 to 127 (one byte or 8 [[_BIT]]s). [[_UNSIGNED|Unsigned]] from 0 to 255.}} | ||
* [[_DEFINE]] (statement) {{ | * [[_DEFINE]] (statement) {{Text|defines a range of untyped variable names according to their first character as a datatype.}} | ||
* [[_FLOAT]] {## numerical [[TYPE|type]]) {{ | * [[_FLOAT]] {## numerical [[TYPE|type]]) {{Text|values offer the maximum floating-point decimal precision available using QB64.}} | ||
* [[_INTEGER64]] (&& numerical [[TYPE|type]]) {{ | * [[_INTEGER64]] (&& numerical [[TYPE|type]]) {{Text|values -9223372036854775808 to 9223372036854775807. [[_UNSIGNED|Unsigned]] to 18446744073709551615.}} | ||
* [[_MEM]] (variable type) {{ | * [[_MEM]] (variable type) {{Text|contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory.}} | ||
* [[_OFFSET]](%& variable type) {{ | * [[_OFFSET]](%& variable type) {{Text|can store any memory offset integer value when using [[DECLARE LIBRARY]] or [[_MEM]]ory only.}} | ||
* [[_UNSIGNED]] {~ numerical [[TYPE|type]]) {{ | * [[_UNSIGNED]] {~ numerical [[TYPE|type]]) {{Text|defines an integer numerical value as being positive only in QB64.}} | ||
* [[COMMON]] (statement) {{ | * [[COMMON]] (statement) {{Text|shares common variable values with other Linked or [[CHAIN]]ed programs.}} | ||
* [[COMMON SHARED]] (statement) {{ | * [[COMMON SHARED]] (statement) {{Text|shares common variable values with all sub-procedures and other Linked or CHAINed programs.}} | ||
* [[CONST]] (statement) {{ | * [[CONST]] (statement) {{Text|defines one or more named numeric or string shared values which can not change in a program.}} | ||
* [[DEFDBL]] (statement) {{ | * [[DEFDBL]] (statement) {{Text|defines undefined variable starting letters AS [[DOUBLE]] variables instead of the [[SINGLE]] type default.}} | ||
* [[DEFINT]] (statement) {{ | * [[DEFINT]] (statement) {{Text|defines undefined variable starting letters AS [[INTEGER]] variables instead of the [[SINGLE]] type default.}} | ||
* [[DEFLNG]] (statement) {{ | * [[DEFLNG]] (statement) {{Text|defines undefined variable starting letters AS [[LONG]] variables instead of the [[SINGLE]] type default.}}}} | ||
* [[DEFSNG]] (statement) {{ | * [[DEFSNG]] (statement) {{Text|defines undefined variable starting letters AS [[SINGLE]] variables instead of the [[SINGLE]] type default.}} | ||
* [[DEFSTR]] (statement) {{ | * [[DEFSTR]] (statement) {{Text|defines undefined variable starting letters AS [[STRING]] variables instead of the [[SINGLE]] type default.}} | ||
* [[DIM]] {{ | * [[DIM]] {{Text|defines a variable or size a [[$STATIC|static]] array and can define the type of value it returns.}} | ||
* [[DOUBLE]] {# numerical [[TYPE|type]]) {{ | * [[DOUBLE]] {# numerical [[TYPE|type]]) {{Text|an 8 byte floating decimal variable type with numerical values up to 15 decimal places.}} | ||
* [[INTEGER]] {% numerical [[TYPE|type]]) {{ | * [[INTEGER]] {% numerical [[TYPE|type]]) {{Text|a two byte variable type with values from -32768 to 32767. [[_UNSIGNED|Unsigned]] to 65535.}} | ||
* [[LONG]] {& numerical [[TYPE|type]]) {{ | * [[LONG]] {& numerical [[TYPE|type]]) {{Text|Integer values can be from -2147483648 to 2147483647. [[_UNSIGNED]] values to 4294967295.}} | ||
* [[OPTION BASE]] (statement) {{ | * [[OPTION BASE]] (statement) {{Text|sets the default starting index of an [[arrays|array]] to 0 or 1.}} | ||
* [[REDIM]] {{ | * [[REDIM]] {{Text|defines and sizes a [[$DYNAMIC|dynamic]](changeable) array and can define the type of value returned.}} | ||
* [[SHARED]] (statement) {{ | * [[SHARED]] (statement) {{Text|designates variable values that can be shared with sub-procedures without using [[SUB]] parameters.}} | ||
* [[SINGLE]] (! numerical [[TYPE|type]]) {{ | * [[SINGLE]] (! numerical [[TYPE|type]]) {{Text|a 4 byte floating decimal variable type with numerical values up to 7 decimal places.}} | ||
* [[STATIC]] (statement) {{ | * [[STATIC]] (statement) {{Text|defines a variable or list of variables that will retain their values after the sub-procedure is exited.}} | ||
* [[STRING]] ($ variable type) {{ | * [[STRING]] ($ variable type) {{Text|one byte text variable with [[ASCII]] code values from 0 to 255.}} | ||
* [[TYPE]] (statement) {{ | * [[TYPE]] (statement) {{Text|defines variable types that can hold more than one variable type value of a fixed byte length.}} | ||
Line 153: | Line 166: | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== External Disk and API calls == | == External Disk and API calls == | ||
* [[_ACCEPTFILEDROP]] (statement) {{ | * [[_ACCEPTFILEDROP]] (statement) {{Text|turns a program window into a valid drop destination for dragging files from Windows Explorer.}} | ||
* [[_DEVICE$]] (function) {{ | * [[_DEVICE$]] (function) {{Text|returns a [[STRING]] expression listing device names and input types of system input devices.}} | ||
* [[_DEVICES]] (function) {{ | * [[_DEVICES]] (function) {{Text|returns the number of input devices found on a computer system.}} | ||
* [[_DIREXISTS]] (function) {{ | * [[_DIREXISTS]] (function) {{Text|returns -1 if the directory folder name [[STRING|string]] parameter exists. Zero if it does not.}} | ||
* [[_DROPPEDFILE]] (function) {{ | * [[_DROPPEDFILE]] (function) {{Text| returns the list of items (files or folders) dropped in a program's window after [[_ACCEPTFILEDROP]] is enabled.}} | ||
* [[_CLIPBOARD$ (statement) | * [[_CLIPBOARD$]] (statement) {{Text|sends [[STRING]] data to the Clipboard.}} | ||
* [[_CLIPBOARD$ | * [[_CLIPBOARD$ (function)]] {{Text|returns the current contents of the Clipboard as a [[STRING|string]].}} | ||
* [[_CLIPBOARDIMAGE (function)]] {{ | * [[_CLIPBOARDIMAGE (function)]] {{Text|pastes an image from the clipboard into a new QB64 image in memory.}} | ||
* [[_CLIPBOARDIMAGE]] (statement) {{ | * [[_CLIPBOARDIMAGE]] (statement) {{Text|copies a valid QB64 image to the clipboard.}} | ||
* [[_CWD$]] (function) {{ | * [[_CWD$]] (function) {{Text|returns the current working directory path as a [[STRING]].}} | ||
* [[_DONTWAIT]] (SHELL action) {{ | * [[_DONTWAIT]] (SHELL action) {{Text|allows the program to continue without waiting for the other program to close.}} | ||
* [[_FILEEXISTS]] (function) {{ | * [[_FILEEXISTS]] (function) {{Text|returns -1 if the file name [[STRING|string]] parameter exists. Zero if it does not.}} | ||
* [[_FINISHDROP]] (statement) {{ | * [[_FINISHDROP]] (statement) {{Text| resets [[_TOTALDROPPEDFILES]] and clears the [[_DROPPEDFILE]] list of items (files/folders).}} | ||
* [[_HIDE]] (SHELL action) {{ | * [[_HIDE]] (SHELL action) {{Text|hides the DOS screen output during a shell.}} | ||
* [[_LASTBUTTON]] (function) {{ | * [[_LASTBUTTON]] (function) {{Text|returns the number of buttons available on a specified number device listed by [[DEVICE$]].}} | ||
* [[_OS$]] (function) {{ | * [[_OPENFILEDIALOG$]] (function) {{Text|Displays a standard dialog box that prompts the user to open a file.}} | ||
* [[_SCREENCLICK]] {{ | * [[_OS$]] (function) {{Text| returns the QB64 compiler version in which the program was compiled as [WINDOWS], [LINUX] or [MACOSX] and [32BIT] or [64BIT].}} | ||
* [[_SCREENIMAGE]] {{ | * [[_SAVEFILEDIALOG$]] (function) {{Text|Displays a standard dialog box that prompts the user to save a file.}} | ||
* [[_SCREENPRINT]] {{ | * [[_SCREENCLICK]] {{Text|simulates clicking the mouse at a position on the screen to get focus.}} | ||
* [[_SHELLHIDE]] (function) {{ | * [[_SCREENIMAGE]] {{Text|captures the current desktop screen image.}} | ||
* [[_STARTDIR$]] (function) {{ | * [[_SCREENPRINT]] {{Text|simulates keyboard entries on the desktop.}} | ||
* [[_TOTALDROPPEDFILES]] (function) {{ | * [[_SELECTFOLDERDIALOG$]] (function) {{Text|Displays a dialog box that enables the user to select a folder (directory).}} | ||
* [[_SHELLHIDE]] (function) {{Text|executes a DOS command or calls another program. Returns codes sent by [[END]] or [[SYSTEM]].}} | |||
* [[_STARTDIR$]] (function) {{Text|returns the user's program calling path as a [[STRING]].}} | |||
* [[_TOTALDROPPEDFILES]] (function) {{Text| returns the number of items (files or folders) dropped in a program's window after [[_ACCEPTFILEDROP]] is enabled.}} | |||
* [[CHDIR]] (statement) {{ | * [[CHDIR]] (statement) {{Text|changes the program path to a new path.}} | ||
* [[COMMAND$]] (function) {{ | * [[COMMAND$]] (function) {{Text|returns command line parameters sent when a program is started.}} | ||
* [[ENVIRON]] (statement) {{ | * [[ENVIRON]] (statement) {{Text|temporarily sets an environmental key/pair value.}} | ||
* [[ENVIRON$]] (function) {{ | * [[ENVIRON$]] (function) {{Text|returns the environmental settings of the computer.}} | ||
* [[FILES]] (statement) {{ | * [[_ENVIRONCOUNT]] (function) {{Text|returns the number of key/value pairs currently exist in the environment table.}} | ||
* [[MKDIR]] (statement) {{ | * [[_FILES$]] (function) {{Text|returns a file or directory name that matches the specified pattern.}} | ||
* [[NAME]] (statement) {{ | * [[FILES]] (statement) {{Text|displays a specified list of files.}} | ||
* [[RMDIR]] (statement) {{ | * [[_FULLPATH$]] (function) {{Text|returns an absolute or full path name for the specified relative path name.}} | ||
* [[SHELL]] (statement) {{ | * [[MKDIR]] (statement) {{Text|creates a new directory folder in the designated path.}} | ||
* [[SHELL ( | * [[NAME]] (statement) {{Text|renames a file.}} | ||
* [[RMDIR]] (statement) {{Text|removes an empty directory folder from the specified path.}} | |||
* [[SHELL]] (statement) {{Text|performs a command line operation in DOS.}} | |||
* [[SHELL (function)]] {{Text|executes a DOS command or calls another program. Returns codes sent by [[END]] or [[SYSTEM]].}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Error Trapping == | |||
{| | * [[_ASSERT]] (statement) {{Text|Performs debug tests.}} | ||
* [[$ASSERTS]] (metacommand) {{Text|Enables the [[_ASSERT]] macro}} | |||
| | * [[$CHECKING]] (metacommand) {{Text|turns off or on error event checking and strips error code from compiled programs.}} | ||
* [[_ERRORLINE]] (function) {{Text|returns the actual text code line where a program error occurred.}} | |||
| | * [[ERR]] (function) {{Text|returns the error code number of the last error to occur.}} | ||
| | * [[ERROR]] (statement) {{Text|simulates a program error based on the error code number used.}} | ||
|} | * [[ERL]] (function) {{Text|returns the closest line number before an error occurred if the program uses them.}} | ||
* [[ON ERROR]] (statement) [[GOTO]] {{Text|sends the program to a line number or label when an error occurs. Use to avoid program errors.}} | |||
* [[RESUME]] (statement) {{Text|error statement sends the program to the [[NEXT]] code line or a designated line number or label .}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Event Trapping == | |||
* [[ | * [[_AUTODISPLAY]] (statement) {{Text|enables the automatic display of the screen image changes previously disabled by [[_DISPLAY]].}} | ||
* [[ | * [[_DELAY]] (statement) {{Text|suspends program execution for a [[SINGLE]] value of seconds down to milliseconds.}} | ||
* [[ | * [[_DISPLAY]] (statement) {{Text|turns off automatic display while only displaying the screen changes when called.}} | ||
* [[ | *[[_EXIT (function)]] {{Text|prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.}} | ||
* [[ | *[[_FREETIMER]] (function) {{Text|returns a free TIMER number for multiple [[ON TIMER(n)]] events.}} | ||
* [[ | * [[_MOUSEINPUT]] (function) {{Text|reports any changes to the mouse status and MUST be used to read those changes.}} | ||
* [[_SHELLHIDE]] (function) {{Text|returns the code sent by a program exit using [[END]] or [[SYSTEM]] followed by an [[INTEGER]] value.}} | |||
* [[OFF]] {{Text|turns event checking off and does not remember subsequent events.}} | |||
* [[ON]] {{Text|turns event checking on.}} | |||
* [[ON ERROR]] [[GOTO]] (event statement) {{Text|executes when a program error occurs}} | |||
* [[ON KEY(n)]] (event statement) {{Text|executes when a keypress or keypress combination occurs.}} | |||
* [[ON TIMER(n)]] (event statement) {{Text|executes when a timed event occurs. QB64 can use multiple numbered timers.}} | |||
* [[ON...GOSUB]] (event statement) {{Text|branches to a line number or label according to a numerical ordered list of labels.}} | |||
* [[ON...GOTO]] (event statement) {{Text|branches to a line number or label according to a numerical ordered list of labels.}} | |||
* [[STOP]] {{Text|suspends event checking and remembers subsequent events that are executed when events are turned back on.}} | |||
* [[TIMER (function)]] {{Text|returns the number of seconds past the previous midnite down to a QB64 accuracy of one millisecond.}} | |||
* [[TIMER]] (statement) {{Text|enables, turns off or stops timer event trapping. In QB64 TIMER(n) FREE can free multiple timers. }} | |||
* [[WAIT]] (statement) {{Text|normally used to delay program display execution during or after vertical retrace periods.}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== File Input and Output == | |||
* [[ | * [[_DIREXISTS]] (function) {{Text|returns -1 if the directory folder name [[STRING|string]] parameter exists. Zero if it does not.}} | ||
* [[ | * [[_FILEEXISTS]] (function) {{Text|returns -1 if the file name [[STRING|string]] parameter exists. Zero if it does not.}} | ||
* [[ | * [[_READFILE$]] (function) {{Text|directly read a file into a string, without [[OPEN]]/[[CLOSE]] overhead.}} | ||
* [[ | * [[_WRITEFILE]] (statement) {{Text|directly write a string into a file, without [[OPEN]]/[[CLOSE]] overhead.}} | ||
* [[ | * [[ACCESS]] (clause) {{Text|used in a networking [[OPEN]] statement to allow READ or WRITE access to files.}} | ||
* [[ | * [[APPEND]] (file mode) {{Text|opens or creates a file that can be appended with data at the end.}} | ||
* [[ | * [[BINARY]] (file mode) {{Text|opens or creates a file that can be byte accessed using both [[GET]] and [[PUT]].}} | ||
* [[ | * [[BLOAD]] (statement) {{Text|opens a binary file and loads the contents to a specific array.}} | ||
* [[ | * [[BSAVE]] (statement) {{Text|creates a binary file that holds the contents of a specified array.}} | ||
* [[ | * [[CHDIR]] (statement) {{Text|changes the program path to a new path.}} | ||
* [[ | * [[CLOSE]] (statement) {{Text|closes a specified file or all open files.}} | ||
* [[EOF]] (function) {{Text|returns -1 when the end of a file has been read.}} | |||
* [[FIELD]] (statement) {{Text|creates a [[STRING]] type definition for a random-access file buffer.}} | |||
* [[FILES]] (statement) {{Text|displays a specified list of files.}} | |||
* [[FREEFILE]] (function) {{Text|returns a file access number that is currently not in use.}} | |||
* [[GET]] (file I/O statement) {{Text|reads file data by byte or record positions.}} | |||
* [[INPUT (file mode)]] {{Text|only [[OPEN]]s existing sequential files for program INPUT.}} | |||
* [[INPUT (file statement)]] {{Text|reads sequential file data that was created using PRINT # or WRITE #. }} | |||
* [[INPUT$]] (function) {{Text|reads a specific number of bytes from random or binary files.}} | |||
* [[KILL]] (statement) {{Text|deletes a specified file without asking for verification. Remove empty folders with [[RMDIR]].}} | |||
* [[LINE INPUT (file statement)]] {{Text|reads an entire text row of printed sequential file data.}} | |||
* [[LOC]] (function) {{Text|finds the current file location or size of a [[OPEN COM|COM]] port receive buffer.}} | |||
* [[LOCK]] (statement) {{Text|prevents access to a file.}} | |||
* [[LOF]] (function) {{Text|returns the size of a file in bytes.}} | |||
* [[MKDIR]] (statement) {{Text|creates a new folder in the designated path.}} | |||
* [[NAME]] (statement) {{Text|renames a file [[AS]] a new file name.}} | |||
* [[OPEN]] (file I/O statement) {{Text|opens a specified file FOR an access mode with a set reference number.}} | |||
* [[OUTPUT]] (file mode) {{Text|opens or creates a new file that holds no data.}} | |||
* [[PRINT (file statement)]] {{Text|writes text and numerical data into a file.}} | |||
* [[PRINT USING (file statement)]] {{Text|writes template formatted text into a file.}} | |||
* [[PUT]] (file I/O statement) {{Text|writes data into a [[RANDOM]] or [[BINARY]] file by byte or record position.}} | |||
* [[RANDOM]] (file mode) {{Text|opens or creates a file that can be accessed using both [[GET]] and [[PUT]].}} | |||
* [[RESET]] (statement) {{Text|closes all files and writes the directory information to a diskette.}} | |||
* [[RMDIR]] (statement) {{Text|removes an empty folder from the specified path.}} | |||
* [[SEEK (function)]] {{Text|returns the current read or write byte position in a file.}} | |||
* [[SEEK]] (statement) {{Text|sets the current read or write byte position in a file.}} | |||
* [[UNLOCK]] (statement) {{Text|unlocks access to a file.}} | |||
* [[WIDTH]] (statement) {{Text|sets the text width of a file.}} | |||
* [[WRITE (file statement)]] {{Text|writes numerical and string data to a sequential file using comma separators.}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
* [[ | == Checksums and Hashes == | ||
* [[_ADLER32]] (function) {{Text|Returns the Adler-32 checksum of any arbitrary string.}} | |||
* [[_CRC32]] (function) {{Text|Returns the Crc-32 checksum of any arbitrary string.}} | |||
* [[_MD5$]] (function) {{Text|Returns the MD5 hash value of any arbitrary string.}} | |||
* [[ | |||
* [[ | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Fonts == | == Fonts == | ||
* [[_FONT (function)]] {{ | * [[_FONT (function)]] {{Text|creates a new alphablended font handle from a designated image handle}} | ||
* [[_FONT]] (statement) {{ | * [[_FONT]] (statement) {{Text|sets the current [[_LOADFONT]] function font handle to be used by [[PRINT]] or [[_PRINTSTRING]].}} | ||
* [[_FONTHEIGHT]] (function) {{ | * [[_FONTHEIGHT]] (function) {{Text|returns the font height of a font handle created by [[_LOADFONT]].}} | ||
* [[_FONTWIDTH]] (function) {{ | * [[_FONTWIDTH]] (function) {{Text|returns the font width of a MONOSPACE font handle created by [[_LOADFONT]].}} | ||
* [[_FREEFONT]] (statement) {{ | * [[_FREEFONT]] (statement) {{Text|frees a font handle value from memory}} | ||
* [[_LOADFONT]] (function) {{ | * [[_LOADFONT]] (function) {{Text|loads a TrueType font (.TTF) file of a specific size and style and returns a font handle value.}} | ||
* [[_MAPUNICODE]] (statement) {{ | * [[_MAPUNICODE]] (statement) {{Text|maps a [[Unicode]] value to an [[ASCII]] character code value.}} | ||
* [[_PRINTMODE (function)]] {{ | * [[_PRINTMODE (function)]] {{Text|returns the present _PRINTMODE status as a numerical value.}} | ||
* [[_PRINTMODE]] (statement) {{ | * [[_PRINTMODE]] (statement) {{Text|sets the text or [[_FONT]] printing mode on a background image when using [[PRINT]] or [[_PRINTSTRING]].}} | ||
:*_KEEPBACKGROUND {{ | :*_KEEPBACKGROUND {{Text|(1): Text background transparent. Only the text is displayed over anything behind it.}} | ||
:*_ONLYBACKGROUND {{ | :*_ONLYBACKGROUND {{Text|(2): Text background is only displayed. Text is transparent to anything behind it.}} | ||
:*_FILLBACKGROUND {{ | :*_FILLBACKGROUND {{Text|(3): Text and background block anything behind them like a normal [[PRINT]]. Default setting.}} | ||
* [[_PRINTSTRING]] (statement) {{ | * [[_PRINTSTRING]] (statement) {{Text|prints text or custom font strings using graphic column and row coordinate positions.}} | ||
* [[_PRINTWIDTH]] (function) {{ | * [[_PRINTWIDTH]] (function) {{Text|returns the width in pixels of the [[_FONT]] or text [[STRING|string]] that a program will print.}} | ||
* [[PRINT]] (statement) {{ | * [[PRINT]] (statement) {{Text|prints numeric or [[STRING|string]] expressions to the program screen.}} | ||
* [[PRINT USING]] (statement) {{ | * [[PRINT USING]] (statement) {{Text|prints template formatted numeric or string values to the program screen.}} | ||
* [[WRITE]] (screen I/O statement) {{ | * [[_UCHARPOS]] (function) {{Text|calculates the starting pixel positions of every character of a (unicode) text string.}} | ||
* [[_UFONTHEIGHT]] (function) {{Text|returns the global glyph height (incl. ascender/descender) of a loaded font.}} | |||
* [[_ULINESPACING]] (function) {{Text|returns the vertical line spacing (distance between two consecutive baselines) in pixels.}} | |||
* [[_UPRINTSTRING]] (statement) {{Text|locates and prints a (unicode) text [[STRING|string]] using graphic coordinates.}} | |||
* [[_UPRINTWIDTH]] (function) {{Text|returns the pixel width of a (unicode) text string to be printed using [[_UPRINTSTRING]].}} | |||
* [[WRITE]] (screen I/O statement) {{Text|writes a comma-separated list of values to the screen.}} | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Game Controller Input (Joystick) == | == Game Controller Input (Joystick) == | ||
* [[_AXIS]] (function) {{ | * [[_AXIS]] (function) {{Text|returns a [[SINGLE]] value between -1 and 1 indicating the maximum distance from device axis center 0.}} | ||
* [[_BUTTON]] (function) {{ | * [[_BUTTON]] (function) {{Text|returns -1 when a device button is pressed and 0 when button is released.}} | ||
* [[_BUTTONCHANGE]] (function) {{ | * [[_BUTTONCHANGE]] (function) {{Text|returns -1 when a device button has been pressed and 1 when released. Zero indicates no change.}} | ||
* [[_DEVICE$]] (function) {{ | * [[_DEVICE$]] (function) {{Text|returns a [[STRING]] expression listing a designated numbered input device name and types of input.}} | ||
* [[_DEVICEINPUT]] (function) {{ | * [[_DEVICEINPUT]] (function) {{Text|returns the [[_DEVICES]] number of an [[_AXIS]], [[_BUTTON]] or [[_WHEEL]] event.}} | ||
* [[_DEVICES]] (function) {{ | * [[_DEVICES]] (function) {{Text|returns the number of input devices found on a computer system including the keyboard and mouse.}} | ||
* [[_LASTAXIS]] (function) {{ | * [[_LASTAXIS]] (function) {{Text|returns the number of axis available on a specified number device listed by [[_DEVICE$]].}} | ||
* [[_LASTBUTTON]] (function) {{ | * [[_LASTBUTTON]] (function) {{Text|returns the number of buttons available on a specified number device listed by [[DEVICE$]].}} | ||
* [[_LASTWHEEL]] (function) {{ | * [[_LASTWHEEL]] (function) {{Text|returns the number of scroll wheels available on a specified number device listed by [[_DEVICE$]].}} | ||
* [[_MOUSEMOVEMENTX]] (function) {{ | * [[_MOUSEMOVEMENTX]] (function) {{Text|returns the relative horizontal position of the mouse cursor compared to the previous position.}} | ||
* [[_MOUSEMOVEMENTY]] (function) {{ | * [[_MOUSEMOVEMENTY]] (function) {{Text|returns the relative vertical position of the mouse cursor compared to the previous position.}} | ||
* [[_WHEEL]] (function) {{ | * [[_WHEEL]] (function) {{Text|returns -1 when a device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.}} | ||
* [[ON STRIG(n)]] (event statement) {{ | * [[ON STRIG(n)]] (event statement) {{Text|directs program flow upon a button press event of a game controller device.}} | ||
* [[STICK]] (function) {{ | * [[STICK]] (function) {{Text|returns the directional axis coordinate values from 1 to 254 of game port (&H201) or USB controller devices.}} | ||
* [[STRIG]] (function) {{ | * [[STRIG]] (function) {{Text|returns the True or False button press status of game port (&H201) or USB controller devices.}} | ||
* [[STRIG(n)]] (statement) {{ | * [[STRIG(n)]] (statement) {{Text|enables, suspends or disables event trapping of STRIG button return values.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Graphic Commands == | == Graphic Commands == | ||
* [[_COPYIMAGE]] (function) {{ | * [[_COPYIMAGE]] (function) {{Text|can copy a software surface to a hardware accelerated surface handle using mode 33.}} | ||
* [[_DISPLAY]] (statement) {{ | * [[_DISPLAY]] (statement) {{Text|renders surfaces visible in the [[_DISPLAYORDER]] previously set in the QB64 program.}} | ||
* [[_DISPLAYORDER]] {{ | * [[_DISPLAYORDER]] {{Text|sets the rendering order of _SOFTWARE, _HARDWARE and _GLRENDER with [[_DISPLAY]].}} | ||
* [[_LOADIMAGE]] (function) {{ | * [[_LOADIMAGE]] (function) {{Text|can load images as hardware accelerated using mode 33.}} | ||
* [[_PUTIMAGE]] (statement) {{Text|can place GL surfaces and allows the _SMOOTH action to blend stretched surfaces.}} | |||
* [[_PUTIMAGE]] (statement) {{ | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Graphics and Imaging: == | == Graphics and Imaging: == | ||
* [[_AUTODISPLAY]] (statement) {{ | * [[_AUTODISPLAY]] (statement) {{Text|enables the automatic display of the screen image changes previously disabled by [[_DISPLAY]].}} | ||
* [[_CLIP]] ([[PUT (graphics statement)|PUT]] action) {{ | * [[_CLIP]] ([[PUT (graphics statement)|PUT]] action) {{Text|allows placement of an image partially off of the screen.}} | ||
* [[_COPYIMAGE]] (function) {{ | * [[_COPYIMAGE]] (function) {{Text|function duplicates an image handle from a designated handle.}} | ||
* [[_COPYPALETTE]] (statement) {{ | * [[_COPYPALETTE]] (statement) {{Text|copies the color palette intensities from one image to another image or screen page.}} | ||
* [[_DEST]] (statement) {{ | * [[_DESKTOPHEIGHT]] (function) {{Text|returns the height of the desktop (not program window).}} | ||
* [[_DEST (function)]] {{ | * [[_DESKTOPWIDTH]] (function) {{Text|returns the width of the desktop (not program window).}} | ||
* [[_DISPLAY]] (statement) {{ | * [[_DEST]] (statement) {{Text|sets the current write image or page. All graphics will go to this image.}} | ||
* [[_DISPLAY (function)]] {{ | * [[_DEST (function)]] {{Text|returns the current write destination image or page.}} | ||
* [[_FULLSCREEN (function)]] {{ | * [[_DISPLAY]] (statement) {{Text|turns off automatic display while only displaying the screen changes when called.}} | ||
* [[_FULLSCREEN]] (statement) {{ | * [[_DISPLAY (function)]] {{Text|returns the handle of the current image that is displayed on the screen.}} | ||
* [[_FREEIMAGE]] (statement) {{ | * [[_FULLSCREEN (function)]] {{Text|returns the present full screen mode setting of the screen window.}} | ||
* [[_HEIGHT]] (function) {{ | * [[_FULLSCREEN]] (statement) {{Text|sets the full screen mode of the screen window. Alt + Enter can do it manually.}} | ||
* [[_ICON]] (function) {{ | * [[_FREEIMAGE]] (statement) {{Text|releases an image handle value from memory when no longer needed.}} | ||
* [[_LOADIMAGE]] (function) {{ | * [[_HEIGHT]] (function) {{Text|returns the height of an image handle or current write page.}} | ||
* [[_MAPTRIANGLE]] (statement) {{ | * [[_ICON]] (function) {{Text|places an image in the title bar using a [[_LOADIMAGE]] handle.}} | ||
* [[_NEWIMAGE]] (function) {{ | * [[_LOADIMAGE]] (function) {{Text|loads a graphic file image into memory and returns an image handle.}} | ||
* [[_PIXELSIZE]] (function) {{ | * [[_MAPTRIANGLE]] (statement) {{Text|maps a triangular portion of an image to a destination image or screen page.}} | ||
* [[_PRINTSTRING]] (statement) {{ | * [[_NEWIMAGE]] (function) {{Text|prepares a window image or page surface and returns the handle value.}} | ||
* [[_PUTIMAGE]] (statement) {{ | * [[_PIXELSIZE]] (function) {{Text|returns the color depth (Bits Per Pixel) of an image.}} | ||
* [[_SCREENIMAGE]] (function) {{ | * [[_PRINTSTRING]] (statement) {{Text|prints text or custom font strings using graphic column and row coordinate positions.}} | ||
* [[_SOURCE]] (statement) {{ | * [[_PUTIMAGE]] (statement) {{Text|maps a rectangular area of a source image to an area of a destination image in one operation}} | ||
* [[_SOURCE (function)]] {{ | * [[_SAVEIMAGE]] (statement) {{Text|Saves the screen or an image handle to an image file.}} | ||
* [[_WIDTH (function)]] {{ | * [[_SCREENIMAGE]] (function) {{Text|creates an image of the current desktop and returns an image handle.}} | ||
* [[_SMOOTH (function)]] {{Text|checks whether the current [[_FULLSCREEN]] mode has antialiasing enabled or not.}} | |||
* [[_SOURCE]] (statement) {{Text|establishes the image SOURCE using a designated image handle}} | |||
* [[_SOURCE (function)]] {{Text|returns the present image _SOURCE handle value.}} | |||
* [[_UCHARPOS]] (function) {{Text|calculates the starting pixel positions of every character of a (unicode) text string.}} | |||
* [[_UPRINTSTRING]] (statement) {{Text|locates and prints a (unicode) text [[STRING|string]] using graphic coordinates.}} | |||
* [[_WIDTH (function)]] {{Text|returns the width of an image handle or current write page.}} | |||
* [[CIRCLE]] (statement) {{ | * [[CIRCLE]] (statement) {{Text|is used in graphics SCREEN modes to create circles, arcs or ellipses.}} | ||
* [[CLS]] (statement) {{ | * [[CLS]] (statement) {{Text|clears a screen page or the program [[SCREEN]]. QB64 can clear with a color.}} | ||
* [[COLOR]] (statement) {{ | * [[COLOR]] (statement) {{Text|sets the current text color attribute or [[_RGB]] value to be used or background colors in some screen modes.}} | ||
* [[DRAW]] (statement) {{ | * [[DRAW]] (statement) {{Text|uses a special type of [[STRING|string]] expression to draw lines on the screen.}} | ||
* [[GET (graphics statement)]] {{ | * [[GET (graphics statement)]] {{Text|used to store a box area image of the screen into an [[INTEGER]] array.}} | ||
* [[LINE]] (statement) {{ | * [[LINE]] (statement) {{Text|used in graphic [[SCREEN]] modes to create lines or boxes.}} | ||
* [[PAINT]] (statement) {{ | * [[PAINT]] (statement) {{Text|used to color enclosed graphic objects with a designated fill color and border color.}} | ||
* [[PALETTE]] (statement) {{ | * [[PALETTE]] (statement) {{Text|can swap color settings, set colors to default or set the Red, Green, Blue color palette.}} | ||
* [[PALETTE USING]] (statement) {{ | * [[PALETTE USING]] (statement) {{Text|sets all RGB screen color intensities using values from an array.}} | ||
* [[PCOPY]] (statement) {{ | * [[PCOPY]] (statement) {{Text|copies one source screen page to a destination page in memory.}} | ||
* [[PMAP]] (function) {{ | * [[PMAP]] (function) {{Text|returns the physical or [[WINDOW]] view coordinates.}} | ||
* [[POINT]] (function) {{ | * [[POINT]] (function) {{Text|returns the pixel [[COLOR]] attribute or [[_RGB]] value at a specified graphics coordinate.}} | ||
* [[PRESET]] (statement) {{ | * [[PRESET]] (statement) {{Text|sets a pixel coordinate to the background color or a designated color.}} | ||
* [[PSET]] (statement) {{ | * [[PSET]] (statement) {{Text|sets a pixel coordinate to the default color or designated color attribute.}} | ||
* [[PUT (graphics statement)]] {{ | * [[PUT (graphics statement)]] {{Text|statement is used to place [[GET (graphics statement)|GET]] saved or [[BSAVE]]d images stored in an array.}} | ||
* [[SCREEN]] {{ | * [[SCREEN]] {{Text|sets the screen mode of a program. No statement defaults the program to SCREEN 0 text only mode.}} | ||
* [[STEP]] (relational statement) {{ | * [[STEP]] (relational statement) {{Text|is used to step through FOR loop values or use relative graphical coordinates.}} | ||
* [[VIEW]] (graphics statement) {{ | * [[VIEW]] (graphics statement) {{Text|creates a graphics view port area by defining the coordinate limits to be viewed.}} | ||
* [[WINDOW]] (statement) {{ | * [[WINDOW]] (statement) {{Text|defines the coordinate dimensions of the current graphics viewport.}} | ||
<center> | <center>See also: [[Bitmaps]], [[Icons and Cursors]], [[SaveImage SUB]], [[GIF Images]]</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Keyboard Input == | == Keyboard Input == | ||
* [[_CONTROLCHR]] (statement) {{ | * [[_CONTROLCHR]] (statement) {{Text|[[OFF]] allows the control characters to be used as text characters. [[ON]](default) can use them as commands.}} | ||
* [[_CONTROLCHR (function)]] {{ | * [[_CONTROLCHR (function)]] {{Text| returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.}} | ||
* [[_EXIT (function)]] {{ | * [[_EXIT (function)]] {{Text|prevents a program user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.}} | ||
* [[_KEYDOWN]] (function) {{ | * [[_INPUTBOX$]] (function) {{Text|Displays a prompt in a dialog box, waits for the user to input text or click a button, and returns a string containing the contents of the text box.}} | ||
* [[_KEYHIT]] (function) {{ | * [[_KEYDOWN]] (function) {{Text|returns whether modifying keys like CTRL, ALT, SHIFT, and any other keys are pressed.}} | ||
* [[_SCREENPRINT]] (statement) {{ | * [[_KEYHIT]] (function) {{Text|returns ASCII one and two byte, SDL Virtual Key and Unicode keyboard key press codes.}} | ||
* [[_SCREENPRINT]] (statement) {{Text|simulates typing text into another OS program using the keyboard.}} | |||
* [[INKEY$]] (function) {{ | * [[INKEY$]] (function) {{Text|returns the [[ASCII]] [[STRING|string]] character of a keypress.}} | ||
* [[INPUT]] (statement) {{ | * [[INPUT]] (statement) {{Text|requests a [[STRING]] or numerical keyboard entry from a program user.}} | ||
* [[INPUT$]] (function) {{ | * [[INPUT$]] (function) {{Text|used to get a set number of keypress characters or bytes from a file.}} | ||
* [[INP]] (function) {{ | * [[INP]] (function) {{Text|returns a scan code value from keyboard register &H60(96) to determine key presses.}} | ||
* [[KEY n]] (event statement) {{ | * [[KEY n]] (event statement) {{Text|is used to assign a "softkey" string to a key and/or display them.}} | ||
* [[KEY(n)]] (event statement) {{ | * [[KEY(n)]] (event statement) {{Text|assigns, enables, disables or suspends event trapping of a keypress.}} | ||
* [[KEY LIST]] (statement) {{ | * [[KEY LIST]] (statement) {{Text|lists the 12 Function key soft key string assignments going down left side of screen.}} | ||
* [[LINE INPUT]] (statement) {{ | * [[LINE INPUT]] (statement) {{Text|requests a [[STRING]] keyboard entry from a program user.}} | ||
* [[ON KEY(n)]] (event statement) {{ | * [[ON KEY(n)]] (event statement) {{Text|defines a line number or label to go to when a specified key is pressed.}} | ||
* [[SLEEP]] (statement) {{ | * [[SLEEP]] (statement) {{Text|pauses the program for a specified number of seconds or a until a key press.}} | ||
<center>See also: [[Keyboard scancodes]], [[ASCII|ASCII Codes]] references or [[ | <center>See also: [[Keyboard scancodes]], [[ASCII|ASCII Codes]] references or [[Windows Libraries#Hot_Keys_(maximize)|Hot Keys for Windows]].</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== [[Libraries]] == | == [[Libraries]] == | ||
* [[_OFFSET (function)]] {{ | * [[_OFFSET (function)]] {{Text|returns the memory offset of a variable when used with [[DECLARE LIBRARY]] only.}} | ||
* [[_OFFSET]](variable type) {{ | * [[_OFFSET]](variable type) {{Text|can be used store the value of an offset in memory when using [[DECLARE LIBRARY]] only.}} | ||
* [[ALIAS]] (statement) {{ | * [[ALIAS]] (statement) {{Text|tells the program that you will use a different name than the name used in the Library file.}} | ||
* [[BYVAL]] (statement) {{ | * [[BYVAL]] (statement) {{Text|used to pass a parameter's value with sub-procedures from a Library.}} | ||
* [[DECLARE LIBRARY]] {{ | * [[DECLARE LIBRARY]] {{Text|allows the use of OS specific, SDL or C++ external library [[SUB]] and [[FUNCTION]] procedures}} | ||
* [[DECLARE LIBRARY|END DECLARE]] {{Text|required at the END of the block of Library declarations in QB64.}} | |||
* [[DECLARE LIBRARY| END DECLARE]] {{ | |||
<center>'''QB64 also supports [[$INCLUDE]] text code file Libraries. QB64 does not support QLB Libraries or OBJ files.'''</center> | <center>'''QB64 also supports [[$INCLUDE]] text code file Libraries. QB64 does not support QLB Libraries or OBJ files.'''</center> | ||
* [[$INCLUDEONCE]] (metacommand) {{Text|prevents that include file contents is injected multiple times into a program.}} | |||
Line 567: | Line 479: | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Logical Bitwise Operations == | == Logical Bitwise Operations == | ||
* [[AND]] (operator) {{ | * [[AND]] (operator) {{Text|the bit is set when both bits are set.}} | ||
* [[EQV]] (operator) {{ | * [[EQV]] (operator) {{Text|the bit is set when both are set or both are not set.}} | ||
* [[IMP]] (operator) {{ | * [[IMP]] (operator) {{Text|the bit is set when both are set or both are unset or the second condition bit is set.}} | ||
* [[OR]] (operator) {{ | * [[OR]] (operator) {{Text|the bit is set when either bit is set.}} | ||
* [[NOT]] (operator) {{ | * [[NOT]] (operator) {{Text|the bit is set when a bit is not set and not set when a bit is set.}} | ||
* [[XOR]] (operator) {{ | * [[XOR]] (operator) {{Text|the bit is set when just one of the bits are set.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | |||
== Mathematical Functions and Operations == | == Mathematical Functions and Operations == | ||
* [[_ROUND]] (function) {{ | * [[_MAX]] (function) {{Text|Returns the greater of two given numeric values.}} | ||
* [[_MIN]] (function) {{Text|Returns the lesser of two given numeric values.}} | |||
* [[_ROUND]] (function) {{Text|rounds to the closest EVEN [[INTEGER]], [[LONG]] or [[_INTEGER64]] numerical value.}} | |||
Line 597: | Line 510: | ||
* [[ABS]] (function) {{ | * [[ABS]] (function) {{Text|returns the the positive value of a variable or literal numerical value.}} | ||
* [[ATN]] (function) {{ | * [[ATN]] (function) {{Text|or arctangent returns the angle in radians of a numerical [[TAN|tangent]] value.}} | ||
* [[CDBL]] (function) {{ | * [[CDBL]] (function) {{Text|closest double rounding function}} | ||
* [[CINT]] (function) {{ | * [[CINT]] (function) {{Text|closest integer rounding function}} | ||
* [[CLNG]] (function) {{ | * [[CLNG]] (function) {{Text|closest long integer rounding function}} | ||
* [[COS]] (function) {{ | * [[COS]] (function) {{Text|cosine of a radian angle}} | ||
* [[CSNG]] (function) {{ | * [[CSNG]] (function) {{Text|closest single rounding function}} | ||
* [[EXP]] (function) {{ | * [[EXP]] (function) {{Text|returns the value of e to the power of the parameter used.}} | ||
* [[FIX]] (function) {{ | * [[FIX]] (function) {{Text|rounds positive or negative values to integer values closer to 0}} | ||
* [[INT]] (function) {{ | * [[INT]] (function) {{Text|rounds to lower integer value}} | ||
* [[LOG]] (function) {{ | * [[LOG]] (function) {{Text|natural logarithm of a specified numerical value.}} | ||
* [[SIN]] (function) {{ | * [[SIN]] (function) {{Text|sine of a radian angle.}} | ||
* [[SQR]] (function) {{ | * [[SQR]] (function) {{Text|square root of a positive number.}} | ||
* [[TAN]] (function) {{ | * [[TAN]] (function) {{Text|returns the ratio of [[SIN]]e to [[COS]]ine or tangent value of an angle measured in radians.}} | ||
<center>See also: [[Mathematical Operations]] and [[# | <center>See also: [[Mathematical Operations]] and [[#Logical_Bitwise_Operations|Logical Operations]]</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Memory Handling and Clipboard == | == Memory Handling and Clipboard == | ||
* [[_CLIPBOARD$ | * [[_CLIPBOARD$ (function)]] {{Text|returns the current [[STRING]] contents of the system Clipboard.}} | ||
* [[_CLIPBOARD$ (statement) | * [[_CLIPBOARD$]] (statement) {{Text|sets and overwrites the [[STRING]] contents of the current system Clipboard.}} | ||
* [[_MEM (function)]] {{ | * [[_MEM (function)]] {{Text|returns _MEM block referring to the largest continuous memory region beginning at a designated variable's offset.}} | ||
* [[_MEM]] (variable type) {{ | * [[_MEM]] (variable type) {{Text|contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory.}} | ||
* [[_MEMCOPY]] (statement) {{ | * [[_MEMCOPY]] (statement) {{Text|copies a value from a designated OFFSET and SIZE [[TO]] a block of memory at a designated OFFSET.}} | ||
* [[_MEMELEMENT]] (function) {{ | * [[_MEMELEMENT]] (function) {{Text|returns a [[_MEM]] block referring to a variable's memory (but not past it).}} | ||
* [[_MEMEXISTS]] (function) {{ | * [[_MEMEXISTS]] (function) {{Text|verifies that a memory block exists for a memory variable name or returns zero.}} | ||
* [[_MEMFILL]] (statement) {{ | * [[_MEMFILL]] (statement) {{Text|fills a designated memory block OFFSET with a certain SIZE and TYPE of value.}} | ||
* [[_MEMFREE]] (statement) {{ | * [[_MEMFREE]] (statement) {{Text|frees a designated memory block in a program. Only free memory once!}} | ||
* [[_MEMGET]] (statement) {{ | * [[_MEMGET]] (statement) {{Text|reads a designated value from a designated memory OFFSET}} | ||
* [[_MEMGET (function)]] {{ | * [[_MEMGET (function)]] {{Text|returns a value from a designated memory block and OFFSET using a designated variable [[TYPE]].}} | ||
* [[_MEMIMAGE]] (function) {{ | * [[_MEMIMAGE]] (function) {{Text|returns a [[_MEM]] block referring to a designated image handle's memory}} | ||
* [[_MEMNEW]] (function) {{ | * [[_MEMNEW]] (function) {{Text|allocates new memory with a designated SIZE and returns a [[_MEM]] block referring to it.}} | ||
* [[_MEMPUT]] (statement) {{ | * [[_MEMPUT]] (statement) {{Text|places a designated value into a designated memory [[_OFFSET]]}} | ||
* [[_OFFSET (function)]] {{ | * [[_MEMSOUND]] (function) {{Text|returns a [[_MEM]] block referring to a designated sound handle's memory}} | ||
* [[_OFFSET]](%& numerical type) {{ | * [[_OFFSET (function)]] {{Text|returns the memory offset of a variable when used with [[DECLARE LIBRARY]] or [[_MEM]] only.}} | ||
* [[_OFFSET]](%& numerical type) {{Text|can be used store the value of an offset in memory when using [[DECLARE LIBRARY]] or [[_MEM]] only.}} | |||
<center>'''Functions and statements using QB64's emulated 16 bit memory'''</center> | <center>'''Functions and statements using QB64's emulated 16 bit memory'''</center> | ||
* [[DEF SEG]] (statement) {{ | * [[DEF SEG]] (statement) {{Text|defines the segment address in memory.}} | ||
* [[PEEK]] (function) {{ | * [[PEEK]] (function) {{Text|returns the value that is contained at a certain memory address offset.}} | ||
* [[POKE]] (statement) {{ | * [[POKE]] (statement) {{Text|sets the value of a specified memory address offset.}} | ||
* [[SADD]] (function) {{ | * [[SADD]] (function) {{Text|returns the address of a STRING variable as an offset from the current data segment.}} | ||
* [[VARPTR]] (function) {{ | * [[VARPTR]] (function) {{Text|returns an [[INTEGER]] value that is the offset pointer of the memory address within it's [[segment]].}} | ||
* [[VARPTR$]] (function) {{ | * [[VARPTR$]] (function) {{Text|returns a STRING representation of a variable's memory address value}} | ||
* [[VARSEG]] (function) {{ | * [[VARSEG]] (function) {{Text|returns an [[INTEGER]] value that is the [[segment]] part of a variable or array memory address.}} | ||
<center>See also: [[Screen Memory]] or [[Using _OFFSET]]</center> | <center>See also: [[Screen Memory]] or [[Using _OFFSET]]</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Mouse Input == | == Mouse Input == | ||
* [[_AXIS]] (function) {{ | * [[_AXIS]] (function) {{Text|returns a [[SINGLE]] value between -1 and 1 indicating the maximum distances from device center 0.}} | ||
* [[_BUTTON]] (function) {{ | * [[_BUTTON]] (function) {{Text|returns -1 when a device button is pressed and 0 when button is released. 2 is the mouse center or scroll button}} | ||
* [[_BUTTONCHANGE]] (function) {{ | * [[_BUTTONCHANGE]] (function) {{Text|returns -1 when a device button has been pressed and 1 when released. Zero indicates no change.}} | ||
* [[_DEVICE$]] (function) {{ | * [[_DEVICE$]] (function) {{Text|returns a [[STRING]] expression listing device names and input types of system input devices.}} | ||
* [[_DEVICEINPUT]] (function) {{ | * [[_DEVICEINPUT]] (function) {{Text|returns the [[_DEVICES]] number of an [[_AXIS]], [[_BUTTON]] or [[_WHEEL]] event. Mouse is normally _DEVICEINPUT(2).}} | ||
* [[_DEVICES]] (function) {{ | * [[_DEVICES]] (function) {{Text|returns the number of input devices found on a computer system. The mouse is normally device 2.}} | ||
* [[_EXIT (function)]] {{ | * [[_EXIT (function)]] {{Text|prevents a program user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.}} | ||
* [[_LASTAXIS]] (function) {{ | * [[_LASTAXIS]] (function) {{Text|returns the number of axis available on a specified number device listed by [[_DEVICE$]].}} | ||
*[[_LASTBUTTON]] (function) {{ | *[[_LASTBUTTON]] (function) {{Text|returns the number of buttons available on a specified number device listed by [[DEVICE$]].}} | ||
* [[_LASTWHEEL]] (function) {{ | * [[_LASTWHEEL]] (function) {{Text|returns the number of scroll wheels available on a specified number device listed by [[_DEVICE$]].}} | ||
* [[_MOUSEBUTTON]] (function) {{ | * [[_MOUSEBUTTON]] (function) {{Text|returns whether a specified mouse button number has been clicked. 3 is the mouse center or scroll button}} | ||
* [[_MOUSEHIDE]] (statement) {{ | * [[_MOUSEHIDDEN]] (function) {{Text|returns the current state of the mouse pointer.}} | ||
* [[_MOUSEINPUT]] (function) {{ | * [[_MOUSEHIDE]] (statement) {{Text|hides the OS mouse pointer from view.}} | ||
* [[_MOUSEMOVE]] (statement) {{ | * [[_MOUSEINPUT]] (function) {{Text|must be used to monitor and read all changes in the mouse status.}} | ||
* [[_MOUSEMOVEMENTX]] (function) {{ | * [[_MOUSEMOVE]] (statement) {{Text|moves the mouse cursor pointer to a designated coordinate.}} | ||
* [[_MOUSEMOVEMENTY]] (function) {{ | * [[_MOUSEMOVEMENTX]] (function) {{Text|returns the relative horizontal position of the mouse cursor.}} | ||
* [[_MOUSESHOW]] (statement) {{ | * [[_MOUSEMOVEMENTY]] (function) {{Text|returns the relative vertical position of the mouse cursor.}} | ||
* [[_MOUSEWHEEL]] (function) {{ | * [[_MOUSESHOW]] (statement) {{Text|displays the OS mouse cursor after it has been hidden.}} | ||
* [[_MOUSEX]] (function) {{ | * [[_MOUSEWHEEL]] (function) {{Text|returns a positive or negative count the mouse scroll wheel clicks since the last read.}} | ||
* [[_MOUSEY]] (function) {{ | * [[_MOUSEX]] (function) {{Text|indicates the current horizontal position of the mouse pointer.}} | ||
* [[_SCREENCLICK]] {{ | * [[_MOUSEY]] (function) {{Text|indicates the current vertical position of the mouse pointer.}} | ||
* [[_WHEEL]] (function) {{ | * [[_SCREENCLICK]] {{Text|simulates clicking the mouse at a position on the screen to get focus.}} | ||
* [[_WHEEL]] (function) {{Text|returns -1 when a device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.}} | |||
* [[CALL ABSOLUTE|CALL ABSOLUTE]] (statement) {{ | * [[CALL ABSOLUTE|CALL ABSOLUTE]] (statement) {{Text|used to access Interrupt vector &H33 to work with the mouse. Functions 0 to 3 implemented.}} | ||
* [[INTERRUPT]] (statement) {{ | * [[INTERRUPT]] (statement) {{Text|used to access Interrupt vector &H33 to work with the mouse. Functions 0 to 3 implemented. }} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Numerical Manipulation and Conversion == | == Numerical Manipulation and Conversion == | ||
* [[_CV]] (function) {{ | * [[_BIN$]] (function) {{Text|converts the [[INTEGER]] part of any value to binary [[STRING]] number value.}} | ||
* [[_MK$]] (function) {{ | * [[_CV]] (function) {{Text|used to convert [[_MK$]] [[ASCII]] [[STRING|string]] values to specified numerical value types.}} | ||
* [[_PRESERVE]] ([[REDIM]] action) {{ | * [[_MK$]] (function) {{Text|converts a specified numerical type into an [[ASCII]] [[STRING|string]] value that must be converted back using [[_CV]].}} | ||
* [[_UNSIGNED]] {numerical [[TYPE|type]]) {{ | * [[_PRESERVE]] ([[REDIM]] action) {{Text|preserves the current contents of an [[arrays|array]], when re-dimensioning it.}} | ||
* [[_TOSTR$]] (function) {{Text|Returns the [[STRING]] representation of a numerical value. It's a successor of the legacy [[STR$]] function.}} | |||
* [[_UNSIGNED]] {numerical [[TYPE|type]]) {{Text|defines a numerical value as being positive only using QB64.}} | |||
* [[ABS]] (function) {{ | * [[ABS]] (function) {{Text|returns the the positive value of a variable or literal numerical value.}} | ||
* [[ASC | * [[ASC (function)]] {{Text|returns the [[ASCII]] code number of a certain [[STRING]] text character or a keyboard press.}} | ||
* [[CDBL]] (function) {{Text|converts a numerical value to the closest [[DOUBLE]]-precision value.}} | |||
* [[CDBL]] (function) {{ | * [[CHR$]] (function) {{Text|returns the character associated with a certain [[ASCII]] character code as a [[STRING]].}} | ||
* [[CHR$]] (function) {{ | * [[CINT]] (function) {{Text|returns the closest [[INTEGER]] value of a number.}} | ||
* [[CINT]] (function) {{ | * [[CLEAR]] (statement) {{Text|clears all variable values to 0 or null [[STRING|strings]] and closes all open files.}} | ||
* [[CLEAR]] (statement) {{ | * [[CLNG]] (function) {{Text| rounds decimal point numbers up or down to the nearest [[LONG]] integer value.}} | ||
* [[CLNG]] (function) {{ | * [[CSNG]] (function) {{Text|converts a numerical value to the closest [[SINGLE]]-precision number.}} | ||
* [[CSNG]] (function) {{ | * [[CVD]] (function) {{Text|converts [[STRING]] values to [[DOUBLE]] numerical values.}} | ||
* [[CVD]] (function) {{ | * [[CVDMBF]] (function) {{Text|converts a 8-byte Microsoft Binary format [[STRING|string]] value to a [[DOUBLE]] precision number.}} | ||
* [[CVDMBF]] (function) {{ | * [[CVI]] (function) {{Text|converts 2 byte STRING values to [[INTEGER]] numerical values.}} | ||
* [[CVI]] (function) {{ | * [[CVL]] (function) {{Text|converts 4 byte STRING values to [[LONG]] numerical values.}} | ||
* [[CVL]] (function) {{ | * [[CVS]] (function) {{Text|converts 4 byte STRING values to [[SINGLE]] numerical values.}} | ||
* [[CVS]] (function) {{ | * [[CVSMBF]] (function) {{Text|converts a 4-byte Microsoft Binary format [[STRING|string]] value to a [[SINGLE]]-precision number.}} | ||
* [[CVSMBF]] (function) {{ | * [[DIM]] (statement) {{Text|used to declare a variable type or dimension a [[STATIC]] array.}} | ||
* [[DIM]] (statement) {{ | * [[ERASE]] (array statement) {{Text|clears a [[STATIC]] array of all values and totally removes a [[$DYNAMIC]] array.}} | ||
* [[ERASE]] (array statement) {{ | * [[HEX$]] (function) {{Text|converts the [[INTEGER]] part of any value to hexadecimal [[STRING]] number value.}} | ||
* [[HEX$]] (function) {{ | * [[INT]] (function) {{Text|rounds a numeric value down to the next whole number or [[INTEGER]] value.}} | ||
* [[INT]] (function) {{ | * [[LEN]] (function) {{Text|returns the byte size of strings or numerical variables.}} | ||
* [[LEN]] (function) {{ | * [[OCT$]] (function) {{Text|converts the [[INTEGER]] part of any value to octal [[STRING]] number value.}} | ||
* [[OCT$]] (function) {{ | * [[RANDOMIZE]] (statement) {{Text|seeds the [[RND]] random number generation sequence.}} | ||
* [[RANDOMIZE]] (statement) {{ | * [[REDIM]] (statement) {{Text|re-dimensions the number of elements in a [[$DYNAMIC|dynamic]](resizeable) [[arrays|array]].}} | ||
* [[REDIM]] (statement) {{ | * [[RND]] (function) {{Text|returns a randomly generated number from 0 to .9999999}} | ||
* [[RND]] (function) {{ | * [[SGN]] (function) {{Text|returns the sign as -1 for negative, zero for 0 and 1 for positive numerical values.}} | ||
* [[SGN]] (function) {{ | * [[STR$]] (function) {{Text|converts a numerical value to a [[STRING]] value.}} | ||
* [[STR$]] (function) {{ | * [[SWAP]] (statement) {{Text|trades the values of two numerical types or [[STRING|strings]].}} | ||
* [[SWAP]] (statement) {{ | * [[VAL]] (function) {{Text|converts number [[STRING|strings]] into numerical values until it runs into a non-numeric character.}} | ||
* [[VAL]] (function) {{ | |||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Port Input and Output (COM and LPT) == | == Port Input and Output (COM and LPT) == | ||
* [[GET]] (file I/O statement) {{Text|reads port data data by byte or record positions.}} | |||
* [[LOC]] (function) {{Text|finds the current file location or size of a [[OPEN COM|COM]] port receive buffer.}} | |||
* [[GET]] (file I/O statement) {{ | |||
* [[LOC]] (function) {{ | |||
* [[OPEN COM]] (statement) {{Text|opens a computer serial COMmunications port.}} | |||
* [[OPEN COM]] (statement) {{ | * [[OUT]] (statement) {{Text|sends values to register or port hardware addresses (emulated - limited access).}} | ||
* [[OUT]] (statement) {{ | |||
* [[PRINT (file statement)]] {{ | * [[PRINT (file statement)]] {{Text|writes text and numerical data to a port transmit buffer.}} | ||
* [[PUT]] (file I/O statement) {{ | * [[PUT]] (file I/O statement) {{Text|writes data into a [[RANDOM]] or [[BINARY]] port by byte or record position.}} | ||
Line 761: | Line 659: | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Print formatting == | == Print formatting == | ||
* [[LPRINT USING]] (statement) {{ | * [[LPRINT USING]] (statement) {{Text|prints template formatted [[STRING]] text to an LPT or USB printer page.}} | ||
* [[PRINT USING]] (statement) {{ | * [[PRINT USING]] (statement) {{Text|prints template formatted [[STRING]] text to the screen.}} | ||
* [[PRINT USING (file statement)]] {{ | * [[PRINT USING (file statement)]] {{Text|prints template formatted [[STRING]] text to a text file.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | |||
== Printer Output (LPT and USB) == | == Printer Output (LPT and USB) == | ||
* [[_PRINTIMAGE]] (statement) {{ | * [[_PRINTIMAGE]] (statement) {{Text|prints an image stretched to the size of the paper setting of an LPT or USB printer.}} | ||
* [[LPOS]] (function) {{ | * [[LPOS]] (function) {{Text|returns the current parallel(LPT) printer head position.}} | ||
* [[LPRINT]] (statement) {{ | * [[LPRINT]] (statement) {{Text|prints text to an LPT or USB printer page.}} | ||
* [[LPRINT USING]] (statement) {{ | * [[LPRINT USING]] (statement) {{Text|prints template formatted [[STRING]] text to an LPT or USB printer page.}} | ||
Line 788: | Line 685: | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Program Flow and Loops == | == Program Flow and Loops == | ||
* [[_CONTINUE]] (statement) {{ | * [[_CONTINUE]] (statement) {{Text|skips the remaining lines in a control block (DO/LOOP, FOR/NEXT or WHILE/WEND)}} | ||
* [[_DEST]] (statement) {{ | * [[_DEST]] (statement) {{Text|sets the current write image or page. All graphics will go to this image.}} | ||
* [[_DEST (function)]] {{ | * [[_DEST (function)]] {{Text|returns the current write destination image or page.}} | ||
* [[_EXIT (function)]] {{ | * [[_EXIT (function)]] {{Text|prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.}} | ||
* [[_SOURCE]] (statement) {{ | * [[_SOURCE]] (statement) {{Text|establishes the image SOURCE using a designated image handle}} | ||
* [[_SOURCE (function)]] {{ | * [[_SOURCE (function)]] {{Text|returns the present image _SOURCE handle value.}} | ||
* [[_SHELLHIDE]] (function) {{ | * [[_SHELLHIDE]] (function) {{Text|returns the code sent by a program exit using [[END]] or [[SYSTEM]] followed by an [[INTEGER]] value.}} | ||
* [[CALL]] (statement) {{ | * [[CALL]] (statement) {{Text|sends code execution to a subroutine procedure in a program.}} | ||
* [[CASE]] ([[SELECT CASE]] statement) {{ | * [[CASE]] ([[SELECT CASE]] statement) {{Text|used within a SELECT CASE block to specify a conditional value of the compared variable.}} | ||
* [[CASE ELSE]] ([[SELECT CASE]] statement) {{ | * [[CASE ELSE]] ([[SELECT CASE]] statement) {{Text|used in a SELECT CASE block to specify an alternative to other CASE values.}} | ||
* [[CASE IS]] ([[SELECT CASE]] statement) {{ | * [[CASE IS]] ([[SELECT CASE]] statement) {{Text|used within a SELECT CASE block to specify a conditional value of the compared variable.}} | ||
* [[DO...LOOP]] (loop statement) {{ | * [[DO...LOOP]] (loop statement) {{Text|used in programs to repeat code or return to the start of a procedure.}} | ||
* [[ELSE]] (statement) {{ | * [[ELSE]] (statement) {{Text|used in [[IF...THEN]] statements to offer an alternative to other conditional statements.}} | ||
* [[ELSEIF]] (statement) {{ | * [[ELSEIF]] (statement) {{Text|used in [[IF...THEN]] block statements to offer an alternative conditional statement.}} | ||
* [[END]] (statement) {{ | * [[END]] (statement) {{Text|ENDs a conditional block statement, a sub-procedure or ends the program with "Press any key..."}} | ||
* [[END IF]] (IF statement end) {{ | * [[END IF]] (IF statement end) {{Text|ENDs an IF statement block.}} | ||
* [[ERROR]] (error statement) {{ | * [[ERROR]] (error statement) {{Text|used to simulate an error in a program.}} | ||
* [[EXIT]] (statement) {{ | * [[EXIT]] (statement) {{Text|exits a loop, function or sub-procedure early.}} | ||
* [[FOR...NEXT]] (statement) {{ | * [[FOR...NEXT]] (statement) {{Text|a counter loop procedure that repeats code a specified number of times.}} | ||
* [[GOSUB]] (statement) {{ | * [[GOSUB]] (statement) {{Text|send the program to a designated line label procedure in the main module or a [[SUB]] procedure.}} | ||
* [[GOTO]] (statement) {{ | * [[GOTO]] (statement) {{Text|sends the program to a designated line number or label.}} | ||
* [[IF...THEN]] (statement) {{ | * [[IF...THEN]] (statement) {{Text|a conditional flow statement or block of statements.}} | ||
* [[LOOP]] {{ | * [[LOOP]] {{Text|end of a DO...LOOP procedure that repeats code until or while a condition is true.}} | ||
* [[RESUME]] (error statement) {{ | * [[RESUME]] (error statement) {{Text|an error statement that can return the program to the NEXT code line or a specific line number.}} | ||
* [[RETURN]] (statement) {{ | * [[RETURN]] (statement) {{Text|a sub-procedure statement that returns the program to the code immediately after the procedure call.}} | ||
* [[RUN]] (statement) {{ | * [[RUN]] (statement) {{Text|clears and restarts the program currently in memory or executes another specified program.}} | ||
* [[SELECT CASE]] (statement) {{ | * [[SELECT CASE]] (statement) {{Text|determines the program flow by comparing the value of a variable to specific values.}} | ||
* [[SHELL]] (DOS statement) {{ | * [[SHELL]] (DOS statement) {{Text|directly accesses the Operating System's command line procedures.}} | ||
* [[SLEEP]] (statement) {{ | * [[SLEEP]] (statement) {{Text|stops program progression for a specific number of seconds or until a keypress is made.}} | ||
* [[STEP]] (relational statement) {{ | * [[STEP]] (relational statement) {{Text|is used to step through FOR loop values or use relative graphical coordinates.}} | ||
* [[STOP]] (statement) {{ | * [[STOP]] (statement) {{Text|is used when troubleshooting a program to stop the program at a specified code line.}} | ||
* [[SYSTEM]] (statement) {{ | * [[SYSTEM]] (statement) {{Text|immediately exits a program and closes the program window.}} | ||
* [[UNTIL]] (conditional statement) {{ | * [[UNTIL]] (conditional statement) {{Text|continues a DO LOOP procedure until a condition is true.}} | ||
* [[WHILE]] (statement) {{ | * [[WHILE]] (statement) {{Text|continues a DO LOOP procedure while a condition is true.}} | ||
* [[WHILE...WEND]] (statement) {{ | * [[WHILE...WEND]] (statement) {{Text|a loop procedure that repeats code while a condition is true.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Sounds and Music == | == Sounds and Music == | ||
* [[_SNDBAL]] (statement) {{ | * [[_MIDISOUNDBANK]] {{Text|enables [[_SNDOPEN]] to use external FM Banks or SoundFonts when playing MIDI files.}} | ||
* [[_SNDCLOSE]] (statement) {{ | * [[$MIDISOUNDFONT]] (metacommand) ({{Text|deprecated|red}}) {{Text|enables the MIDI support for [[_SNDOPEN]].}} | ||
* [[_SNDCOPY]] (function) {{ | * [[_SNDBAL]] (statement) {{Text|sets the balance or 3D position of a sound.}} | ||
* [[_SNDGETPOS]] (function) {{ | * [[_SNDCLOSE]] (statement) {{Text|frees and unloads an open sound using a _SNDOPEN or _SNDCOPY handle.}} | ||
* [[_SNDLEN]] (function) {{ | * [[_SNDCOPY]] (function) {{Text|copies a sound to a new handle so that two or more of the same sound can be played at once.}} | ||
* [[_SNDLIMIT]] (statement) {{ | * [[_SNDGETPOS]] (function) {{Text|returns the current playing position in seconds of a designated sound handle.}} | ||
* [[_SNDLOOP]] (statement) {{ | * [[_SNDLEN]] (function) {{Text|returns the length of a sound in seconds of a designated sound handle.}} | ||
* [[_SNDOPEN]] (function) {{ | * [[_SNDLIMIT]] (statement) {{Text|stops playing a sound after it has been playing for a set number of seconds.}} | ||
* [[_SNDPAUSE]] (statement) {{ | * [[_SNDLOOP]] (statement) {{Text|loops the playing of a specified sound handle.}} | ||
* [[_SNDPAUSED]] (function) {{ | * [[_SNDNEW]] (function) {{Text|creates a raw empty sound in memory and returns a LONG handle value for later access.}} | ||
* [[_SNDPLAY]] (statement) {{ | * [[_SNDOPEN]] (function) {{Text|loads a sound file with certain capabilities and returns a handle value.}} | ||
* [[_SNDPLAYCOPY]] (statement) {{ | * [[_SNDPAUSE]] (statement) {{Text|pauses a specified sound handle if it is playing.}} | ||
* [[_SNDPLAYFILE]] (statement) {{ | * [[_SNDPAUSED]] (function) {{Text|returns the pause status of a specified sound handle.}} | ||
* [[_SNDPLAYING]] (function) {{ | * [[_SNDPLAY]] (statement) {{Text|plays a designated sound file handle.}} | ||
* [[_SNDRATE]] (function) {{ | * [[_SNDPLAYCOPY]] (statement) {{Text|copies a sound, plays it and automatically closes the copy using a handle parameter}} | ||
* [[_SNDRAW]] (statement) {{ | * [[_SNDPLAYFILE]] (statement) {{Text|a simple command to play a sound file with limited options.}} | ||
* [[_SNDRAWDONE]] (statement) {{ | * [[_SNDPLAYING]] (function) {{Text|returns whether a sound handle is being played.}} | ||
* [[_SNDRAWLEN]] (function) {{ | * [[_SNDRATE]] (function) {{Text|returns the sample rate frequency per second of the current computer's sound card.}} | ||
* [[_SNDOPENRAW]] (function) {{ | * [[_SNDRAW]] (statement) {{Text|plays sound wave sample frequencies created by a program.}} | ||
* [[_SNDSETPOS]] (statement) {{ | * [[_SNDRAWDONE]] (statement) {{Text|pads a [[_SNDRAW]] stream so the final (partially filled) buffer section is played.}} | ||
* [[_SNDSTOP]] (statement) {{ | * [[_SNDRAWLEN]] (function) {{Text|returns the length, in seconds, of a _SNDRAW sound currently queued.}} | ||
* [[_SNDVOL]] (statement) {{ | * [[_SNDOPENRAW]] (function) {{Text|returns a handle to a new, separate [[_SNDRAW]] audio stream.}} | ||
* [[_SNDSETPOS]] (statement) {{Text|changes the current/starting playing position of a sound in seconds.}} | |||
* [[_SNDSTOP]] (statement) {{Text|stops a playing or paused sound handle.}} | |||
* [[_SNDVOL]] (statement) {{Text|sets the volume of a sound handle being played.}} | |||
* [[BEEP]] (statement) {{ | * [[BEEP]] (statement) {{Text|makes a beep sound when called or CHR$(7) is printed.}} | ||
* [[PLAY]] (music statement) {{ | * [[PLAY]] (music statement) {{Text|uses a custom string statement to play musical notes.}} | ||
* [[SOUND]] (statement) {{ | * [[SOUND]] (statement) {{Text|creates sounds of a specified frequency for a set duration.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== String Text Manipulation and Conversion == | == String Text Manipulation and Conversion == | ||
* [[_CLIPBOARD$ | * [[_CLIPBOARD$ (function)]] {{Text|returns the current [[STRING]] contents of the system Clipboard.}} | ||
* [[_CLIPBOARD$ (statement) | * [[_CLIPBOARD$]] (statement) {{Text|sets the [[STRING]] contents of the current system Clipboard.}} | ||
* [[_CONTROLCHR]] (statement) {{ | * [[_CONTROLCHR]] (statement) {{Text|[[OFF]] allows the control characters to be used as text characters. [[ON]](default) can use them as commands.}} | ||
* [[_CONTROLCHR (function)]] {{ | * [[_CONTROLCHR (function)]] {{Text| returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.}} | ||
* [[_CV]] (function) {{ | * [[_CV]] (function) {{Text|used to convert [[_MK$]] [[ASCII]] [[STRING|string]] values to numerical values.}} | ||
* [[_MK$]] (function) {{ | * [[_MK$]] (function) {{Text|converts any numerical type into an [[ASCII]] [[STRING|string]] value that must be converted back using [[_CV]].}} | ||
* [[_STRCMP]] (function) {{Text|compares the relationship between two strings.}} | |||
* [[_STRICMP]] (function) {{Text|compares the relationship between two strings, without regard for case-sensitivity.}} | |||
* [[_TOSTR$]] (function) {{Text|Returns the [[STRING]] representation of a numerical value. It's a successor of the legacy [[STR$]] function.}} | |||
* [[ASC (statement) | * [[ASC]] (statement) {{Text|allows a QB64 program to change a character at any position of a predefined STRING.}} | ||
* [[HEX$]] (function) {{ | * [[HEX$]] (function) {{Text|returns the base 16 hexadecimal representation of an [[INTEGER]] value as a [[STRING]].}} | ||
* [[INSTR]] (function) {{ | * [[INSTR]] (function) {{Text|searches for the first occurance of a search STRING within a string and returns the position.}} | ||
* [[LCASE$]] (function) {{ | * [[LCASE$]] (function) {{Text|changes the uppercase letters of a STRING to lowercase.}} | ||
* [[LEFT$]] (function) {{ | * [[LEFT$]] (function) {{Text|returns a part of a STRING from the start a designated number of character places.}} | ||
* [[LEN]] (function) {{ | * [[LEN]] (function) {{Text|returns the number of bytes or characters in a [[STRING]] value.}} | ||
* [[LSET]] (statement) {{ | * [[LSET]] (statement) {{Text|left-justifies a fixed length string expression based on the size of the STRING.}} | ||
* [[LTRIM$]] (function) {{ | * [[LTRIM$]] (function) {{Text|returns a string with all leading spaces removed.}} | ||
* [[MID$ (statement) | * [[MID$]] (statement) {{Text|allows a QB64 program to change existing characters of a predefined STRING.}} | ||
* [[MKD$]] (function) {{ | * [[MKD$]] (function) {{Text|converts a [[DOUBLE]] numerical value into an 8 byte [[ASCII]] [[STRING]] value.}} | ||
* [[MKDMBF$]] (function) {{ | * [[MKDMBF$]] (function) {{Text|converts a double-precision number to a string containing a value in Microsoft Binary format.}} | ||
* [[MKI$]] (function) {{ | * [[MKI$]] (function) {{Text|converts a numerical [[INTEGER]] value to a 2 byte [[ASCII]] string value.}} | ||
* [[MKL$]] (function) {{ | * [[MKL$]] (function) {{Text|converts a numerical [[LONG]] value to a 4 byte [[ASCII]] string value.}} | ||
* [[MKS$]] (function) {{ | * [[MKS$]] (function) {{Text|converts a numerical [[SINGLE]] value to a 4 byte [[ASCII]] string value.}} | ||
* [[MKSMBF$]] (function) {{ | * [[MKSMBF$]] (function) {{Text|converts a single-precision number to a string containing a value in Microsoft Binary format.}}}} | ||
* [[OCT$]] (function) {{ | * [[OCT$]] (function) {{Text|returns the base 8 Octal representation of an INTEGER value.}} | ||
* [[RIGHT$]] (function) {{ | * [[RIGHT$]] (function) {{Text|returns a set number of characters in a STRING variable starting from the end.}} | ||
* [[RSET]] (statement) {{ | * [[RSET]] (statement) {{Text|right-justifies a string according to length of the string expression.}} | ||
* [[RTRIM$]] (function) {{ | * [[RTRIM$]] (function) {{Text|returns a string with all of the spaces removed at the right end of a string.}} | ||
* [[SPACE$]] (function) {{ | * [[SPACE$]] (function) {{Text|returns a STRING consisting of a number of space characters.}} | ||
* [[STR$]] (function) {{ | * [[STR$]] (function) {{Text|converts a numerical value to a [[STRING]].}} | ||
* [[STRING]] ($ variable type) {{ | * [[STRING]] ($ variable type) {{Text|one byte text variable with [[ASCII]] code values from 0 to 255.}} | ||
* [[STRING$]] (function) {{ | * [[STRING$]] (function) {{Text|returns a STRING consisting of a single character repeated a set number of times.}} | ||
* [[SWAP]] (statement) {{ | * [[SWAP]] (statement) {{Text|used to exchange two string variable or array element values.}} | ||
* [[UCASE$]] (function) {{ | * [[UCASE$]] (function) {{Text|returns a string with all letters as uppercase.}} | ||
* [[VAL]] (function) {{ | * [[VAL]] (function) {{Text|converts a string number value to a numerical value.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Sub procedures and Functions == | |||
== Sub procedures and Functions == | |||
<center>'''QBasic and QB64'''</center> | <center>'''QBasic and QB64'''</center> | ||
* [[CALL]] (statement) {{ | * [[CALL]] (statement) {{Text|sends code execution to a [[SUB]] procedure in a program. Parameter brackets are required when used.}} | ||
* [[CALL ABSOLUTE|CALL ABSOLUTE]] (statement) {{ | * [[CALL ABSOLUTE|CALL ABSOLUTE]] (statement) {{Text|used to access Interrupts on the computer or execute assembly type procedures.}} | ||
* [[CHAIN]] (statement) {{ | * [[CHAIN]] (statement) {{Text|changes seamlessly from one program module to another.}} | ||
* DECLARE (BASIC statement) {{ | * DECLARE (BASIC statement) {{Text|used to tell that a SUB or FUNCTION is created to be used in the program. NOT USED by QB64!}} | ||
* [[END]] (statement) {{ | * [[END]] (statement) {{Text|ends a [[SUB]] or [[FUNCTION]] procedure.}} | ||
* [[EXIT]] (statement) {{ | * [[EXIT]] (statement) {{Text|exits a [[SUB]] or [[FUNCTION]] procedure early.}} | ||
* [[FUNCTION]] (statement) {{ | * [[FUNCTION]] (statement) {{Text|a procedure that holds ONE return value in the function's name which is a variable type. }} | ||
* [[GOSUB]] (statement) {{ | * [[GOSUB]] (statement) {{Text|sends the program to a sub program that uses a line number or label.}} | ||
* [[$INCLUDE]] (metacommand) {{ | * [[$INCLUDE]] (metacommand) {{Text|used to insert a source code text file into your program at the point of the insertion.}} | ||
* [[INTERRUPT]] (statement) {{ | * [[INTERRUPT]] (statement) {{Text|a built in assembly routine for accessing computer information registers.}} | ||
* [[RETURN]] (statement) {{ | * [[RETURN]] (statement) {{Text|used in GOSUB procedures to return to the original call code line.}} | ||
* [[RUN]] (statement) {{ | * [[RUN]] (statement) {{Text| flow statement that clears and restarts the program currently in memory or executes another specified program.}} | ||
* [[SHARED]] (statement) defines a variable or list of variables as shared with the main program module.}} | * [[SHARED]] (statement) defines a variable or list of variables as shared with the main program module.}} | ||
* [[SHELL]] (statement) {{ | * [[SHELL]] (statement) {{Text|allows a program to use OS command lines.}} | ||
* [[STATIC]] (statement) {{ | * [[STATIC]] (statement) {{Text|defines a variable or list of variables that will retain their values after the sub-procedure is exited.}} | ||
* [[SUB]] (statement) {{ | * [[SUB]] (statement) {{Text|procedures are programs within programs that can return multiple calculations.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== TCP/IP Networking and Email == | |||
== TCP/IP Networking HTTP(S) and Email == | |||
<center>'''All Statements and Functions Compile in QB64 Only!'''</center> | <center>'''All Statements and Functions Compile in QB64 Only!'''</center> | ||
* [[_CONNECTED]] (function) {{ | * [[_CONNECTED]] (function) {{Text|returns the connection status of a TCP/IP connection handle.}} | ||
* [[_CONNECTIONADDRESS$]] (function) {{ | * [[_CONNECTIONADDRESS$]] (function) {{Text| function returns a connected user's [[STRING]] IP address value.}} | ||
* [[_STATUSCODE]] (function) {{Text|gives the HTTP status code of an HTTP response that was opened using [[_OPENCLIENT]].}} | |||
* [[_OPENCLIENT]] (function) {{ | * [[_OPENCLIENT]] (function) {{Text|connects to a Host on the Internet as a Client and returns the Client status handle.}} | ||
* [[_OPENCONNECTION]] (function) {{ | * [[_OPENCONNECTION]] (function) {{Text|open's a connection from a client that the host has detected and returns a status handle.}} | ||
* [[_OPENHOST]] (function) {{ | * [[_OPENHOST]] (function) {{Text|opens a Host which listens for new connections and returns a Host status handle.}} | ||
* [[CLOSE]] (statement) {{ | * [[CLOSE]] (statement) {{Text|closes an opened internet connection using the handle assigned in an OPEN statement.}} | ||
* [[GET (TCP/IP statement)]] {{ | * [[GET (HTTP statement)]] {{Text|reads the response of an HTTP request that was opened using [[_OPENCLIENT]].}} | ||
* [[GET (TCP/IP statement)]] {{Text|reads a TCP/IP connection port to return a value.}} | |||
* [[PUT (TCP/IP statement)]] {{ | * [[PUT (TCP/IP statement)]] {{Text|sends unformatted(raw) data to an open connection using a user's handle.}} | ||
Line 950: | Line 860: | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Text on Screen == | == Text on Screen == | ||
* [[_CONTROLCHR]] {{ | * [[_CONTROLCHR]] {{Text|[[OFF]] allows [[ASCII]] characters 0 to 31 to be used as text characters. [[ON]](default) resets to default usage.}} | ||
* [[_FONT (function)]] {{ | * [[_FONT (function)]] {{Text|creates a new alphablended font handle from a designated image handle}} | ||
* [[_FONT]] (statement) {{ | * [[_FONT]] (statement) {{Text|sets the current [[_LOADFONT]] function font handle to be used by [[PRINT]] or [[_PRINTSTRING]].}} | ||
* [[_MAPUNICODE]] (statement) {{ | * [[_MAPUNICODE]] (statement) {{Text|maps a [[Unicode]] value to an [[ASCII]] character code value.}} | ||
* [[_PRINTSTRING]] (statement) {{ | * [[_PRINTSTRING]] (statement) {{Text|prints text or custom font strings using graphic column and row coordinate positions.}} | ||
* [[_SCREENPRINT]] (statement) {{ | * [[_SCREENPRINT]] (statement) {{Text|simulates typing text into a Windows program using the keyboard.}} | ||
* [[_TOSTR$]] (function) {{Text|Returns the [[STRING]] representation of a numerical value. It's a successor of the legacy [[STR$]] function.}} | |||
* [[_UCHARPOS]] (function) {{Text|calculates the starting pixel positions of every character of a (unicode) text string.}} | |||
* [[_UPRINTSTRING]] (statement) {{Text|locates and prints a (unicode) text [[STRING|string]] using graphic coordinates.}} | |||
* [[CHR$]] (function) {{ | * [[CHR$]] (function) {{Text|returns the text character associated with a certain [[ASCII]] character code as a one byte [[STRING]].}} | ||
* [[CLS]] (statement) {{ | * [[CLS]] (statement) {{Text|clears a screen page or the program [[SCREEN]]. QB64 can clear with a color.}} | ||
* [[COLOR]] (statement) {{ | * [[COLOR]] (statement) {{Text|used to change the color of the text and background in some legacy screen modes.}} | ||
* [[CSRLIN]] (function) {{ | * [[CSRLIN]] (function) {{Text|returns the current print cursor row position on the screen.}} | ||
* [[INPUT]] (statement) {{ | * [[INPUT]] (statement) {{Text|requests a [[STRING]] or numerical keyboard entry from a program user.}} | ||
* [[KEY LIST]] (statement) {{ | * [[KEY LIST]] (statement) {{Text|vertically lists all the [[ON KEY(n)]] softkey strings associated with each function key F1 to F12.}} | ||
* [[LINE INPUT]] (statement) {{ | * [[LINE INPUT]] (statement) {{Text|requests a [[STRING]] keyboard entry from a program user.}} | ||
* [[LOCATE]] (statement) {{ | * [[LOCATE]] (statement) {{Text|locates the screen text row and column positions for a [[PRINT]] or [[INPUT]] procedure.}} | ||
* [[POS]] (function) {{ | * [[POS]] (function) {{Text|returns the current print cursor column position.}} | ||
* [[PRINT]] (statement) {{ | * [[PRINT]] (statement) {{Text|prints numeric or [[STRING|string]] expressions to the program screen.}} | ||
* [[PRINT USING]] (statement) {{ | * [[PRINT USING]] (statement) {{Text|prints template formatted numeric or string values to the program screen.}} | ||
* [[SCREEN]] (statement) {{ | * [[SCREEN]] (statement) {{Text|sets the screen mode of a program. No statement defaults the program to SCREEN 0 text mode.}} | ||
* [[SCREEN (function)]] {{ | * [[SCREEN (function)]] {{Text|returns the [[ASCII]] code of a text character or the color attribute at a set text location on the screen.}} | ||
* [[SPACE$]] (function) {{ | * [[SPACE$]] (function) {{Text|returns a [[STRING|string]] consisting of a number of space characters.}} | ||
* [[SPC]] (function) {{ | * [[SPC]] (function) {{Text|used in [[PRINT]] and [[LPRINT]] statements to print or output a number of space characters.}} | ||
* [[STR$]] (function) {{ | * [[STR$]] (function) {{Text|returns the [[STRING]] representation of a numerical value.}} | ||
* [[STRING$]](function) {{ | * [[STRING$]](function) {{Text| returns a [[STRING]] consisting of a single character repeated a set number of times.}} | ||
* [[TAB]] (function) {{ | * [[TAB]] (function) {{Text|used in [[PRINT]] and [[LPRINT]] statements to move to a specified text column position.}} | ||
* [[VIEW PRINT]] (statement) {{ | * [[VIEW PRINT]] (statement) {{Text|defines the boundaries of a text viewport [[PRINT]] area.}} | ||
* [[WIDTH]] (statement) {{ | * [[WIDTH]] (statement) {{Text|changes the text dimensions of certain [[SCREEN]] modes or printer page widths}} | ||
* [[WRITE]] (screen I/O statement) {{ | * [[WRITE]] (screen I/O statement) {{Text|writes a comma-separated list of values to the screen.}} | ||
<center> See also: [[# | <center>See also: [[#Fonts_and_Unicode:|Fonts and Unicode]] or [[ASCII|ASCII Code Table]]</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Time, Date and Timing == | == Time, Date and Timing == | ||
* [[_AUTODISPLAY]] (statement) {{ | * [[_AUTODISPLAY]] (statement) {{Text|enables the automatic display of the screen image changes previously disabled by [[_DISPLAY]].}} | ||
* [[_DELAY]] (statement) {{ | * [[_DELAY]] (statement) {{Text|suspends program execution for a [[SINGLE]] value of seconds down to milliseconds.}} | ||
* [[_DISPLAY]] (statement) {{ | * [[_DISPLAY]] (statement) {{Text|turns off automatic display while only displaying the screen changes when called.}} | ||
*[[_FREETIMER]] (function) {{ | *[[_FREETIMER]] (function) {{Text|returns a free TIMER number for multiple [[ON TIMER(n)]] events.}} | ||
* [[_KEYDOWN]] (function) {{ | * [[_KEYDOWN]] (function) {{Text|returns whether modifying keys like CTRL, ALT, SHIFT, and any other keys are pressed.}} | ||
* [[_KEYHIT]] (function) {{ | * [[_KEYHIT]] (function) {{Text|returns ASCII one and two byte, SDL Virtual Key and Unicode keyboard key press codes.}} | ||
* [[_LIMIT]] (statement) {{ | * [[_LIMIT]] (statement) {{Text|sets the loop repeat rate of a program to so many per second, relinquishing spare cpu cycles.}} | ||
* [[DATE$]] (function) {{ | * [[DATE$]] (function) {{Text|returns the present computer date in a mm-dd-yyyy [[STRING|string]] format}} | ||
* [[INKEY$]] (function) {{ | * [[INKEY$]] (function) {{Text| can be used in a loop to wait for a keypress or a [Ctrl] + letter key combination.}} | ||
* [[INPUT]] (statement) {{ | * [[INPUT]] (statement) {{Text|can be used to wait for an [Enter] key press or a text or numerical menu entry.}} | ||
* [[INPUT$]] (function) {{ | * [[INPUT$]] (function) {{Text|can be used to wait for a key press or a fixed length text entry.}} | ||
* [[ON KEY(n)]] (event statement) {{ | * [[ON KEY(n)]] (event statement) {{Text|executes when a keypress or keypress combination occurs.}} | ||
* [[ON TIMER(n)]] (event statement) {{ | * [[ON TIMER(n)]] (event statement) {{Text|executes when a timed event occurs. QB64 can use multiple numbered timer events.}} | ||
* [[SLEEP]] (statement) {{ | * [[SLEEP]] (statement) {{Text|pauses the program for a specified number of seconds or a until a key press is made.}} | ||
* [[TIME$]] (function) {{ | * [[TIME$]] (function) {{Text|returns the present computer time in a hh:mm:ss 24 hour [[STRING|string]] format}} | ||
* [[TIMER | * [[TIMER (function)]] {{Text|returns the number of seconds past the previous midnite down to a QB64 accuracy of one millisecond.}} | ||
* [[TIMER (statement) | * [[TIMER]] (statement) {{Text|enables, turns off or stops timer event trapping. In QB64 TIMER(n) FREE can free multiple timers. }} | ||
* [[WAIT]] (statement) {{ | * [[WAIT]] (statement) {{Text|normally used to delay program display execution during or after vertical retrace periods.}} | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== Window and Desktop == | == Window and Desktop == | ||
Line 1,020: | Line 936: | ||
<center>'''All Statements and Functions except [[SCREEN]] Compile in QB64 Only!'''</center> | <center>'''All Statements and Functions except [[SCREEN]] Compile in QB64 Only!'''</center> | ||
* [[_FULLSCREEN (function)]] {{ | * [[_COLORCHOOSERDIALOG]] (function) {{Text|Displays a standard color picker dialog box and returns a 32-bit RGBA color selected by the user.}} | ||
* [[_FULLSCREEN]] (statement) {{ | * [[_DESKTOPHEIGHT]] (function) {{Text|returns the height of the desktop (not program window).}} | ||
* [[_HEIGHT]] (function) {{ | * [[_DESKTOPWIDTH]] (function) {{Text|returns the width of the desktop (not program window).}} | ||
* [[_ICON]] (statement) {{ | * [[_FULLSCREEN (function)]] {{Text|returns the present full screen mode setting number of the screen window.}} | ||
* [[_NEWIMAGE]] (statement) {{ | * [[_FULLSCREEN]] (statement) {{Text|sets the full screen mode of the screen window. Alt + Enter can do it manually.}} | ||
* [[$ | * [[_HEIGHT]] (function) {{Text|returns the height of a [[_SCREENIMAGE]] handle to get the desktop resolution.}} | ||
* [[_RESIZE (function)]] {{ | * [[_ICON]] (statement) {{Text|creates a program icon from an image file handle created by [[_LOADIMAGE]]. Cannot use .ICO files!}} | ||
* [[_RESIZEHEIGHT]] (function) {{ | * [[_INPUTBOX$]] (function) {{Text|Displays a prompt in a dialog box, waits for the user to input text or click a button, and returns a string containing the contents of the text box.}} | ||
* [[_RESIZEWIDTH]] (function) {{ | * [[_MESSAGEBOX (function)]] {{Text|Displays a message dialog box, which presents a message and returns the button ID clicked by the user.}} | ||
* [[_SCREENCLICK]] {{ | * [[_MESSAGEBOX]] (statement) {{Text|Displays a message dialog box, which presents a message to the user.}} | ||
* [[_SCREENEXISTS]] (function) {{ | * [[_NEWIMAGE]] (statement) {{Text|function prepares a window image surface and returns the handle value.}} | ||
* [[$SCREENHIDE]] ( | * [[_NOTIFYPOPUP]] (statement) {{Text|Shows a system notification popup.}} | ||
* [[_SCREENHIDE]] (statement) {{ | * [[_OPENFILEDIALOG$]] (function) {{Text|Displays a standard dialog box that prompts the user to open a file.}} | ||
* [[_SCREENIMAGE]] (function) {{ | * [[$RESIZE]] (metacommand) {{Text|used with ON allows a user to resize the program window where OFF does not.}} | ||
* [[_SCREENMOVE]] (statement) {{ | * [[_RESIZE (function)]] {{Text|returns -1 when a program user attempts to resize the program screen.}} | ||
* [[_SCREENPRINT]] (statement) {{ | * [[_RESIZEHEIGHT]] (function) {{Text|returns the requested new user screen height when [[$RESIZE]]:ON allows it.}} | ||
* [[$SCREENSHOW]] ( | * [[_RESIZEWIDTH]] (function) {{Text|returns the requested new user screen width when [[$RESIZE]]:ON allows it.}} | ||
* [[_SCREENSHOW]] (statement) {{ | * [[_SAVEFILEDIALOG$]] (function) {{Text|Displays a standard dialog box that prompts the user to save a file.}} | ||
* [[_SCREENX]] (function) {{ | * [[_SCREENCLICK]] {{Text|simulates clicking the mouse at a position on the screen to get focus.}} | ||
* [[_SCREENY]] (function) {{ | * [[_SCREENEXISTS]] (function) {{Text|returns a -1 value once a screen has been created.}} | ||
* [[_TITLE]] (statement) {{ | * [[$SCREENHIDE]] (metacommand) {{Text|hides the program window throughout the program until [[$SCREENSHOW]] is used.}} | ||
* [[_WIDTH (function)]] {{ | * [[_SCREENHIDE]] (statement) {{Text|hides the main program window in a section of code until [[_SCREENSHOW]] is used.}} | ||
* [[_SCREENIMAGE]] (function) {{Text|creates an image of the current desktop and returns an image handle.}} | |||
* [[_SCREENMOVE]] (statement) {{Text|positions the program window on the desktop using designated coordinates or _MIDDLE.}} | |||
* [[_SCREENPRINT]] (statement) {{Text|simulates typing text into a Windows program using the keyboard.}} | |||
* [[$SCREENSHOW]] (metacommand) {{Text|displays the main program window throughout the program after [[$SCREENHIDE]].}} | |||
* [[_SCREENSHOW]] (statement) {{Text|displays the main program window in a section of code after [[_SCREENHIDE]] has been used.}} | |||
* [[_SCREENX]] (function) {{Text|returns the current program window's upper left corner column position on the desktop.}} | |||
* [[_SCREENY]] (function) {{Text|returns the current program window's upper left corner row position on the desktop.}} | |||
* [[_SELECTFOLDERDIALOG$]] (function) {{Text|Displays a dialog box that enables the user to select a folder (directory).}} | |||
* [[_SMOOTH (function)]] {{Text|checks whether the current [[_FULLSCREEN]] mode has antialiasing enabled or not.}} | |||
* [[_TITLE]] (statement) {{Text|sets the program name [[STRING|string]] in the title bar of the program window.}} | |||
* [[_WIDTH (function)]] {{Text|returns the width of a [[_SCREENIMAGE]] handle to get the desktop resolution.}} | |||
* [[SCREEN]] {{ | * [[SCREEN]] {{Text|sets the screen mode of a program. No statement defaults the program to SCREEN 0 text mode.}} | ||
<center> | <center>See also: [[C Libraries#Console_Window|Console Window]], [[Windows Libraries#Hot_Keys_(maximize)|Windows Hot Keys]] or [[Windows Libraries#Focus|Focus on Program]].</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== QB64 Programming Symbols == | == QB64 Programming Symbols == | ||
Line 1,061: | Line 989: | ||
* [[Semicolon|; Semicolon]] after a [[PRINT]] stops the invisible cursor at end of the printed value. Can prevent screen rolling! | * [[Semicolon|; Semicolon]] after a [[PRINT]] stops the invisible cursor at end of the printed value. Can prevent screen rolling! | ||
* [[Comma|, Comma]] after a [[PRINT]] tabs the invisible cursor past the end of the printed value. | * [[Comma|, Comma]] after a [[PRINT]] tabs the invisible cursor past the end of the printed value. | ||
* [[Quotation mark|" Quotation mark]] delimits the ends of a literal [[STRING]] value in a [[PRINT]], [[INPUT]] or [[LINE INPUT]] statement. | * [[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. | * [[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''' | :'''Program Code Markers''' | ||
* [[Apostrophe|' Apostrophe]] denotes a program comment, to ignore a code line or a QBasic [[Metacommand]]. Same as using [[REM]]. | * [[Apostrophe|' Apostrophe]] denotes a program comment, to ignore a code line or a legacy QBasic [[Metacommand]]. Same as using [[REM]]. | ||
* [[Comma|, Comma]] is a statement variable or [[DATA]], [[SUB]] or [[FUNCTION]] parameter separator. | * [[Comma|, Comma]] is a statement variable or [[DATA]], [[SUB]] or [[FUNCTION]] parameter separator. | ||
* [[: Colon]]s can be used to separate two procedure statements on one code line. | * [[: Colon]]s can be used to separate two procedure statements on one code line. | ||
* [[ | * [[Dollar Sign|$ Dollar sign]] used as prefix denotes a [[Metacommand]], used as suffix it denotes a [[STRING]] variable. | ||
* [[Parenthesis|( ) Parenthesis]] enclose a math or conditional procedure order, [[SUB]] or [[FUNCTION]] parameters or to pass by value. | * [[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. | * [[+|+ Plus]] [[concatenation]] operator MUST be used to combine literal string values in a variable definition. | ||
* [[Quotation mark|" Quotation mark]] delimits the ends of a literal [[STRING]] value. Use [[CHR$]](34) to insert quotes in a text [[STRING]]. | * [[Quotation mark|" Quotation mark]] delimits the ends of a literal [[STRING]] value. Use [[CHR$]](34) to insert quotes in a text [[STRING]]. | ||
* [[REM]] or apostrophe are used to make comments or ignore code or precedes a [[Metacommand]]. | * [[REM]] or apostrophe are used to make comments or ignore code or precedes a legacy QBasic [[Metacommand]]. | ||
* [[Underscore|_ Underscore]] at the end of a code line is used to continue a line of code to the next program line in '''QB64 only'''. | * [[Underscore|_ Underscore]] at the end of a code line is used to continue a line of code to the next program line in '''QB64 only'''. | ||
Line 1,086: | Line 1,014: | ||
* [[INTEGER|% INTEGER]] [[INTEGER|whole]] numerical type (2 bytes) | * [[INTEGER|% INTEGER]] [[INTEGER|whole]] numerical type (2 bytes) | ||
* [[LONG|& LONG]] [[INTEGER|whole]] numerical type (4 bytes} | * [[LONG|& LONG]] [[INTEGER|whole]] numerical type (4 bytes} | ||
* [[_INTEGER64|&& _INTEGER64]] '''QB64''' [[INTEGER|whole]] numerical type (8 bytes) | * [[_INTEGER64|&& _INTEGER64]] '''QB64''' [[INTEGER|whole]] numerical type (8 bytes) | ||
* [[_BIT|` _BIT]] '''QB64''' [[INTEGER|whole]] numerical type (1 bit)(Key below tilde(~) or [[CHR$]](96)) | * [[_BIT|` _BIT]] '''QB64''' [[INTEGER|whole]] numerical type (1 bit)(Key below tilde(~) or [[CHR$]](96)) | ||
* [[_BYTE|%% _BYTE]] '''QB64''' [[INTEGER|whole]] numerical type (1 byte) | * [[_BYTE|%% _BYTE]] '''QB64''' [[INTEGER|whole]] numerical type (1 byte) | ||
Line 1,110: | Line 1,038: | ||
:'''[[Relational Operations]]''' | :'''[[Relational Operations]]''' | ||
* [[Equal|=]] (Equal to condition) | * [[Equal|=]] (Equal to condition) | ||
* [[ | * [[Greater Than|>]] (Greater than condition) | ||
* [[ | * [[Less Than|<]] (Less than condition) | ||
* [[ | * [[Not Equal|<>]] (Not equal to condition) | ||
* [[ | * [[Greater Than Or Equal|>=]] (Greater than or equal to condition) | ||
* [[ | * [[Less Than Or Equal|<=]] (Less than or equal to condition) | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | ||
== QB64 Programming References == | == QB64 Programming References == | ||
<center>''' | <center>'''Wiki Pages'''</center> | ||
<center>[[Main Page|Main Page with Articles and Tutorials]]</center> | |||
[[Keyword Reference - Alphabetical# | <center>[[Keyword Reference - Alphabetical#QB64_specific_keywords|QB64 specific keywords (alphabetical)]]</center> | ||
[[Keyword Reference - Alphabetical#Original QBasic keywords | <center>[[Keyword Reference - Alphabetical#Original_QBasic_keywords|Original QBasic keywords (alphabetical)]]</center> | ||
[[Keyword Reference - Alphabetical| | <center>[[Keyword Reference - Alphabetical#QB64_OpenGL_keywords|QB64 OpenGL keywords (alphabetical)]]</center> | ||
<center>'''Got a question about something?'''</center> | |||
<center>[[QB64 FAQ|Frequently Asked Questions about QB64]]</center> | |||
<center>[http://qb64phoenix.com/forum/index.php QB64 Phoenix Edition Community Forum]</center> | |||
<center>'''Links to other QBasic Sites:'''</center> | |||
[http:// | <center>[http://www.petesqbsite.com/phpBB3/ Pete's QBasic Forum]</center> | ||
[http:// | <center>[http://www.petesqbsite.com/downloads/downloads.shtml Pete's QBasic Downloads]</center> | ||
<p style="text-align: center">([[#toc|Return to Table of Contents]])</p> | <p style="text-align: center">([[#toc|Return to Table of Contents]])</p> |
Latest revision as of 21:18, 14 November 2024
- Historic Pages (Informations may be invalid now.)
Arrays and Data Storage
- _DEFINE (statement) defines a range of untyped variable names according to their first character as a datatype.
- _PRESERVE (REDIM option) preserves the existing element values when an array is resized.
- CLEAR (statement) resets all variable values and array element values to 0 or null strings and closes all open files.
- DIM (statement) dimensions(sizes) a static array and defines the type.
- $DYNAMIC (metacommand) defines that all arrays are dynamic or changeable in size.
- ERASE (array statement) clears a static array of all values and totally removes a dynamic array.
- LBOUND (function) returns the lowest valid index (lower boundary) of an array.
- OPTION BASE (statement) sets the default starting index of an array to 0 or 1.
- REDIM (statement) re-dimensions the number of elements in a dynamic(resizeable) array and defines the type.
- SHARED (statement) designates variable values that can be shared with sub-procedures without using parameters.
- STATIC (statement) defines a variable or list of variables that will retain their values after the sub-procedure is exited.
- $STATIC (metacommand) defines that all arrays are static or unchangeable in size.
- SWAP (statement) trades the values of two numerical or string values or array elements.
- UBOUND (function) returns the highest valid index (upper boundary) of an array.
See also: Arrays
- DATA (statement) creates a field of built-in program data values separated by commas.
- READ (statement) reads the DATA from the data field sequentially.
- RESTORE (statement) sets the data pointer to the start of all DATA or a specified DATA field.
- $EMBED (metacommand) is used to embed any file's contents into the compiled executable.
- _EMBEDDED$ (function) recalls the contents of a file embedded using $EMBED.
Colors and Transparency
- _ALPHA (function) returns the alpha channel transparency level of a color value used on a screen page or image.
- _ALPHA32 (function) function returns the alpha channel level of a 32 bit color value only.
- _BACKGROUNDCOLOR (function) returns the current background color for an image handle or page.
- _BLEND (statement) turns on alpha blending for the current image or a specific one.
- _BLEND (function) returns if blending is enabled or disabled for the current window or a specified image handle.
- _BLINK (statement) statement turns blinking colors on/off in SCREEN 0
- _BLINK (function) returns -1 if enabled or 0 if disabled by _BLINK statement.
- _BLUE (function) returns the palette intensity OR the blue component intensity of a 32-bit image color.
- _BLUE32 (function) returns the blue component intensity of a 32-bit image color.
- _CLEARCOLOR (statement) sets a specific color to be treated as transparent in an image
- _CLEARCOLOR (function) returns the current transparent color of an image.
- _COLORCHOOSERDIALOG (function) Displays a standard color picker dialog box and returns a 32-bit RGBA color selected by the user.
- _COPYPALETTE (statement) copies the color palette intensities from one image to another image or screen page.
- _DEFAULTCOLOR (function) returns the current default (text/drawing) color for an image handle or page.
- _DONTBLEND (statement) turns off alpha blending for an image handle.
- _GREEN (function) returns the palette index OR the green component intensity of a 32-bit image.
- _GREEN32 (function) returns the green component intensity of a 32-bit image color.
- _NEWIMAGE (function) prepares a custom sized program SCREEN or page surface that can use 256 or 32 bit colors.
- _PALETTECOLOR (statement) sets the color value of a palette entry of an image using 256 color modes or less (4 or 8 BPP).
- _PALETTECOLOR (function) returns the 32 bit attribute color setting of an image or screen page handle's palette.
- _PIXELSIZE (function) returns the color depth (Bits Per Pixel) of an image.
- _RED (function) returns the palette index OR the red component intensity of a 32-bit screen.
- _RED32 (function) returns the red component intensity of a 32-bit image color.
- _RGB (function) returns the closest palette attribute index OR the LONG 32 bit color value in 32 bit screens.
- _RGB32 (function) returns the LONG 32 bit color value only.
- _RGBA (function) returns the closest palette attribute index OR the LONG 32 bit color value in _ALPHA screens.
- _RGBA32 (function) returns the LONG 32 bit _ALPHA color value only.
- _SETALPHA (statement) sets the alpha channel transparency level of some or all of the pixel colors of an image.
- CLS (statement) clears the screen and can set the background color in QB64.
- COLOR (statement) sets the current text color attribute or _RGB value to be used or background colors in some screen modes.
- INP (function) returns the RGB color intensity values from color port register &H3C9 for a specific attributes.
- OUT (statement) sets the color port access mode and sets the RGB color intensity values using &H3C9.
- 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.
- POINT (function) returns a pixel coordinate color attribute or the LONG _RGB color value of a 32 bit color.
- PRESET (statement) sets a pixel coordinate to the background color or a color specified.
- PSET (statement) sets a pixel coordinate a specified color or uses the current color when not designated.
- SCREEN sets the screen mode of a program which may determine the number of colors available in legacy modes.
Console Window
- $CONSOLE (metacommand) creates a console window that can be used throughout a program.
- _CONSOLE (statement) used to turn a console window OFF or ON or to designate _DEST _CONSOLE for output.
- _CONSOLEINPUT (function) fetches input data from a $CONSOLE window to be read later (both mouse and keyboard)
- _CINP (function) Returns a key code from $CONSOLE input
- _CONSOLECURSOR (statement) is used to switch the text cursor in Console Windows off/on or change its size.
- _CONSOLEFONT (statement) is used to change the text font used in Console Windows or change its size.
- _CONSOLETITLE (statement) creates the title of the console window using a literal or variable string.
- $SCREENHIDE (metacommand) hides the program window throughout the program until $SCREENSHOW is used.
- _SCREENHIDE hides the main program window in a section of code until _SCREENSHOW is used.
- $SCREENSHOW (metacommand) displays the main program window throughout the program after $SCREENHIDE has been used.
- _SCREENSHOW displays the main program window in a section of code after _SCREENHIDE has been used.
- SHELL (function) executes a DOS command or calls another program. Returns codes sent by END or SYSTEM.
- _SHELLHIDE (function) hides a DOS command or call to another program. Returns codes sent by END or SYSTEM.
Conditional Operations
- AND (boolean) returns True if all of the arguments are True.
- _ANDALSO (boolean) performs short-circuiting logical conjunction on two expressions.
- NOT (boolean) returns the opposite condition of an argument.
- OR (boolean) returns True if one of the arguments is True.
- _ORELSE (boolean) performs short-circuiting inclusive logical disjunction on two expressions.
- XOR (boolean) returns True if only one of two arguments are True.
- _NEGATE (boolean) returns True when a boolean evaluation is False and vice-versa.
Definitions and Variable Types
- _BIT {` numerical type) values of 0 (bit off) or -1 (bit on). Unsigned of 0 or 1.
- _BYTE {%% numerical type) values from -128 to 127 (one byte or 8 _BITs). Unsigned from 0 to 255.
- _DEFINE (statement) defines a range of untyped variable names according to their first character as a datatype.
- _FLOAT {## numerical type) values offer the maximum floating-point decimal precision available using QB64.
- _INTEGER64 (&& numerical type) values -9223372036854775808 to 9223372036854775807. Unsigned to 18446744073709551615.
- _MEM (variable type) contains read only dot elements for the OFFSET, SIZE, TYPE and ELEMENTSIZE of a block of memory.
- _OFFSET(%& variable type) can store any memory offset integer value when using DECLARE LIBRARY or _MEMory only.
- _UNSIGNED {~ numerical type) defines an integer numerical value as being positive only in QB64.
- COMMON (statement) shares common variable values with other Linked or CHAINed programs.
- COMMON SHARED (statement) shares common variable values with all sub-procedures and other Linked or CHAINed programs.
- CONST (statement) defines one or more named numeric or string shared values which can not change in a program.
- DEFDBL (statement) defines undefined variable starting letters AS DOUBLE variables instead of the SINGLE type default.
- DEFINT (statement) defines undefined variable starting letters AS INTEGER variables instead of the SINGLE type default.
- DEFLNG (statement) defines undefined variable starting letters AS LONG variables instead of the SINGLE type default.}}
- DEFSNG (statement) defines undefined variable starting letters AS SINGLE variables instead of the SINGLE type default.
- DEFSTR (statement) defines undefined variable starting letters AS STRING variables instead of the SINGLE type default.
- DIM defines a variable or size a static array and can define the type of value it returns.
- DOUBLE {# numerical type) an 8 byte floating decimal variable type with numerical values up to 15 decimal places.
- INTEGER {% numerical type) a two byte variable type with values from -32768 to 32767. Unsigned to 65535.
- LONG {& numerical type) Integer values can be from -2147483648 to 2147483647. _UNSIGNED values to 4294967295.
- OPTION BASE (statement) sets the default starting index of an array to 0 or 1.
- REDIM defines and sizes a dynamic(changeable) array and can define the type of value returned.
- SHARED (statement) designates variable values that can be shared with sub-procedures without using SUB parameters.
- SINGLE (! numerical type) a 4 byte floating decimal variable type with numerical values up to 7 decimal places.
- STATIC (statement) defines a variable or list of variables that will retain their values after the sub-procedure is exited.
- STRING ($ variable type) one byte text variable with ASCII code values from 0 to 255.
- TYPE (statement) defines variable types that can hold more than one variable type value of a fixed byte length.
External Disk and API calls
- _ACCEPTFILEDROP (statement) turns a program window into a valid drop destination for dragging files from Windows Explorer.
- _DEVICE$ (function) returns a STRING expression listing device names and input types of system input devices.
- _DEVICES (function) returns the number of input devices found on a computer system.
- _DIREXISTS (function) returns -1 if the directory folder name string parameter exists. Zero if it does not.
- _DROPPEDFILE (function) returns the list of items (files or folders) dropped in a program's window after _ACCEPTFILEDROP is enabled.
- _CLIPBOARD$ (statement) sends STRING data to the Clipboard.
- _CLIPBOARD$ (function) returns the current contents of the Clipboard as a string.
- _CLIPBOARDIMAGE (function) pastes an image from the clipboard into a new QB64 image in memory.
- _CLIPBOARDIMAGE (statement) copies a valid QB64 image to the clipboard.
- _CWD$ (function) returns the current working directory path as a STRING.
- _DONTWAIT (SHELL action) allows the program to continue without waiting for the other program to close.
- _FILEEXISTS (function) returns -1 if the file name string parameter exists. Zero if it does not.
- _FINISHDROP (statement) resets _TOTALDROPPEDFILES and clears the _DROPPEDFILE list of items (files/folders).
- _HIDE (SHELL action) hides the DOS screen output during a shell.
- _LASTBUTTON (function) returns the number of buttons available on a specified number device listed by DEVICE$.
- _OPENFILEDIALOG$ (function) Displays a standard dialog box that prompts the user to open a file.
- _OS$ (function) returns the QB64 compiler version in which the program was compiled as [WINDOWS], [LINUX] or [MACOSX] and [32BIT] or [64BIT].
- _SAVEFILEDIALOG$ (function) Displays a standard dialog box that prompts the user to save a file.
- _SCREENCLICK simulates clicking the mouse at a position on the screen to get focus.
- _SCREENIMAGE captures the current desktop screen image.
- _SCREENPRINT simulates keyboard entries on the desktop.
- _SELECTFOLDERDIALOG$ (function) Displays a dialog box that enables the user to select a folder (directory).
- _SHELLHIDE (function) executes a DOS command or calls another program. Returns codes sent by END or SYSTEM.
- _STARTDIR$ (function) returns the user's program calling path as a STRING.
- _TOTALDROPPEDFILES (function) returns the number of items (files or folders) dropped in a program's window after _ACCEPTFILEDROP is enabled.
- CHDIR (statement) changes the program path to a new path.
- COMMAND$ (function) returns command line parameters sent when a program is started.
- ENVIRON (statement) temporarily sets an environmental key/pair value.
- ENVIRON$ (function) returns the environmental settings of the computer.
- _ENVIRONCOUNT (function) returns the number of key/value pairs currently exist in the environment table.
- _FILES$ (function) returns a file or directory name that matches the specified pattern.
- FILES (statement) displays a specified list of files.
- _FULLPATH$ (function) returns an absolute or full path name for the specified relative path name.
- MKDIR (statement) creates a new directory folder in the designated path.
- NAME (statement) renames a file.
- RMDIR (statement) removes an empty directory folder from the specified path.
- SHELL (statement) performs a command line operation in DOS.
- SHELL (function) executes a DOS command or calls another program. Returns codes sent by END or SYSTEM.
Error Trapping
- _ASSERT (statement) Performs debug tests.
- $ASSERTS (metacommand) Enables the _ASSERT macro
- $CHECKING (metacommand) turns off or on error event checking and strips error code from compiled programs.
- _ERRORLINE (function) returns the actual text code line where a program error occurred.
- ERR (function) returns the error code number of the last error to occur.
- ERROR (statement) simulates a program error based on the error code number used.
- ERL (function) returns the closest line number before an error occurred if the program uses them.
- ON ERROR (statement) GOTO sends the program to a line number or label when an error occurs. Use to avoid program errors.
- RESUME (statement) error statement sends the program to the NEXT code line or a designated line number or label .
Event Trapping
- _AUTODISPLAY (statement) enables the automatic display of the screen image changes previously disabled by _DISPLAY.
- _DELAY (statement) suspends program execution for a SINGLE value of seconds down to milliseconds.
- _DISPLAY (statement) turns off automatic display while only displaying the screen changes when called.
- _EXIT (function) prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
- _FREETIMER (function) returns a free TIMER number for multiple ON TIMER(n) events.
- _MOUSEINPUT (function) reports any changes to the mouse status and MUST be used to read those changes.
- _SHELLHIDE (function) returns the code sent by a program exit using END or SYSTEM followed by an INTEGER value.
- OFF turns event checking off and does not remember subsequent events.
- ON turns event checking on.
- ON ERROR GOTO (event statement) executes when a program error occurs
- ON KEY(n) (event statement) executes when a keypress or keypress combination occurs.
- ON TIMER(n) (event statement) executes when a timed event occurs. QB64 can use multiple numbered timers.
- ON...GOSUB (event statement) branches to a line number or label according to a numerical ordered list of labels.
- ON...GOTO (event statement) branches to a line number or label according to a numerical ordered list of labels.
- STOP suspends event checking and remembers subsequent events that are executed when events are turned back on.
- TIMER (function) returns the number of seconds past the previous midnite down to a QB64 accuracy of one millisecond.
- TIMER (statement) enables, turns off or stops timer event trapping. In QB64 TIMER(n) FREE can free multiple timers.
- WAIT (statement) normally used to delay program display execution during or after vertical retrace periods.
File Input and Output
- _DIREXISTS (function) returns -1 if the directory folder name string parameter exists. Zero if it does not.
- _FILEEXISTS (function) returns -1 if the file name string parameter exists. Zero if it does not.
- _READFILE$ (function) directly read a file into a string, without OPEN/CLOSE overhead.
- _WRITEFILE (statement) directly write a string into a file, without OPEN/CLOSE overhead.
- ACCESS (clause) used in a networking OPEN statement to allow READ or WRITE access to files.
- APPEND (file mode) opens or creates a file that can be appended with data at the end.
- BINARY (file mode) opens or creates a file that can be byte accessed using both GET and PUT.
- BLOAD (statement) opens a binary file and loads the contents to a specific array.
- BSAVE (statement) creates a binary file that holds the contents of a specified array.
- CHDIR (statement) changes the program path to a new path.
- CLOSE (statement) closes a specified file or all open files.
- EOF (function) returns -1 when the end of a file has been read.
- FIELD (statement) creates a STRING type definition for a random-access file buffer.
- FILES (statement) displays a specified list of files.
- FREEFILE (function) returns a file access number that is currently not in use.
- GET (file I/O statement) reads file data by byte or record positions.
- INPUT (file mode) only OPENs existing sequential files for program INPUT.
- INPUT (file statement) reads sequential file data that was created using PRINT # or WRITE #.
- INPUT$ (function) reads a specific number of bytes from random or binary files.
- KILL (statement) deletes a specified file without asking for verification. Remove empty folders with RMDIR.
- LINE INPUT (file statement) reads an entire text row of printed sequential file data.
- LOC (function) finds the current file location or size of a COM port receive buffer.
- LOCK (statement) prevents access to a file.
- LOF (function) returns the size of a file in bytes.
- MKDIR (statement) creates a new folder in the designated path.
- NAME (statement) renames a file AS a new file name.
- OPEN (file I/O statement) opens a specified file FOR an access mode with a set reference number.
- OUTPUT (file mode) opens or creates a new file that holds no data.
- PRINT (file statement) writes text and numerical data into a file.
- PRINT USING (file statement) writes template formatted text into a file.
- PUT (file I/O statement) writes data into a RANDOM or BINARY file by byte or record position.
- RANDOM (file mode) opens or creates a file that can be accessed using both GET and PUT.
- RESET (statement) closes all files and writes the directory information to a diskette.
- RMDIR (statement) removes an empty folder from the specified path.
- SEEK (function) returns the current read or write byte position in a file.
- SEEK (statement) sets the current read or write byte position in a file.
- UNLOCK (statement) unlocks access to a file.
- WIDTH (statement) sets the text width of a file.
- WRITE (file statement) writes numerical and string data to a sequential file using comma separators.
Checksums and Hashes
- _ADLER32 (function) Returns the Adler-32 checksum of any arbitrary string.
- _CRC32 (function) Returns the Crc-32 checksum of any arbitrary string.
- _MD5$ (function) Returns the MD5 hash value of any arbitrary string.
Fonts
- _FONT (function) creates a new alphablended font handle from a designated image handle
- _FONT (statement) sets the current _LOADFONT function font handle to be used by PRINT or _PRINTSTRING.
- _FONTHEIGHT (function) returns the font height of a font handle created by _LOADFONT.
- _FONTWIDTH (function) returns the font width of a MONOSPACE font handle created by _LOADFONT.
- _FREEFONT (statement) frees a font handle value from memory
- _LOADFONT (function) loads a TrueType font (.TTF) file of a specific size and style and returns a font handle value.
- _MAPUNICODE (statement) maps a Unicode value to an ASCII character code value.
- _PRINTMODE (function) returns the present _PRINTMODE status as a numerical value.
- _PRINTMODE (statement) sets the text or _FONT printing mode on a background image when using PRINT or _PRINTSTRING.
- _KEEPBACKGROUND (1): Text background transparent. Only the text is displayed over anything behind it.
- _ONLYBACKGROUND (2): Text background is only displayed. Text is transparent to anything behind it.
- _FILLBACKGROUND (3): Text and background block anything behind them like a normal PRINT. Default setting.
- _PRINTSTRING (statement) prints text or custom font strings using graphic column and row coordinate positions.
- _PRINTWIDTH (function) returns the width in pixels of the _FONT or text string that a program will print.
- PRINT (statement) prints numeric or string expressions to the program screen.
- PRINT USING (statement) prints template formatted numeric or string values to the program screen.
- _UCHARPOS (function) calculates the starting pixel positions of every character of a (unicode) text string.
- _UFONTHEIGHT (function) returns the global glyph height (incl. ascender/descender) of a loaded font.
- _ULINESPACING (function) returns the vertical line spacing (distance between two consecutive baselines) in pixels.
- _UPRINTSTRING (statement) locates and prints a (unicode) text string using graphic coordinates.
- _UPRINTWIDTH (function) returns the pixel width of a (unicode) text string to be printed using _UPRINTSTRING.
- WRITE (screen I/O statement) writes a comma-separated list of values to the screen.
Game Controller Input (Joystick)
- _AXIS (function) returns a SINGLE value between -1 and 1 indicating the maximum distance from device axis center 0.
- _BUTTON (function) returns -1 when a 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.
- _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.
- _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$.
- _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.
- _WHEEL (function) returns -1 when a device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.
- ON STRIG(n) (event statement) directs program flow upon a button press event of a game controller device.
- STICK (function) returns the directional axis coordinate values from 1 to 254 of game port (&H201) or USB controller devices.
- STRIG (function) returns the True or False button press status of game port (&H201) or USB controller devices.
- STRIG(n) (statement) enables, suspends or disables event trapping of STRIG button return values.
Graphic Commands
- _COPYIMAGE (function) can copy a software surface to a hardware accelerated surface handle using mode 33.
- _DISPLAY (statement) renders surfaces visible in the _DISPLAYORDER previously set in the QB64 program.
- _DISPLAYORDER sets the rendering order of _SOFTWARE, _HARDWARE and _GLRENDER with _DISPLAY.
- _LOADIMAGE (function) can load images as hardware accelerated using mode 33.
- _PUTIMAGE (statement) can place GL surfaces and allows the _SMOOTH action to blend stretched surfaces.
Graphics and Imaging:
- _AUTODISPLAY (statement) enables the automatic display of the screen image changes previously disabled by _DISPLAY.
- _CLIP (PUT action) allows placement of an image partially off of the screen.
- _COPYIMAGE (function) function duplicates an image handle from a designated handle.
- _COPYPALETTE (statement) copies the color palette intensities from one image to another image or screen page.
- _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 page. All graphics will go to this image.
- _DEST (function) returns the current write destination image or page.
- _DISPLAY (statement) turns off 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.
- _FULLSCREEN (function) returns the present full screen mode setting of the screen window.
- _FULLSCREEN (statement) sets the full screen mode of the screen window. Alt + Enter can do it manually.
- _FREEIMAGE (statement) releases an image handle value from memory when no longer needed.
- _HEIGHT (function) returns the height of an image handle or current write page.
- _ICON (function) places an image in the title bar using a _LOADIMAGE handle.
- _LOADIMAGE (function) loads a graphic file image into memory and returns an image handle.
- _MAPTRIANGLE (statement) maps a triangular portion of an image to a destination image or screen page.
- _NEWIMAGE (function) prepares a window image or page surface and returns the handle value.
- _PIXELSIZE (function) returns the color depth (Bits Per Pixel) of an image.
- _PRINTSTRING (statement) prints text or custom font strings using graphic column and row coordinate positions.
- _PUTIMAGE (statement) maps a rectangular area of a source image to an area of a destination image in one operation
- _SAVEIMAGE (statement) Saves the screen or an image handle to an image file.
- _SCREENIMAGE (function) creates an image of the current desktop and returns an image handle.
- _SMOOTH (function) checks whether the current _FULLSCREEN mode has antialiasing enabled or not.
- _SOURCE (statement) establishes the image SOURCE using a designated image handle
- _SOURCE (function) returns the present image _SOURCE handle value.
- _UCHARPOS (function) calculates the starting pixel positions of every character of a (unicode) text string.
- _UPRINTSTRING (statement) locates and prints a (unicode) text string using graphic coordinates.
- _WIDTH (function) returns the width of an image handle or current write page.
- CIRCLE (statement) is used in graphics SCREEN modes to create circles, arcs or ellipses.
- CLS (statement) clears a screen page or the program SCREEN. QB64 can clear with a color.
- COLOR (statement) sets the current text color attribute or _RGB value to be used or background colors in some screen modes.
- DRAW (statement) uses a special type of string expression to draw lines on the screen.
- GET (graphics statement) used to store a box area image of the screen into an INTEGER array.
- LINE (statement) used in graphic SCREEN modes to create lines or boxes.
- PAINT (statement) used to color enclosed graphic objects with a designated fill color and border color.
- PALETTE (statement) can swap color settings, set colors to default or set the Red, Green, Blue color palette.
- PALETTE USING (statement) sets all RGB screen color intensities using values from an array.
- PCOPY (statement) copies one source screen page to a destination page in memory.
- PMAP (function) returns the physical or WINDOW view coordinates.
- POINT (function) returns the pixel COLOR attribute or _RGB value at a specified graphics coordinate.
- PRESET (statement) sets a pixel coordinate to the background color or a designated color.
- PSET (statement) sets a pixel coordinate to the default color or designated color attribute.
- PUT (graphics statement) statement is used to place GET saved or BSAVEd images stored in an array.
- SCREEN sets the screen mode of a program. No statement defaults the program to SCREEN 0 text only mode.
- STEP (relational statement) is used to step through FOR loop values or use relative graphical coordinates.
- VIEW (graphics statement) creates a graphics view port area by defining the coordinate limits to be viewed.
- WINDOW (statement) defines the coordinate dimensions of the current graphics viewport.
Keyboard Input
- _CONTROLCHR (statement) OFF allows the control characters to be used as text characters. ON(default) can use them as commands.
- _CONTROLCHR (function) returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.
- _EXIT (function) prevents a program user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
- _INPUTBOX$ (function) Displays a prompt in a dialog box, waits for the user to input text or click a button, and returns a string containing the contents of the text box.
- _KEYDOWN (function) returns whether modifying keys like CTRL, ALT, SHIFT, and any other keys are pressed.
- _KEYHIT (function) returns ASCII one and two byte, SDL Virtual Key and Unicode keyboard key press codes.
- _SCREENPRINT (statement) simulates typing text into another OS program using the keyboard.
- INKEY$ (function) returns the ASCII string character of a keypress.
- INPUT (statement) requests a STRING or numerical keyboard entry from a program user.
- INPUT$ (function) used to get a set number of keypress characters or bytes from a file.
- INP (function) returns a scan code value from keyboard register &H60(96) to determine key presses.
- KEY n (event statement) is used to assign a "softkey" string to a key and/or display them.
- KEY(n) (event statement) assigns, enables, disables or suspends event trapping of a keypress.
- KEY LIST (statement) lists the 12 Function key soft key string assignments going down left side of screen.
- LINE INPUT (statement) requests a STRING keyboard entry from a program user.
- ON KEY(n) (event statement) defines a line number or label to go to when a specified key is pressed.
- SLEEP (statement) pauses the program for a specified number of seconds or a until a key press.
Libraries
- _OFFSET (function) returns the memory offset of a variable when used with DECLARE LIBRARY only.
- _OFFSET(variable type) can be used store the value of an offset in memory when using DECLARE LIBRARY only.
- ALIAS (statement) tells the program that you will use a different name than the name used in the Library file.
- BYVAL (statement) used to pass a parameter's value with sub-procedures from a Library.
- DECLARE LIBRARY allows the use of OS specific, SDL or C++ external library SUB and FUNCTION procedures
- END DECLARE required at the END of the block of Library declarations in QB64.
- $INCLUDEONCE (metacommand) prevents that include file contents is injected multiple times into a program.
Logical Bitwise Operations
- AND (operator) the bit is set when both bits are set.
- EQV (operator) the bit is set when both are set or both are not set.
- IMP (operator) the bit is set when both are set or both are unset or the second condition bit is set.
- OR (operator) the bit is set when either bit is set.
- NOT (operator) the bit is set when a bit is not set and not set when a bit is set.
- XOR (operator) the bit is set when just one of the bits are set.
Mathematical Functions and Operations
- _MAX (function) Returns the greater of two given numeric values.
- _MIN (function) Returns the lesser of two given numeric values.
- _ROUND (function) rounds to the closest EVEN INTEGER, LONG or _INTEGER64 numerical value.
- + addition operation
- - subtraction or negation operation
- * multiplication operation
- / decimal point division operation
- \ integer division operation
- ^ exponential operation
- MOD integer remainder operation
- ABS (function) returns the the positive value of a variable or literal numerical value.
- ATN (function) or arctangent returns the angle in radians of a numerical tangent value.
- CDBL (function) closest double rounding function
- CINT (function) closest integer rounding function
- CLNG (function) closest long integer rounding function
- COS (function) cosine of a radian angle
- CSNG (function) closest single rounding function
- EXP (function) returns the value of e to the power of the parameter used.
- FIX (function) rounds positive or negative values to integer values closer to 0
- INT (function) rounds to lower integer value
- LOG (function) natural logarithm of a specified numerical value.
- SIN (function) sine of a radian angle.
- SQR (function) square root of a positive number.
- TAN (function) returns the ratio of SINe to COSine or tangent value of an angle measured in radians.
Memory Handling and Clipboard
- _CLIPBOARD$ (function) returns the current STRING contents of the system Clipboard.
- _CLIPBOARD$ (statement) sets and overwrites the STRING contents of the current system Clipboard.
- _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 once!
- _MEMGET (statement) reads a designated value from a designated memory 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 _OFFSET
- _MEMSOUND (function) returns a _MEM block referring to a designated sound handle's memory
- _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.
- DEF SEG (statement) defines the segment address in memory.
- PEEK (function) returns the value that is contained at a certain memory address offset.
- POKE (statement) sets the value of a specified memory address offset.
- SADD (function) returns the address of a STRING variable as an offset from the current data segment.
- VARPTR (function) returns an INTEGER value that is the offset pointer of the memory address within it's segment.
- VARPTR$ (function) returns a STRING representation of a variable's memory address value
- VARSEG (function) returns an INTEGER value that is the segment part of a variable or array memory address.
Mouse Input
- _AXIS (function) returns a SINGLE value between -1 and 1 indicating the maximum distances from device center 0.
- _BUTTON (function) returns -1 when a device button is pressed and 0 when button is released. 2 is the mouse center or scroll button
- _BUTTONCHANGE (function) returns -1 when a device button has been pressed and 1 when released. Zero indicates no change.
- _DEVICE$ (function) returns a STRING expression listing device names and input types of system input devices.
- _DEVICEINPUT (function) returns the _DEVICES number of an _AXIS, _BUTTON or _WHEEL event. Mouse is normally _DEVICEINPUT(2).
- _DEVICES (function) returns the number of input devices found on a computer system. The mouse is normally device 2.
- _EXIT (function) prevents a program user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
- _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$.
- _MOUSEBUTTON (function) returns whether a specified mouse button number has been clicked. 3 is the mouse center or scroll button
- _MOUSEHIDDEN (function) returns the current state of the mouse pointer.
- _MOUSEHIDE (statement) hides the OS mouse pointer from view.
- _MOUSEINPUT (function) must be used to monitor and read all changes in the mouse status.
- _MOUSEMOVE (statement) moves the mouse cursor pointer to a designated coordinate.
- _MOUSEMOVEMENTX (function) returns the relative horizontal position of the mouse cursor.
- _MOUSEMOVEMENTY (function) returns the relative vertical position of the mouse cursor.
- _MOUSESHOW (statement) displays the OS mouse cursor after it has been hidden.
- _MOUSEWHEEL (function) returns a positive or negative count the mouse scroll wheel clicks since the last read.
- _MOUSEX (function) indicates the current horizontal position of the mouse pointer.
- _MOUSEY (function) indicates the current vertical position of the mouse pointer.
- _SCREENCLICK simulates clicking the mouse at a position on the screen to get focus.
- _WHEEL (function) returns -1 when a device wheel is scrolled up and 1 when scrolled down. Zero indicates no activity.
- CALL ABSOLUTE (statement) used to access Interrupt vector &H33 to work with the mouse. Functions 0 to 3 implemented.
- INTERRUPT (statement) used to access Interrupt vector &H33 to work with the mouse. Functions 0 to 3 implemented.
Numerical Manipulation and Conversion
- _BIN$ (function) converts the INTEGER part of any value to binary STRING number value.
- _CV (function) used to convert _MK$ ASCII string values to specified numerical value types.
- _MK$ (function) converts a specified numerical type into an ASCII string value that must be converted back using _CV.
- _PRESERVE (REDIM action) preserves the current contents of an array, when re-dimensioning it.
- _TOSTR$ (function) Returns the STRING representation of a numerical value. It's a successor of the legacy STR$ function.
- _UNSIGNED {numerical type) defines a numerical value as being positive only using QB64.
- ABS (function) returns the the positive value of a variable or literal numerical value.
- ASC (function) returns the ASCII code number of a certain STRING text character or a keyboard press.
- CDBL (function) converts a numerical value to the closest DOUBLE-precision value.
- CHR$ (function) returns the character associated with a certain ASCII character code as a STRING.
- CINT (function) returns the closest INTEGER value of a number.
- CLEAR (statement) clears all variable values to 0 or null strings and closes all open files.
- CLNG (function) rounds decimal point numbers up or down to the nearest LONG integer value.
- CSNG (function) converts a numerical value to the closest SINGLE-precision number.
- CVD (function) converts STRING values to DOUBLE numerical values.
- CVDMBF (function) converts a 8-byte Microsoft Binary format string value to a DOUBLE precision number.
- CVI (function) converts 2 byte STRING values to INTEGER numerical values.
- CVL (function) converts 4 byte STRING values to LONG numerical values.
- CVS (function) converts 4 byte STRING values to SINGLE numerical values.
- CVSMBF (function) converts a 4-byte Microsoft Binary format string value to a SINGLE-precision number.
- DIM (statement) used to declare a variable type or dimension a STATIC array.
- ERASE (array statement) clears a STATIC array of all values and totally removes a $DYNAMIC array.
- HEX$ (function) converts the INTEGER part of any value to hexadecimal STRING number value.
- INT (function) rounds a numeric value down to the next whole number or INTEGER value.
- LEN (function) returns the byte size of strings or numerical variables.
- OCT$ (function) converts the INTEGER part of any value to octal STRING number value.
- RANDOMIZE (statement) seeds the RND random number generation sequence.
- REDIM (statement) re-dimensions the number of elements in a dynamic(resizeable) array.
- RND (function) returns a randomly generated number from 0 to .9999999
- SGN (function) returns the sign as -1 for negative, zero for 0 and 1 for positive numerical values.
- STR$ (function) converts a numerical value to a STRING value.
- SWAP (statement) trades the values of two numerical types or strings.
- VAL (function) converts number strings into numerical values until it runs into a non-numeric character.
Port Input and Output (COM and LPT)
- GET (file I/O statement) reads port data data by byte or record positions.
- LOC (function) finds the current file location or size of a COM port receive buffer.
- OPEN COM (statement) opens a computer serial COMmunications port.
- OUT (statement) sends values to register or port hardware addresses (emulated - limited access).
- PRINT (file statement) writes text and numerical data to a port transmit buffer.
- PUT (file I/O statement) writes data into a RANDOM or BINARY port by byte or record position.
Print formatting
- LPRINT USING (statement) prints template formatted STRING text to an LPT or USB printer page.
- PRINT USING (statement) prints template formatted STRING text to the screen.
- PRINT USING (file statement) prints template formatted STRING text to a text file.
Printer Output (LPT and USB)
- _PRINTIMAGE (statement) prints an image stretched to the size of the paper setting of an LPT or USB printer.
- LPOS (function) returns the current parallel(LPT) printer head position.
- LPRINT (statement) prints text to an LPT or USB printer page.
- LPRINT USING (statement) prints template formatted STRING text to an LPT or USB printer page.
Program Flow and Loops
- _CONTINUE (statement) skips the remaining lines in a control block (DO/LOOP, FOR/NEXT or WHILE/WEND)
- _DEST (statement) sets the current write image or page. All graphics will go to this image.
- _DEST (function) returns the current write destination image or page.
- _EXIT (function) prevents a user exit and indicates if a user has clicked the close X window button or CTRL + BREAK.
- _SOURCE (statement) establishes the image SOURCE using a designated image handle
- _SOURCE (function) returns the present image _SOURCE handle value.
- _SHELLHIDE (function) returns the code sent by a program exit using END or SYSTEM followed by an INTEGER value.
- CALL (statement) sends code execution to a subroutine procedure in a program.
- CASE (SELECT CASE statement) used within a SELECT CASE block to specify a conditional value of the compared variable.
- CASE ELSE (SELECT CASE statement) used in a SELECT CASE block to specify an alternative to other CASE values.
- CASE IS (SELECT CASE statement) used within a SELECT CASE block to specify a conditional value of the compared variable.
- DO...LOOP (loop statement) used in programs to repeat code or return to the start of a procedure.
- ELSE (statement) used in IF...THEN statements to offer an alternative to other conditional statements.
- ELSEIF (statement) used in IF...THEN block statements to offer an alternative conditional statement.
- END (statement) ENDs a conditional block statement, a sub-procedure or ends the program with "Press any key..."
- END IF (IF statement end) ENDs an IF statement block.
- ERROR (error statement) used to simulate an error in a program.
- EXIT (statement) exits a loop, function or sub-procedure early.
- FOR...NEXT (statement) a counter loop procedure that repeats code a specified number of times.
- GOSUB (statement) send the program to a designated line label procedure in the main module or a SUB procedure.
- GOTO (statement) sends the program to a designated line number or label.
- IF...THEN (statement) a conditional flow statement or block of statements.
- LOOP end of a DO...LOOP procedure that repeats code until or while a condition is true.
- RESUME (error statement) an error statement that can return the program to the NEXT code line or a specific line number.
- RETURN (statement) a sub-procedure statement that returns the program to the code immediately after the procedure call.
- RUN (statement) clears and restarts the program currently in memory or executes another specified program.
- SELECT CASE (statement) determines the program flow by comparing the value of a variable to specific values.
- SHELL (DOS statement) directly accesses the Operating System's command line procedures.
- SLEEP (statement) stops program progression for a specific number of seconds or until a keypress is made.
- STEP (relational statement) is used to step through FOR loop values or use relative graphical coordinates.
- STOP (statement) is used when troubleshooting a program to stop the program at a specified code line.
- SYSTEM (statement) immediately exits a program and closes the program window.
- UNTIL (conditional statement) continues a DO LOOP procedure until a condition is true.
- WHILE (statement) continues a DO LOOP procedure while a condition is true.
- WHILE...WEND (statement) a loop procedure that repeats code while a condition is true.
Sounds and Music
- _MIDISOUNDBANK enables _SNDOPEN to use external FM Banks or SoundFonts when playing MIDI files.
- $MIDISOUNDFONT (metacommand) (deprecated) enables the MIDI support for _SNDOPEN.
- _SNDBAL (statement) sets the balance or 3D position of a sound.
- _SNDCLOSE (statement) frees and unloads an open sound using a _SNDOPEN or _SNDCOPY handle.
- _SNDCOPY (function) copies a sound to a new handle so that two or more of the same sound can be played at once.
- _SNDGETPOS (function) returns the current playing position in seconds of a designated sound handle.
- _SNDLEN (function) returns the length of a sound in seconds of a designated sound handle.
- _SNDLIMIT (statement) stops playing a sound after it has been playing for a set number of seconds.
- _SNDLOOP (statement) loops the playing of a specified sound handle.
- _SNDNEW (function) creates a raw empty sound in memory and returns a LONG handle value for later access.
- _SNDOPEN (function) loads a sound file with certain capabilities and returns a handle value.
- _SNDPAUSE (statement) pauses a specified sound handle if it is playing.
- _SNDPAUSED (function) returns the pause status of a specified sound handle.
- _SNDPLAY (statement) plays a designated sound file handle.
- _SNDPLAYCOPY (statement) copies a sound, plays it and automatically closes the copy using a handle parameter
- _SNDPLAYFILE (statement) a simple command to play a sound file with limited options.
- _SNDPLAYING (function) returns whether a sound handle is being played.
- _SNDRATE (function) returns the sample rate frequency per second of the current computer's sound card.
- _SNDRAW (statement) plays sound wave sample frequencies created by a program.
- _SNDRAWDONE (statement) pads a _SNDRAW stream so the final (partially filled) buffer section is played.
- _SNDRAWLEN (function) returns the length, in seconds, of a _SNDRAW sound currently queued.
- _SNDOPENRAW (function) returns a handle to a new, separate _SNDRAW audio stream.
- _SNDSETPOS (statement) changes the current/starting playing position of a sound in seconds.
- _SNDSTOP (statement) stops a playing or paused sound handle.
- _SNDVOL (statement) sets the volume of a sound handle being played.
- BEEP (statement) makes a beep sound when called or CHR$(7) is printed.
- PLAY (music statement) uses a custom string statement to play musical notes.
- SOUND (statement) creates sounds of a specified frequency for a set duration.
String Text Manipulation and Conversion
- _CLIPBOARD$ (function) returns the current STRING contents of the system Clipboard.
- _CLIPBOARD$ (statement) sets the STRING contents of the current system Clipboard.
- _CONTROLCHR (statement) OFF allows the control characters to be used as text characters. ON(default) can use them as commands.
- _CONTROLCHR (function) returns the current state of _CONTROLCHR as 1 when OFF and 0 when ON.
- _CV (function) used to convert _MK$ ASCII string values to numerical values.
- _MK$ (function) converts any numerical type into an ASCII string value that must be converted back using _CV.
- _STRCMP (function) compares the relationship between two strings.
- _STRICMP (function) compares the relationship between two strings, without regard for case-sensitivity.
- _TOSTR$ (function) Returns the STRING representation of a numerical value. It's a successor of the legacy STR$ function.
- ASC (statement) allows a QB64 program to change a character at any position of a predefined STRING.
- HEX$ (function) returns the base 16 hexadecimal representation of an INTEGER value as a STRING.
- INSTR (function) searches for the first occurance of a search STRING within a string and returns the position.
- LCASE$ (function) changes the uppercase letters of a STRING to lowercase.
- LEFT$ (function) returns a part of a STRING from the start a designated number of character places.
- LEN (function) returns the number of bytes or characters in a STRING value.
- LSET (statement) left-justifies a fixed length string expression based on the size of the STRING.
- LTRIM$ (function) returns a string with all leading spaces removed.
- MID$ (statement) allows a QB64 program to change existing characters of a predefined STRING.
- MKD$ (function) converts a DOUBLE numerical value into an 8 byte ASCII STRING value.
- MKDMBF$ (function) converts a double-precision number to a string containing a value in Microsoft Binary format.
- MKI$ (function) converts a numerical INTEGER value to a 2 byte ASCII string value.
- MKL$ (function) converts a numerical LONG value to a 4 byte ASCII string value.
- MKS$ (function) converts a numerical SINGLE value to a 4 byte ASCII string value.
- MKSMBF$ (function) converts a single-precision number to a string containing a value in Microsoft Binary format.}}
- OCT$ (function) returns the base 8 Octal representation of an INTEGER value.
- RIGHT$ (function) returns a set number of characters in a STRING variable starting from the end.
- RSET (statement) right-justifies a string according to length of the string expression.
- RTRIM$ (function) returns a string with all of the spaces removed at the right end of a string.
- SPACE$ (function) returns a STRING consisting of a number of space characters.
- STR$ (function) converts a numerical value to a STRING.
- STRING ($ variable type) one byte text variable with ASCII code values from 0 to 255.
- STRING$ (function) returns a STRING consisting of a single character repeated a set number of times.
- SWAP (statement) used to exchange two string variable or array element values.
- UCASE$ (function) returns a string with all letters as uppercase.
- VAL (function) converts a string number value to a numerical value.
Sub procedures and Functions
- CALL (statement) sends code execution to a SUB procedure in a program. Parameter brackets are required when used.
- CALL ABSOLUTE (statement) used to access Interrupts on the computer or execute assembly type procedures.
- CHAIN (statement) changes seamlessly from one program module to another.
- DECLARE (BASIC statement) used to tell that a SUB or FUNCTION is created to be used in the program. NOT USED by QB64!
- END (statement) ends a SUB or FUNCTION procedure.
- EXIT (statement) exits a SUB or FUNCTION procedure early.
- FUNCTION (statement) a procedure that holds ONE return value in the function's name which is a variable type.
- GOSUB (statement) sends the program to a sub program that uses a line number or label.
- $INCLUDE (metacommand) used to insert a source code text file into your program at the point of the insertion.
- INTERRUPT (statement) a built in assembly routine for accessing computer information registers.
- RETURN (statement) used in GOSUB procedures to return to the original call code line.
- RUN (statement) flow statement that clears and restarts the program currently in memory or executes another specified program.
- SHARED (statement) defines a variable or list of variables as shared with the main program module.}}
- SHELL (statement) allows a program to use OS command lines.
- STATIC (statement) defines a variable or list of variables that will retain their values after the sub-procedure is exited.
- SUB (statement) procedures are programs within programs that can return multiple calculations.
TCP/IP Networking HTTP(S) and Email
- _CONNECTED (function) returns the connection status of a TCP/IP connection handle.
- _CONNECTIONADDRESS$ (function) function returns a connected user's STRING IP address value.
- _STATUSCODE (function) gives the HTTP status code of an HTTP response that was opened using _OPENCLIENT.
- _OPENCLIENT (function) connects to a Host on the Internet as a Client and returns the Client status handle.
- _OPENCONNECTION (function) open's a connection from a client that the host has detected and returns a status handle.
- _OPENHOST (function) opens a Host which listens for new connections and returns a Host status handle.
- CLOSE (statement) closes an opened internet connection using the handle assigned in an OPEN statement.
- GET (HTTP statement) reads the response of an HTTP request that was opened using _OPENCLIENT.
- GET (TCP/IP statement) reads a TCP/IP connection port to return a value.
- PUT (TCP/IP statement) sends unformatted(raw) data to an open connection using a user's handle.
Text on Screen
- _CONTROLCHR OFF allows ASCII characters 0 to 31 to be used as text characters. ON(default) resets to default usage.
- _FONT (function) creates a new alphablended font handle from a designated image handle
- _FONT (statement) sets the current _LOADFONT function font handle to be used by PRINT or _PRINTSTRING.
- _MAPUNICODE (statement) maps a Unicode value to an ASCII character code value.
- _PRINTSTRING (statement) prints text or custom font strings using graphic column and row coordinate positions.
- _SCREENPRINT (statement) simulates typing text into a Windows program using the keyboard.
- _TOSTR$ (function) Returns the STRING representation of a numerical value. It's a successor of the legacy STR$ function.
- _UCHARPOS (function) calculates the starting pixel positions of every character of a (unicode) text string.
- _UPRINTSTRING (statement) locates and prints a (unicode) text string using graphic coordinates.
- CHR$ (function) returns the text character associated with a certain ASCII character code as a one byte STRING.
- CLS (statement) clears a screen page or the program SCREEN. QB64 can clear with a color.
- COLOR (statement) used to change the color of the text and background in some legacy screen modes.
- CSRLIN (function) returns the current print cursor row position on the screen.
- INPUT (statement) requests a STRING or numerical keyboard entry from a program user.
- KEY LIST (statement) vertically lists all the ON KEY(n) softkey strings associated with each function key F1 to F12.
- LINE INPUT (statement) requests a STRING keyboard entry from a program user.
- LOCATE (statement) locates the screen text row and column positions for a PRINT or INPUT procedure.
- POS (function) returns the current print cursor column position.
- PRINT (statement) prints numeric or string expressions to the program screen.
- PRINT USING (statement) prints template formatted numeric or string values to the program screen.
- SCREEN (statement) sets the screen mode of a program. No statement defaults the program to SCREEN 0 text mode.
- SCREEN (function) returns the ASCII code of a text character or the color attribute at a set text location on the screen.
- SPACE$ (function) returns a string consisting of a number of space characters.
- SPC (function) used in PRINT and LPRINT statements to print or output a number of space characters.
- STR$ (function) returns the STRING representation of a numerical value.
- STRING$(function) returns a STRING consisting of a single character repeated a set number of times.
- TAB (function) used in PRINT and LPRINT statements to move to a specified text column position.
- VIEW PRINT (statement) defines the boundaries of a text viewport PRINT area.
- WIDTH (statement) changes the text dimensions of certain SCREEN modes or printer page widths
- WRITE (screen I/O statement) writes a comma-separated list of values to the screen.
Time, Date and Timing
- _AUTODISPLAY (statement) enables the automatic display of the screen image changes previously disabled by _DISPLAY.
- _DELAY (statement) suspends program execution for a SINGLE value of seconds down to milliseconds.
- _DISPLAY (statement) turns off automatic display while only displaying the screen changes when called.
- _FREETIMER (function) returns a free TIMER number for multiple ON TIMER(n) events.
- _KEYDOWN (function) returns whether modifying keys like CTRL, ALT, SHIFT, and any other keys are pressed.
- _KEYHIT (function) returns ASCII one and two byte, SDL Virtual Key and Unicode keyboard key press codes.
- _LIMIT (statement) sets the loop repeat rate of a program to so many per second, relinquishing spare cpu cycles.
- INKEY$ (function) can be used in a loop to wait for a keypress or a [Ctrl] + letter key combination.
- INPUT (statement) can be used to wait for an [Enter] key press or a text or numerical menu entry.
- INPUT$ (function) can be used to wait for a key press or a fixed length text entry.
- ON KEY(n) (event statement) executes when a keypress or keypress combination occurs.
- ON TIMER(n) (event statement) executes when a timed event occurs. QB64 can use multiple numbered timer events.
- SLEEP (statement) pauses the program for a specified number of seconds or a until a key press is made.
- TIME$ (function) returns the present computer time in a hh:mm:ss 24 hour string format
- TIMER (function) returns the number of seconds past the previous midnite down to a QB64 accuracy of one millisecond.
- TIMER (statement) enables, turns off or stops timer event trapping. In QB64 TIMER(n) FREE can free multiple timers.
- WAIT (statement) normally used to delay program display execution during or after vertical retrace periods.
Window and Desktop
- _COLORCHOOSERDIALOG (function) Displays a standard color picker dialog box and returns a 32-bit RGBA color selected by the user.
- _DESKTOPHEIGHT (function) returns the height of the desktop (not program window).
- _DESKTOPWIDTH (function) returns the width of the desktop (not program window).
- _FULLSCREEN (function) returns the present full screen mode setting number of the screen window.
- _FULLSCREEN (statement) sets the full screen mode of the screen window. Alt + Enter can do it manually.
- _HEIGHT (function) returns the height of a _SCREENIMAGE handle to get the desktop resolution.
- _ICON (statement) creates a program icon from an image file handle created by _LOADIMAGE. Cannot use .ICO files!
- _INPUTBOX$ (function) Displays a prompt in a dialog box, waits for the user to input text or click a button, and returns a string containing the contents of the text box.
- _MESSAGEBOX (function) Displays a message dialog box, which presents a message and returns the button ID clicked by the user.
- _MESSAGEBOX (statement) Displays a message dialog box, which presents a message to the user.
- _NEWIMAGE (statement) function prepares a window image surface and returns the handle value.
- _NOTIFYPOPUP (statement) Shows a system notification popup.
- _OPENFILEDIALOG$ (function) Displays a standard dialog box that prompts the user to open a file.
- $RESIZE (metacommand) used with ON allows a user to resize the program window where OFF does not.
- _RESIZE (function) returns -1 when a program user attempts 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.
- _SAVEFILEDIALOG$ (function) Displays a standard dialog box that prompts the user to save a file.
- _SCREENCLICK simulates clicking the mouse at a position on the screen to get focus.
- _SCREENEXISTS (function) returns a -1 value once a screen has been created.
- $SCREENHIDE (metacommand) hides the program window throughout the program until $SCREENSHOW is used.
- _SCREENHIDE (statement) hides the main program window in a section of code until _SCREENSHOW is used.
- _SCREENIMAGE (function) creates an image of the current desktop and returns an image handle.
- _SCREENMOVE (statement) positions the program window on the desktop using designated coordinates or _MIDDLE.
- _SCREENPRINT (statement) simulates typing text into a Windows program using the keyboard.
- $SCREENSHOW (metacommand) displays the main program window throughout the program after $SCREENHIDE.
- _SCREENSHOW (statement) displays the main program window in a section of code after _SCREENHIDE has been used.
- _SCREENX (function) returns the current program window's upper left corner column position on the desktop.
- _SCREENY (function) returns the current program window's upper left corner row position on the desktop.
- _SELECTFOLDERDIALOG$ (function) Displays a dialog box that enables the user to select a folder (directory).
- _SMOOTH (function) checks whether the current _FULLSCREEN mode has antialiasing enabled or not.
- _TITLE (statement) sets the program name string in the title bar of the program window.
- _WIDTH (function) returns the width of a _SCREENIMAGE handle to get the desktop resolution.
- SCREEN sets the screen mode of a program. No statement defaults the program to SCREEN 0 text mode.
QB64 Programming Symbols
- Print, Input or File Formatting
- ; Semicolon after a PRINT stops the invisible cursor at end of the printed value. Can prevent screen rolling!
- , Comma after a PRINT tabs the invisible cursor past the end of the printed value.
- " Quotation mark delimits the ends of a literal STRING value in a PRINT, INPUT or LINE INPUT statement.
- ? Question mark is a shortcut substitute for the PRINT keyword. Will change to PRINT when cursor leaves the code line.
- Program Code Markers
- ' Apostrophe denotes a program comment, to ignore a code line or a legacy QBasic Metacommand. Same as using REM.
- , Comma is a statement variable or DATA, SUB or FUNCTION parameter separator.
- Colons can be used to separate two procedure statements on one code line.
- $ Dollar sign used as prefix denotes a Metacommand, used as suffix it denotes a STRING variable.
- ( ) 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 delimits the ends of a literal STRING value. Use CHR$(34) to insert quotes in a text STRING.
- REM or apostrophe are used to make comments or ignore code or precedes a legacy QBasic Metacommand.
- _ Underscore at the end of a code line is used to continue a line of code to the next program line in QB64 only.
- Variable Name Type Suffixes
- $ STRING text character type: 1 byte
- ! SINGLE floating decimal point numerical type (4 bytes)
- # DOUBLE floating decimal point numerical type (8 bytes)
- ## _FLOAT QB64 decimal point numerical type (32 bytes)
- ~ _UNSIGNED QB64 whole positive numerical type when it precedes the 6 numerical suffixes below:
- % INTEGER whole numerical type (2 bytes)
- & LONG whole numerical type (4 bytes}
- && _INTEGER64 QB64 whole numerical type (8 bytes)
- ` _BIT QB64 whole numerical type (1 bit)(Key below tilde(~) or CHR$(96))
- %% _BYTE QB64 whole numerical type (1 byte)
- %& _OFFSET QB64 whole numerical pointer address type (any byte size required)
- Numerical Base Prefixes
- &B Binary base 2 Digits 0 or 1 [QB64]
- &O Octal base 8 Digits 0 to 7
- &H Hexadecimal base 16: Digits 0 to F
- + Addition operator or sign
- - Subtraction operator or sign
- * Multiplication operator
- / Division (floating decimal point) operator
- \ Integer division operator
- ^ Exponential operator
- MOD Integer Remainder division operator
- = (Equal to condition)
- > (Greater than condition)
- < (Less than condition)
- <> (Not equal to condition)
- >= (Greater than or equal to condition)
- <= (Less than or equal to condition)
QB64 Programming References