The CONST statement globally defines one or more named numeric or string values which will not change while the program is running.
CONST constantName = value[, …]
- 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.
- 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 or FUNCTION return values.
- 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 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.
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"