CONST: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "The CONST statement globally defines one or more named numeric or string values which will not change while the program is running. {{PageSyntax}} : CONST {{Parameter|constantName}} = {{Parameter|value}}[, ...] {{Parameters}} * {{Parameter|constantName}} is the constant name or list of names assigned by the programmer. * {{Parameter|value}} is the value to initialize the global constant which cannot change once defined. ** If {{Parameter|constantName}} specif...")
 
No edit summary
Line 36: Line 36:
     {{Cl|INPUT}} "Enter the radius of a circle or zero to quit"; radius
     {{Cl|INPUT}} "Enter the radius of a circle or zero to quit"; radius
     {{Cl|IF...THEN|IF}} radius = 0 {{Cl|IF...THEN|THEN}} {{Cl|END}}
     {{Cl|IF...THEN|IF}} radius = 0 {{Cl|IF...THEN|THEN}} {{Cl|END}}
     {{Cl|PRINT}} circumferenceText; 2 * PI * radius  
     {{Cl|PRINT}} circumferenceText; 2 * PI * radius
     {{Cl|PRINT}} areaText; PI * radius * radius ' radius squared
     {{Cl|PRINT}} areaText; PI * radius * radius ' radius squared
     {{Cl|PRINT}}
     {{Cl|PRINT}}
Line 55: Line 55:


''Example 2'': Using _RGB32 to set a constant's value.
''Example 2'': Using _RGB32 to set a constant's value.
{{CodeStart}} '' ''
{{CodeStart}}
{{Cl|CONST}} Red = _RGB32(255,0,0)
{{Cl|CONST}} Red = _RGB32(255,0,0)



Revision as of 01:18, 23 January 2023

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[, ...]


Template: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

  • The constantName does not have to include a type suffix. The datatype is automatically infered by the compiler using the value.
  • Constant values cannot reference a variable, SUB or FUNCTION return values when defined.
    • The exception to the above are color functions _RGB32 and _RGBA32, which can be used in a CONST statement. See Example 2 below.
  • Constants cannot be reassigned values. They retain the same value throughout all of the program procedures.
  • Constants defined in module-level code have shared scope, so they can also be used in SUB or FUNCTION procedures.
  • Constants defined in SUB or FUNCTION procedures are local to those procedures.
  • CLEAR will not affect or change constant values.


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:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link