DEFAULT |
Defaultpermet de définir la priorité de recherche des variables dans les différentesclasses de variables (fichiers, masques), la priorité de recherche de manièregénérale d'une variable donnée sans classe, ou la classe de création par défautde variables Adonix.
Defaultest aussi utilisé dans la syntaxe d'une alternative Case (When
DefaultMask classe | liste_classes
DefaultFile classe | liste_classes
Default liste_classes
Default classe
Default Local
DefaultGlobal
Elément | Description | Restrictions |
Liste de classes séparées par lecaractère ','. | Aucune. | |
Désigne une abréviation de masque dansla syntaxe Default Mask, une abréviation de fichier dans la syntaxe DefaultFile. | Les classes doivent être accessibles. |
# Seules les classes suivantes sont accessibles pour une variable
# dont on ne précise pas la classe, et dans l'ordre donné
Default [S], [L], [V], [C], [M:XY]
# Par défaut, les variables sans classe seront cherchées en classe [L]
Default [L]
# Par défaut, les variables inexistantes sont créées en classe [L]
Default Local
# Avec l'ordre précédent, la variable I est créée dans la classe [L]
# avec le type Decimal si elle n'existait pas au préalable
For I = 1 To 100 : Infbox num$(I) : Next I
# [CLI] doit être utilisé par défaut pour toute variable de masque
# et le fichier par défaut sera [PROD]
Default Mask [CLI]
Default File [PROD ]
# On désire que par défaut les variables soient recherchées dans
# les masques (dans l'ordre [CLI],[PRO],[REP], suivis des autres
# masques), puis dans les classes [L] et [C] exclusivement.
Default Mask [REP]
Default Mask [PRO]
Default Mask [CLI]
Default [M], [L], [C]
# On désire que les classes par défaut soient d'abord [C], puis [L],
# puis [V], puis les autres classes dans l'ordre habituel.
Default [V] : Default [L] : Default [C]
# On désire que par défaut les variables soient recherchées
# dans la liste des masques (dans l'ordre [CLI],[PRO],[REP])
Default Mask "[CLI],[PRO],[REP]"
# On désire que par défaut les variables soient recherchées
# dans la liste des fichiers (dans l'ordre [FI1],[FI2],[FI3])
Default File "[FI1],[FI2],[FI3]"
# Les variables seront recherchées dans les fichiers, puis dans les
# masques, puis dans les classes [V] et [S] exclusivement. Les masques
# accessibles sont dans l'ordre [CLI],[PRO],[REP], et les fichiers
# accessibles sont dans l'ordre [FI1],[FI2],[FI3].
File [FI1], [FI2], [FI3]
Mask CLIENT [CLI], PRODUITS [PRO], REPRES [REP]
Default [F], [M], [V], [S]
# Seule la classe [V] est utilisable pour les variables sans classe
Default [V], [V]
L'ordre Defaultpermet de définir l'ordre dans lequel Adonix essaie de trouver les variablesdont la classe n'est pas précisée, avec les diverses syntaxes donnéesci-dessous :
La syntaxe DefaultMask permet de préciser quel est le masque par défaut. Ce masque par défautsera utilisé :
La syntaxe DefaultFile permet de préciser quel est le fichier par défaut. Ce fichier par défautsera utilisé :
La syntaxe Defaultclasse permet de préciser quelle est la classe de variables à utiliser pardéfaut lorsqu'une variable n'est précédée d'aucune indication de classe. Si lavariable ne peut être trouvée dans la classe par défaut, la recherche peut êtrefaite dans les autres classes.
La syntaxe Defaultliste_classes permet de donner une liste exhaustive de classes (il faut qu'il yen ait au moins deux) pour la recherche de variables lorsqu'aucune classe n'estprécisée. A partir du moment où une liste de classes est donnée, seules lesclasses de la liste sont utilisées pour la recherche des variables. Attention,si on exclut la classe [S] de cette liste, on n'a plus accès aux variablessystème Adonix sauf si elles sont précédées de [S].
Les deux syntaxes DefaultLocal et DefaultGlobal permettent de définir la classe utilisée pour la création par défaut devariables. Rappelons que des variables peuvent être créées automatiquement parun traitement, une procédure ou un menu, lors d'une affectation. Si la variableà laquelle on affecte une valeur n'a pas de classe, et si elle n'existe pas,elle sera automatiquement créée avec un type correspondant au type del'expression affectée, choisi parmi Date, Decimal et Char de longueur maximale.La classe dans laquelle la variable sera créée est donc [V] si l'on a utilisé
Adonix maintient à tout instant une liste des classes par défaut, une listedes masques par défaut, une liste des fichiers par défaut, et une fenêtre pardéfaut. Ces listes sont utilisées dans les recherches de variables et pourdéfinir des arguments par défaut.
La liste des masques par défaut est modifiée par :
La liste des fichiers par défaut est modifiée par :
La liste des classes par défaut est mise à jour par :
La liste des classes par défaut est rétablie au retour d'un sous-programme.
Si l'on désire donner plusieurs classes par défaut sans donner une listeexclusive de classes, il suffit d'écrire plusieurs ordres
APRESL'ORDRE... | LA LISTEDES DEFAULTS EST ... |
| cl1 cl2 cl3 x cl4 y z ... |
Dans un traitement l'option utilisée par défaut est
Attention à ne pas confondre
Attention à ne pas omettre [S] dans la liste des classes lorsqu'on donne uneliste exhaustive dans un ordre Default. En effet, dans ce cas, toutes les variablessystème Adonix deviennent inaccessibles, sauf si on fait systématiquementprécéder leur nom par [S].Lorsqu'on met [M] dans une liste de classes pardéfaut, ceci signifie l'ensemble des masques de la liste des masques pardéfaut. De même, lorsqu'on utilise [F], il s'agit de la liste des fichiers pardéfaut.
Ces listes de masques et de fichiers sont les listes courantes, et ellessont susceptibles, en évoluant, de faire évoluer la liste des classes pardéfaut. Par exemple :
File [FX], [FY], [FZ]
Mask [M1], [M2], [M3]
# Après l'ordre ci-dessous, les classes par défaut sont dans l'ordre :
# [V], [S], [FX], [FY], [FZ], [M1], [M2], [M3], [C]
Default [V], [S], [F], [M], [C]
#
# Après les ordres File et Mask ci-dessous, les classes par défaut
# deviennent : [V], [S], [FA], [FB], [M1], [C]
File [FA], [FB] : Mask [M1]
En l'absence de tout ordre Default, lorsqu'on exécute un programme, les classes pardéfaut sont celles qui seraient données par l'ordre:
Default[S], [L], [V], [M], [F]
ERCLAS( 7) | Laclasse n'existe pas (dans le cas d'un masque ou d'un fichier, ceci signifiequ'il n'a pas été déclaré dans le dernier ordre Mask ou File). |
Adonix X3(r) L4G |