CONST: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
{{ | {{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. | ||
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 | * Constant values cannot reference a variable or user [[FUNCTION]] return value when defined. However, other (already known) constants and most of the internal char, math or color functions can be used, such as [[CHR$]], [[EXP]] or [[_RGBA32]]. | ||
* 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. | ||
* Constants defined in [[SUB]] or [[FUNCTION]] procedures are local to those procedures. | * Constants defined in [[SUB]] or [[FUNCTION]] procedures are local to those procedures. | ||
* [[CLEAR]] will not affect or change constant values. | * [[CLEAR]] will not affect or change constant values. | ||
* Since '''QB64-PE v4.0.0''' a huge list of preset [[Constants]] is available in every program. | |||
Line 61: | Line 61: | ||
{{Cl|PRINT}} "Hello World" | {{Cl|PRINT}} "Hello World" | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[DIM]], [[SHARED]] | * [[DIM]], [[SHARED]] | ||
* [[STATIC]], [[COMMON]] | * [[STATIC]], [[COMMON]] | ||
* [[ | * [[Constants]] (Defined by the Compiler) | ||
* [http://doc.pcsoft.fr/en-US/?6510001 Windows 32 API constant values] | * [http://doc.pcsoft.fr/en-US/?6510001 Windows 32 API constant values] | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 18:50, 18 November 2024
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 or user FUNCTION return value when defined. However, other (already known) constants and most of the internal char, math or color functions can be used, such as CHR$, EXP or _RGBA32.
- 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.
- Since QB64-PE v4.0.0 a huge list of preset Constants is available in every program.
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