Metacommand: Difference between revisions
Jump to navigation
Jump to search
Wiki Pages
Main Page with Articles and Tutorials
QB64 specific keywords (alphabetical)
Original QBasic keywords (alphabetical)
QB64 OpenGL keywords (alphabetical)
Keywords by Usage
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 Tag: Reverted |
No edit summary |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Metacommands''' are commands that start with '''dollar sign ($)'''. Those commands usually switch the program between different operation modes/behavior or provide extended functionality. | '''Metacommands''' are commands that start with '''dollar sign ($)'''. Those commands usually switch the program between different operation modes/behavior or provide extended functionality. | ||
Line 6: | Line 5: | ||
| __TOC__ | | __TOC__ | ||
|} | |} | ||
== Legacy Metacommands (QBasic/QuickBASIC) == | == 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]]. | :*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]]. | ||
Line 23: | Line 20: | ||
* [[$CONSOLE]] {{Text|creates a console window that can be used throughout 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.}} | * [[$DEBUG]] {{Text|enables debugging features, allowing you to step through your code line by line.}} | ||
* [[$EXEICON]] {{Text|used with | * [[$EMBED]] {{Text|is used to embed any file's contents into the compiled executable. Recall the embedded file contents using [[_EMBEDDED$]].}} | ||
* [[$MIDISOUNDFONT]] {{Text|enables the MIDI support for [[_SNDOPEN]].}} | * [[$EXEICON]] {{Text|is used with an .ICO icon file name to embed the image into the compiled executable.}} | ||
* [[$NOPREFIX]] {{Text|allows QB64-specific keywords to be used without the underscore prefix.}} | * [[$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.}} | * [[$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.}} | * [[$SCREENHIDE]] {{Text|hides the program window from view.}} | ||
Line 31: | Line 30: | ||
* [[$UNSTABLE]] {{Text|will enable the use of features that have not yet been made a permanent part of the language.}} | * [[$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.}} | * [[$VERSIONINFO]] {{Text|adds metadata to Windows only binaries for identification purposes across the OS.}} | ||
== | == QB64 Precompiler Commands == | ||
:*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. | :*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.}} | * [[$ELSE]] {{Text|used in conjunction with [[$IF]] for the precompiler.}} | ||
Line 50: | Line 48: | ||
{{ | {{PageReferences}} |
Latest revision as of 12:18, 19 November 2024
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.
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