Difference between revisions of "CONST"

From QB64 Wiki
Jump to navigation Jump to search
m (Text replacement - "{{Parameters}}" to "{{PageParameters}}")
(Explicitly states which functions are allowed with CONST)
 
Line 15: Line 15:
{{PageDescription}}
{{PageDescription}}
* The {{Parameter|constantName}} does not have to include a type suffix. The datatype is automatically infered by the compiler using the {{Parameter|value}}.
* The {{Parameter|constantName}} does not have to include a type suffix. The datatype is automatically infered by the compiler using the {{Parameter|value}}.
* Constant values cannot reference a variable, [[SUB]] or [[FUNCTION]] return values when defined.
* Constant values cannot reference a variable or [[FUNCTION]] return values.
** The exception to the above are color functions [[_RGB32]] and [[_RGBA32]], which can be used in a CONST statement. See ''Example 2'' below.
** The exception to the above are the internal functions: [[_PI]], [[_ACOS]], [[_ASIN]], [[_ARCSEC]], [[_ARCCSC]], [[_ARCCOT]], [[_SECH]], [[_CSCH]], [[_COTH]], [[COS]], [[SIN]], [[TAN]], [[LOG]], [[EXP]], [[ATN]], [[_D2R]], [[_D2G]], [[_R2D]], [[_R2G]], [[_G2D]], [[_G2R]], [[ABS]], [[SGN]], [[INT]], [[_ROUND]], [[_CEIL]], [[FIX]], [[_SEC]], [[_CSC]], [[_COT]], [[ASC]], [[_RGB32]], [[_RGBA32]], [[_RGB]], [[_RGBA]], [[_RED32]], [[_GREEN32]], [[_BLUE32]], [[_ALPHA32]], [[_RED]], [[_GREEN]], [[_BLUE]], [[_ALPHA]] (See Example 2 below).
* Constants cannot be reassigned values. They retain the same value throughout all of the program procedures.
* Constants cannot be reassigned values. They retain the same value throughout all of the program procedures.
* Constants defined in module-level code have [[SHARED|shared]] scope, so they can also be used in [[SUB]] or [[FUNCTION]] procedures.
* Constants defined in module-level code have [[SHARED|shared]] scope, so they can also be used in [[SUB]] or [[FUNCTION]] procedures.

Latest revision as of 00:18, 22 May 2021

The CONST statement globally defines one or more named numeric or string values which will not change while the program is running.


Syntax

CONST constantName = value[, ...]


Parameters

  • constantName is the constant name or list of names assigned by the programmer.
  • value is the value to initialize the global constant which cannot change once defined.
    • If constantName specifies a numeric type, value must be a numeric expression containing literals and other constants.
    • If constantName specifies a string type, the value must be a literal value.


Description


Examples

Example 1: Display the circumference and area of circles:

' Declare a numeric constant approximately equal to the ratio of a circle's ' circumference to its diameter: CONST PI = 3.141593 ' Declare some string constants: CONST circumferenceText = "The circumference of the circle is" CONST areaText = "The area of the circle is" DO INPUT "Enter the radius of a circle or zero to quit"; radius IF radius = 0 THEN END PRINT circumferenceText; 2 * PI * radius PRINT areaText; PI * radius * radius ' radius squared PRINT LOOP

Enter the radius of a circle or zero to quit? 10 The circumference of the circle is 62.83186 The area of the circle is 314.1593 Enter the radius of a circle or zero to quit? 123.456 The circumference of the circle is 775.697 The area of the circle is 47882.23 Enter the radius of a circle or zero to quit? 0

Explanation: PI cannot change as it is a mathematical constant so it is fitting to define it as a constant. Trying to change PI will result in a calculation error.


Example 2: Using _RGB32 to set a constant's value.

CONST Red = _RGB32(255,0,0) COLOR Red PRINT "Hello World"

See also



Navigation:
Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page