Difference between revisions of "Metacommand"

From QB64 Wiki
Jump to navigation Jump to search
imported>Clippy
m
imported>SMcNeill
(adds $IF..$END IF)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Qbasic '''Metacommands''' are program wide commands that start with $. QBasic requires them to be commented out.
+
'''Metacommands''' are program wide commands that start with $.
  
  
 +
==Legacy metacommands (Qbasic/QuickBASIC)==
 +
===Syntax===
 +
:REM [[$INCLUDE]]: '[[QB.BI]]' 'loads a reference file or library
  
QB {{PageSyntax}}
+
:REM [[$DYNAMIC]] 'enables resizing of array dimensions with REDIM
  
::REM [[$INCLUDE]]: '[[QB.BI]]' 'loads a reference file or library
+
:REM [[$STATIC]] 'arrays cannot be resized once dimensioned
  
::REM [[$DYNAMIC]] 'enables resizing of array dimensions with REDIM
+
===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.'''
  
::REM [[$STATIC]] 'arrays cannot be resized once dimensioned
 
  
 +
==QB64 metacommands==
 +
===Syntax===
 +
:[[$CHECKING]]{OFF|ON} 'disables QB64 C++ event and error checking (no spaces)
  
QB64 {{PageSyntax}}
+
:[[$CONSOLE]] 'creates a QB64 console window throughout the program
::[[$CHECKING]]:{OFF|ON} 'disables QB64 C++ event checking (no spaces)
 
  
::[[$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 until [[$SCREENSHOW]] is used
+
:[[$SCREENHIDE]] 'hides the QB64 program window throughout the program
  
::[[$SCREENSHOW]] 'displays the main QB64 program window throughout the program after [[$SCREENHIDE]] has been used
+
:[[$SCREENSHOW]] 'displays the main QB64 program window
  
 +
:[[$EXEICON]]:'iconfile.ico' 'embeds an .ICO file into the final executable (Windows only)
  
<center>'''Qbasic Metacommands'''</center>
+
:[[$VERSIONINFO]]:key=value 'embeds version info metadata into the final executable (Windows only)
* Qbasic Metacommands are normally used at the program start and are in effect throughout the program.
 
* 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.
 
* [[$STATIC]] makes all arrays {{KW|STATIC}} or unchangeable in size. Use {{KW|DIM}} only!
 
* [[$DYNAMIC]] allows larger arrays that are changeable in size. Use {{KW|REDIM}} for changeable sizes! [[_PRESERVE]] preserves contents.
 
* Metacommands should have their own program line when commented.
 
  
 
+
:[[$IF]]...[[$END IF]] 'precompiler directive
<center>'''QB64 Metacommands'''</center>
 
* QB64 does not require a comment or [[REM]] before any Metacommand. '''Do NOT comment QB64 specific Metacommands!'''
 
* [[$INCLUDE]] can be used at the beginning or at the end of program SUB procedures. Reference elsewhere create an [[ERROR Codes|error]]!
 
* [[$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. Commands have no spaces and are '''NOT''' commented out!
 
 
 
* '''Do NOT comment or [[REM]] QB64 specific Metacommands! Comment or REM Qbasic ones only!'''
 
  
  
 +
===Description===
 +
* [[$INCLUDE]] can be used at the beginning or at the end of program SUB procedures.
 +
* [[$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.'''
  
  
 
{{PageSeeAlso}}
 
{{PageSeeAlso}}
 
 
* [[Statement]], [[Function (explanatory)]]
 
* [[Statement]], [[Function (explanatory)]]
 
* [[REM]]
 
* [[REM]]

Latest revision as of 19:42, 5 September 2017

Metacommands are program wide commands that start with $.


Legacy metacommands (Qbasic/QuickBASIC)

Syntax

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

Syntax

$CHECKING{OFF|ON} 'disables QB64 C++ event and error checking (no spaces)
$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

  • $INCLUDE can be used at the beginning or at the end of program SUB procedures.
  • $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.


See also




Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page