L4G >  Const  

Afficher tout Masquer tout

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.

 

Syntaxe

   Constmot_type liste_var_dim

 

Paramètres

Elément

Description

Restrictions

mot_type

Un des mots-clés utilisés pour les déclarations :
Libelle, Shortint, Date, Integer, Decimal, Char.
Dans le cas de Char, le nom de la
variable est alors suivi de ().

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
suivantes :
nom_var ou
nom_var '(' liste_sep ')'

Aucune.

nom_var

nom_de_variable.

Aucune.

liste_sep

Liste de séparateurs ','
( la place prise habituellement  par l'expression des dimensions  reste vide, seul le nombre de dimensions est ainsi déclaré ).

Pas plus de 3 séparateurs car le nom bre de dimensions  est limité à 4.

 

Exemples

   # 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)

 

Description

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

 

 

Erreurs associées

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).

 

Mots-clés associés

SHORTINT - DECIMAL - CHAR - DATE - INTEGER - LIBELLE - VALUE - VARIABLE - SUBPROG - CALL