Metacommand: Difference between revisions
Jump to navigation
Jump to search
m Protected "Metacommand" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) |
No edit summary |
||
(32 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Metacommands''' are | '''Metacommands''' are commands that start with '''dollar sign ($)'''. Those commands usually switch the program between different operation modes/behavior or provide extended functionality. | ||
==Legacy | {| align="right" style="max-width:25%;" | ||
| __TOC__ | |||
:REM [[$ | |} | ||
== Legacy Metacommands (QBasic/QuickBASIC) == | |||
:*Legacy metacommands are normally used at the program start, they should have their own program line and must be commented with an ''[[Apostrophe|']]'' or [[REM]]. | |||
* [[$DYNAMIC]] {{Text|set all program arrays as changeable in size using [[REDIM]].}} | |||
* [[$INCLUDE]] {{Text|designates a text code library file to include with the program.}} | |||
* [[$STATIC]] {{Text|set all program arrays as unchangeable in size using [[DIM]].}} | |||
=== Legacy style, but QB64-PE only === | |||
* [[$FORMAT]] {{Text|controls the code formatting behavior in QB64-PE its IDE and the command line formatting mode (-y switch).}} | |||
:REM [[$ | == QB64 Metacommands == | ||
:*QB64 metacommands must not necessarily used at the program start. However, it's still the best location for some of it (see individual descriptions). | |||
:*QB64 metacommands must not be commented with an ''[[Apostrophe|']]'' or [[REM]], but should have their own program line too. | |||
* [[$ASSERTS]] {{Text|enables debug tests with the [[_ASSERT]] macro.}} | |||
* [[$CHECKING]] {{Text|turns event and error checking OFF or ON.}} | |||
* [[$COLOR]] {{Text|includes named color name constants in a program.}} | |||
* [[$CONSOLE]] {{Text|creates a console window that can be used throughout a program.}} | |||
* [[$DEBUG]] {{Text|enables debugging features, allowing you to step through your code line by line.}} | |||
* [[$EMBED]] {{Text|is used to embed any file's contents into the compiled executable. Recall the embedded file contents using [[_EMBEDDED$]].}} | |||
* [[$EXEICON]] {{Text|is used with an .ICO icon file name to embed the image into the compiled executable.}} | |||
* [[$INCLUDEONCE]] {{Text|prevents that include file contents is injected multiple times into a program.}} | |||
* [[$MIDISOUNDFONT]] ({{Text|deprecated|red}}) {{Text|enables the MIDI support for [[_SNDOPEN]].}} | |||
* [[$NOPREFIX]] ({{Text|deprecated|red}}) {{Text|allows QB64-specific keywords to be used without the underscore prefix.}} | |||
* [[$RESIZE]] {{Text|used with ON allows a user to resize the program window where OFF does not.}} | |||
* [[$SCREENHIDE]] {{Text|hides the program window from view.}} | |||
* [[$SCREENSHOW]] {{Text|displays the program window after it was hidden.}} | |||
* [[$UNSTABLE]] {{Text|will enable the use of features that have not yet been made a permanent part of the language.}} | |||
* [[$VERSIONINFO]] {{Text|adds metadata to Windows only binaries for identification purposes across the OS.}} | |||
== QB64 Precompiler Commands == | |||
==QB64 | :*These are a special type of ''{{Text|QB64 Metacommands|blue}}'', which allow for conditional compiling, hence including or excluding certain code sections depending on given conditions. | ||
* [[$ELSE]] {{Text|used in conjunction with [[$IF]] for the precompiler.}} | |||
: | * [[$ELSEIF]] {{Text|used in conjunction with [[$IF]] for the precompiler.}} | ||
* [[$END IF]] {{Text|used in conjunction with [[$IF]] for the precompiler.}} | |||
* [[$ERROR]] {{Text|used to trigger compiler errors from within the precompiling pass.}} | |||
* [[$IF]] {{Text|used to set an [[IF]] condition for the precompiler.}} | |||
* [[$LET]] {{Text|used to set a variable for the precompiler.}} | |||
* [[$ | |||
* [[$ | |||
* [[$ | |||
* | |||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[Statement]], [[ | * [[Statement]], [[Sub (explanatory)]] | ||
* [[ | * [[Function (explanatory)]] | ||
* [[ | * [[Apostrophe]], [[REM]] | ||
{{ | {{PageReferences}} |
Latest revision as of 20:10, 12 May 2025
Metacommands are commands that start with dollar sign ($). Those commands usually switch the program between different operation modes/behavior or provide extended functionality.
Legacy Metacommands (QBasic/QuickBASIC)
- $DYNAMIC set all program arrays as changeable in size using REDIM.
- $INCLUDE designates a text code library file to include with the program.
- $STATIC set all program arrays as unchangeable in size using DIM.
Legacy style, but QB64-PE only
- $FORMAT controls the code formatting behavior in QB64-PE its IDE and the command line formatting mode (-y switch).
QB64 Metacommands
- $ASSERTS enables debug tests with the _ASSERT macro.
- $CHECKING turns event and error checking OFF or ON.
- $COLOR includes named color name constants in a program.
- $CONSOLE creates a console window that can be used throughout a program.
- $DEBUG enables debugging features, allowing you to step through your code line by line.
- $EMBED is used to embed any file's contents into the compiled executable. Recall the embedded file contents using _EMBEDDED$.
- $EXEICON is used with an .ICO icon file name to embed the image into the compiled executable.
- $INCLUDEONCE prevents that include file contents is injected multiple times into a program.
- $MIDISOUNDFONT (deprecated) enables the MIDI support for _SNDOPEN.
- $NOPREFIX (deprecated) allows QB64-specific keywords to be used without the underscore prefix.
- $RESIZE used with ON allows a user to resize the program window where OFF does not.
- $SCREENHIDE hides the program window from view.
- $SCREENSHOW displays the program window after it was hidden.
- $UNSTABLE will enable the use of features that have not yet been made a permanent part of the language.
- $VERSIONINFO adds metadata to Windows only binaries for identification purposes across the OS.
QB64 Precompiler Commands
- These are a special type of QB64 Metacommands, which allow for conditional compiling, hence including or excluding certain code sections depending on given conditions.
- $ELSE used in conjunction with $IF for the precompiler.
- $ELSEIF used in conjunction with $IF for the precompiler.
- $END IF used in conjunction with $IF for the precompiler.
- $ERROR used to trigger compiler errors from within the precompiling pass.
- $IF used to set an IF condition for the precompiler.
- $LET used to set a variable for the precompiler.
See also