CONST: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:




{{Parameters}}
{{PageParameters}}
* {{Parameter|constantName}} is the constant name or list of names assigned by the programmer.
* {{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.
* {{Parameter|value}} is the value to initialize the global constant which cannot change once defined.

Revision as of 01:46, 24 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[, ...]


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