VARIABLE

Sommaire


Variablepermet de déclarer les arguments d'un sous-programme en spécifiant qu'ils sontpassés par adresse.

 

Syntaxe

   Variablemot_typeliste_var_dim

 

Paramètres

Elément

Description

Restrictions

mot_type

Un des mots-clés utilisés pour lesdé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 de donnéesd'Adonix.

liste_var_dim

Liste devar_dim séparées par le caractère ','.

Aucune.

var_dim

Variable exprimée sous l'une des formes suivantes :
nom_var ounom_var '('liste_sep ')'

Aucune.

nom_var

nom_de_variable.

Aucune.

liste_sep

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

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

 

Exemples

   # Déclaration d'arguments d'un Call
   Subprog SOUS_TRAIT(ARGUM1,ARGUM2,  ARGUM3)
   Variable Integer ARGUM1(,,) :# ARGUM1 est untableau à 3 dimensions
   Variable Char ARGUM2()(,)   :#ARGUM2 est un tableau à 2 dimensions
   Variable DateARGUM3        :# ARGUM3 est une date (sansdimension)

 

Description et commentaires

Variablepermet de déclarer que les arguments d'un sous-programme sont passés paradresse. Les variables déclarées ainsi sont définies dans la classe [L], maiselles pointent sur les variables passées en paramètre du Call. Autrement dit,toute modification faite sur une des variables dans le sous-programme serépercute dans les variables passées en paramètre du Call.

Lorsqu'on ne précise pas l'indice de départ pour un tableau passé enargument, celui commence à l'indice 0, même si dans le traitement appelant, ilest 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)
  VariableCharARGUMENT()()    :# tableau commençant à l'indice 0

   Subprog SOUS_TRAIT1(ARGUMENT)
  VariableCharARGUMENT()(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 leCall.

ERDIM(55)

Lenombre de dimensions déclarées ne correspond pas à la dimension de lavariable passée en paramètre.

ERARGTY(70)

L'argumentpassé 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 - CONST - VALUE - CALL - SUBPROG


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved