Const permet de déclarer les arguments d'un sous-programme en spécifiant qu'ils sont passés par adresse, mais sans possibilité de modification.
Constmot_type liste_var_dim
Elément | Description | Restrictions |
mot_type | Un des mots-clés utilisés pour les déclarations : | Ce doit être un type d'Adonix. |
liste_var_dim | Liste de var_dim séparées par le caractère ','. | Aucune. |
var_dim | Variable exprimée sous l'une des formes | Aucune. |
nom_var | nom_de_variable. | Aucune. |
liste_sep | Liste de séparateurs ',' | Pas plus de 3 séparateurs car le nom bre de dimensions est limité à 4. |
# Déclaration d'arguments d'un Call
Subprog SOUS_TRAIT(ARGUMENT1, ARGUMENT2, ARGUMENT3)
Const Integer ARGUMENT1(,,) :# ARGUMENT1 est un tableau à 3 dimensions
Const Char ARGUMENT2()(,) :# ARGUMENT2 est un tableau à 2 dimensions
Const Date ARGUMENT3 :# ARGUMENT3 est une date (sans dimension)
Const permet de déclarer que les arguments d'un sous-programme sont passés par adresse, mais ne pourront pas être modifiés par le sous-programme. Les variables ainsi déclarées sont accessibles en lecture seulement.
Lorsqu'on ne précise pas l'indice de départ pour un tableau passé en argument, celui commence à l'indice 0, même si dans le traitement appelant, il est déclaré commençant par un autre indice. Exemple :
# Appel des sous-programmes
Local Char ARGUMENT(30)(1..6)
Call SOUS_TRAIT0
Call SOUS_TRAIT1
Subprog SOUS_TRAIT0(ARGUMENT)
Const Char ARGUMENT()() :# tableau commençant à l'indice 0
Subprog SOUS_TRAIT1(ARGUMENT)
Const Char ARGUMENT()(1..) :# tableau commençant à l'indice 1
Erreur | Description |
ERMODE (10) | Incompatibilité de type entre la déclaration de l'argument et le paramètre passé dans le Call. |
ERDIM (55) | Le nombre de dimensions déclarées ne correspond pas à la dimension de la variable passée en paramètre. |
ERARGTY (70) | L'argument passé au Call est une expression (elle ne peut être passée que par valeur). |