forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
CONST
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
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"