From Clomosy Docs
This page contains commonly used keywords and directives in the programming language. Keywords form the fundamental building blocks of a programming language and are used to perform specific tasks. Acting as commands, these words manage the control flow, data structures, and other essential operations within a program. The correct use of keywords during programming is crucial for building error-free and efficient code.
Below is a list of the main keywords used in the programming language. Understanding these keywords will help you grasp the structure of the language and use the correct syntax when developing software.
NOTE: A keyword should not be used as a variable name.
var
The var keyword is used for defining variables. To create a variable, var is used to specify the name and type of the variable. This keyword allocates memory in the program to store a specific data type.
Example:
Var appName : String; year : Integer; { appName = 'Clomosy'; year = 2023; ShowMessage('appName = '+appName ); ShowMessage('Year = '+IntToStr(year)); }
Xor
As a logical operator, xor combines two or more conditions and checks whether only one of them is true. If only one of the conditions combined with xor is true, the result will be true; however, if both conditions are true or both are false, the result will be false. This operator is useful for expressing the logic of "either one or the other" between conditions.
Example
var num1, num2, num3 : Integer; letter : Char; { num1 = $25; num2 = $10; letter = 'G'; if ((num1 > 0) Xor (letter == 'G')) ShowMessage('Both values are true') else ShowMessage('None or only one true value'); num3 = num1 Xor num2; ShowMessage('25 And 32 = '+ IntToStr(num3)); }
Not
It is used as a logical operator to negate a condition; that is, the not operator evaluates a condition as false if it is true, and as true if it is false. This way, it is useful for altering the logical states of conditions.
Example
var num1, num2 : Word; { num1 = $2C; // Binary value : 0000 0000 0010 1100 // Not'ed value : 1111 1111 1101 0011 = $FFD3 // And used to return a Boolean value if Not (num1 > 0) ShowMessage('num1 <= 0') else ShowMessage('num1 > 0'); // And used to perform a mathematical NOT operation num2 = Not num1; // Display the result ShowMessage('Not $2C = $'+IntToHex(num2,2)); }
Array
The Array provides single and multi dimensional arrays (indexable sequences) of data. Dynamic arrays have no preallocated storage. When defined, only a pointer is created. For detailed information, visit the page.
As
The as keyword is used for type casting. It is particularly useful in object-oriented programming when a object needs to be converted from one type to another. This operation should only be performed between compatible types; otherwise, an error will occur.
Case
The Case keyword provides a structured equivalent to a sequence of if statements on the same variable. The case statement is more elegant, more efficient, and easier to maintain than multiple if nestings.The brief definition is as follows.
Example
var day: Integer; dayName: String; { day = 3; // Example day number case day of { 1: dayName = 'Monday'; 2: dayName = 'Tuesday'; 3: dayName = 'Wednesday'; 4: dayName = 'Thursday'; 5: dayName = 'Friday'; 6: dayName = 'Saturday'; 7: dayName = 'Sunday'; else dayName = 'Invalid day'; // If the given day number is not between 1-7 } ShowMessage('Day: ' + dayName); }
Const
The const keyword is used to define constant values. Constants are values that remain unchanged during the execution of the program. A constant defined with const takes a value of a specific type, and this value cannot be altered after its declaration. This feature enhances the reliability and readability of the code.
const pi = 3.14;
Div
The Div keyword gives the whole number result of dividing the Dividend by the Divisor. Any remainder is discarded.
Dividend div divisor
For detailed information, see the page.
downto
It is used to indicate that the count in a loop should be done in decreasing order. The loop variable progresses from a specified starting value to an end value by decreasing.
Example
var i: Integer; { // Counting down from 5 to 1 for (i = 5 downto 1) { ShowMessage('i = ' + IntToStr(i)); } }
Else
The Else keyword is part of the If and Case statements. It is used to start the section of code executed when earlier conditions are not satisfied.
If for;
var score: Integer; { score = 75; if (score >= 50) ShowMessage('Passed') else ShowMessage('Failed'); }
Case for;
var choice: Integer; { choice = 1; case choice of { 0: ShowMessage('Choice 0'); else ShowMessage('Invalid choice'); } }
Try
It is used for error handling and management. The try block ensures the safe execution of a specific piece of code. If an error occurs within the try block, the error can be caught and handled by the except or finally blocks.
Example
var number, zero : Integer; { number = -1; Try zero = 0; number = 1 div zero; ShowMessage('number / zero = '+IntToStr(number)); finally ShowMessage('Number was not assigned a value - using default'); } }
Except
The Except keyword is used to mark the start of a block of statements that handle an exception in a Try clause. If the Except block can handle the exception, then the program is not terminated.
For more detailed information, see the page.
Finally
Regardless of whether an error occurs in the try block, the code in the finally block always executes. This is useful to ensure that important tasks, such as resource deallocation or cleanup operations, are always carried out.
For more detailed information, see the page.
Repeat
The repeat keyword allows a block of code to be repeated until a specific condition is met. It is used in conjunction with the until keyword to check the loop condition. This structure ensures that the code within the loop is executed at least once.
Until
The until keyword is used in conjunction with the repeat statement to define the condition that terminates the loop. The loop continues to execute until the specified condition evaluates to true. This means that the block of code will keep running until the condition becomes true, making it useful for scenarios where you want the code to execute at least once before checking the condition.
Example
var counter: Integer; { counter = 1; repeat ShowMessage('Counter: ' + IntToStr(counter)); counter = counter + 1; until counter > 5; }
For
The for structure is a control structure used to create a loop under a specific condition. It is ideal for performing a certain number of repetitions or iterating over an array. A for loop typically starts with a variable at a beginning value and progresses to an end value, with a specific increment or decrement on each iteration.
Example
var i : Integer; { For (i = 1 to 6) ShowMessage('i = '+IntToStr(i)); }
While
The while keyword is a control structure used to repeatedly execute a block of code as long as a specific condition is met. This loop continues to run as long as the condition evaluates to true. Due to the fact that the condition is evaluated before entering the loop, it guarantees that the code within the loop may not execute at all if the condition is not satisfied. This is useful for avoiding infinite loops and ensuring a specific state is achieved.
Example
var count: Integer; { count = 0; while (count < 5) { ShowMessage('Count: ' + IntToStr(count)); count = count + 1; } }
With
The With keyword is a convenience provided by Clomosy for referencing elements of a complex variable, such as a record or object.
It simplifies the code by removing the need to prefix each referenced element with the complex variable name. See the With keyword for full details.
Function
The Function keyword is used to define a function that performs a specific operation and returns a value in a programming language. Functions allow code to be modular, providing the ability to reuse the same operation in different places. See page for detailed information.
Void
It is used to define a procedure in a programming language that performs a specific task and does not return a value. See the TRObject_Language#Procedures tutorial for details on using void.
If
The If keyword is used to control the flow of code depending on the logical result of the given condition. See page for detailed information.
Mod
The Mod keyword gives the remainder from dividing the Dividend by the Divisor. The whole number result of the division is ignored.
See page for detailed information.
For more detailed information, please refer to the TRObject Language page.