Metacommand: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
'''Metacommands''' are program wide commands that start with $.
'''{{Text|Metacommands|blue}} are commands that start with {{Text|dollar sign ($)|blue}}. Those commands usually switch the program between different operation modes/behavior or provide extended functionality.'''




{| align="right" style="max-width:25%;"
|  __TOC__
|}
==Legacy Metacommands (QBasic/QuickBASIC)==
==Legacy Metacommands (QBasic/QuickBASIC)==
===Syntax===
:*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]].
:REM [[$INCLUDE]]: '[[QB.BI]]' 'loads a reference file or library
 
:REM [[$DYNAMIC]] 'enables resizing of array dimensions with REDIM
 
:REM [[$STATIC]] 'arrays cannot be resized once dimensioned
 
===Description===
* QBasic Metacommands are normally used at the program start and are in effect throughout the program.
* QBasic Metacommands are always prefixed with $ and MUST be commented with an apostrophe or [[REM]].
* [[$INCLUDE]] is always followed by a colon and the full text code file name is commented on both sides.
* [[$DYNAMIC]] allows larger arrays that are changeable in size at runtime.
* [[$STATIC]] makes all arrays unchangeable in size.
* '''QBasic metacommands should have their own program line because they are commented.'''




==QB64 Metacommands==
==QB64 Metacommands==
===Syntax===
:*QB64 metacommands must not necessarily used at the program start. However, it's still the best location for some of it (see individual descriptions).
:[[$CHECKING]]{OFF|ON} 'disables QB64 C++ event and error checking (no spaces)
:*QB64 metacommands must not be commented with an ''[[Apostrophe|']]'' or [[REM]], but should have their own program line too.
 
:[[$CONSOLE]] 'creates a QB64 console window throughout the program
 
:[[$RESIZE]]:{ON|OFF} 'determines if re-sizing of the program screen by the user is allowed(no spaces)
 
:[[$SCREENHIDE]] 'hides the QB64 program window throughout the program
 
:[[$SCREENSHOW]] 'displays the main QB64 program window
 
:[[$EXEICON]]:'iconfile.ico' 'embeds an .ICO file into the final executable (Windows only)
 
:[[$VERSIONINFO]]:key=value 'embeds version info metadata into the final executable (Windows only)
 
:[[$IF]]...[[$END IF]] 'precompiler directive




===Description===
==OB64 Precompiler Commands==
* [[$INCLUDE]] can be used at the beginning or at the end of program SUB procedures.
:*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.
* [[$CHECKING]]:OFF should only be used with '''errorless''' code where every CPU cycle counts! Use '''ON''' to re-enable event checking. Event checking can be turned OFF or ON throughout a program.
* [[$CONSOLE]] creates a console window which can be turned off later with [[_CONSOLE]] OFF.
* [[$RESIZE]]:ON allows a user to resize the program window. OFF is default.
* [[$SCREENHIDE]] hides the QB64 program window throughout the program until [[$SCREENSHOW]] is used.
* [[$IF]]...[[$END IF]] allows selective inclusion of code in the final program.
* '''Do not comment out with ' or [[REM]] QB64-specific metacommands.'''




Line 53: Line 23:
* [[DIM]], [[REDIM]]
* [[DIM]], [[REDIM]]
* [[ON TIMER(n)]]
* [[ON TIMER(n)]]




{{PageNavigation}}
{{PageNavigation}}

Revision as of 22:02, 11 July 2022

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)

  • Legacy metacommands are normally used at the program start, they should have their own program line and must be commented with an ' or 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 ' or REM, but should have their own program line too.


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


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link